Triana Help Index, Time-Domain Filtering in Triana

Frequency-Domain Filtering in Triana


Index


Triana Units for Frequency-Domain Filtering

There are a number of units in Triana that perform filtering operations in the frequency domain. In this help file we list the units and then suggest ways to use them to solve important filtering problems.

The main frequency-domain filtering units and associated units are:

In addition there are units that are useful for display: Grapher, MultiGraph, ImageMapper, and ImageView. For a description of Triana's time-domain filtering units, see the separate help file on Time-Domain Filtering in Triana.

Understanding Frequency-Domain Data Storage in Triana

Triana stores spectral data in data types like Spectrum, ComplexSpectrum, TimeFrequency, and Spectrum2D. Spectrum and ComplexSpectrum are essentially identical except that the data in Spectrum are real and in ComplexSpectrum complex. TimeFrequency is a two-dimensional data set, one dimension of which is spectral and the other time, so that it normally represents a sequence of spectra taken at different times. Spectrum2D is a genuine two-dimensional spectrum, such as might be obtained by performing an FFT on an image or other matrix. Both TimeFrequency and Spectrum2D can hold either real or complex data. Since FFTs generally produce complex output, the type Spectrum is normally used only for the output of units the produce power spectra or related objects.

One-dimensional spectral data (including the spectral dimension of TimeFrequency) can generally be stored in several different ways.

Narrow-band data sets can be either one-sided or two-sided. Similarly one-sided data sets can be either wide-band or narrow-band. Narrow-band data sets keep a memory of how large the spectrum was from which they were filtered. This amounts effectively to remembering the highest frequency contained in that original spectrum, which is called the Nyquist frequency of the data set. This term is used in the filtering units, some of which offer the user the ability to reduce the Nyquist frequency. This means that the "memory" about the original spectrum will be altered so that, when the set is restored to a full-spectrum set, the highest frequency will be smaller. If the spectrum is FFT'd back to the time domain, then the sampling rate in the time domain will be correspondingly smaller, since this sampling rate is exactly twice the Nyquist frequency. Thus, lowering the Nyquist frequency will result in down-sampling of the time-domain data set associated with the spectrum.

Triana employs these various storage models in order to save memory usage. In many applications, such as when spectra are divided into separate bandwidths, using full-bandwidth data would mean replicating many useless storage locations. However, because Triana data sets are self-describing, most Triana units that deal with spectra are written in such a way that they will automatically do the right thing with data, regardless of its storage format. Users need to be aware of the different storage models, however, when they display them, combine them, or make use of their special properties. There is more detail on this subject in the help file for the Triana Spectral Model, which also defines the model completely.

For two-dimensional spectral data, narrow-banding in each dimension makes sense, but one-sidedness has limited value, since data can be reflected through two different zero-frequency lines. Therefore Triana generally uses only full-bandwidth 2D data sets.


Using Frequency-Domain Filtering Tools

Most of the tools offer the user options in their parameter windows. Naturally, filtering units must be told the frequencies they are to select. In addition, three choices appear in many of the units: "Output narrow band", "Choose window ...", "Reduce Nyquist frequency ...". They are explained here.

 

Examples

Here are some examples of how to use the frequency-domain filtering tools. Each one refers to a group unit in the Demos toolbox of SignalProc.