[kepler-dev] domain for signal procesing

Tobin Fricke tobin at splorg.org
Wed Jun 16 15:57:20 PDT 2004


Ptolemy's ``simple signal processing'' examples work with sampled data
that have globally synchronous sampling points and a fixed, universal
sampling rate; these examples therefore are well-suited to the SDF domain.

I'm wondering what would be the best model of computation for a more `real
world' signal processing system.  Signals could have idiosyncratic
sampling rates and sampling that is in general not synchronized.  Here
each token is a measured value of a signal at an associated time stamp,
and relations have an associated `sample rate' property.  This sounds very
much like the distributed discrete events (DDE) domain.

An actor might have two inputs providing non-synchronized data streams at
differing sample rates.  The actor would have to interpolate and resample
these incoming data streams in order to act on them (say, to compute their
sum) and ultimately produce a sampled output at a sample rate agreeable to
downstream consumers.

In this case, data streams are representations of band-limited continuous
signals.  What would be an appropriate way of dealing with these in
Ptolemy?

- Provide continuous-time estimators in the sampled data sources and use
  (something like) the Continuous Time domain?

- Provide explicit interpolation/resampling actors, carefully set the
  sample rate of each actor and each relation, and use the SDF domain?

- Equip actors with interpolation/resampling abilities, and use the DDE
  domain?

- Some fancy scheme whereby the Director resamples signals and provides
  actors with synchronized samples?

Ideas/comments/referrals to literature would be appreciated.

thanks,
Tobin Fricke




More information about the Kepler-dev mailing list