Creating Custom Filters

IDL provides the DIGITAL _FILTER function to allow you to compute your own data filters. This section gives a quick overview of how a Bandstop Finite Impulse Response (FIR) Filter works.

FIR filters are digital filters that have an impulse response that reaches zero in a finite number of steps. An FIR filter can be implemented non-recursively by convolving its impulse response with the time data sequence it is filtering. FIR filters are somewhat simpler than Infinite Impulse Response (IIR) filters, which contain one or more feedback terms and must be implemented with difference equations or some other recursive technique.

sigprc11iplot.gif

The DIGITAL_FILTER function constructs lowpass, highpass, bandpass, or bandstop filters. The figure at right plots a bandstop filter that suppresses frequencies between 7 cycles per second and 15 cycles per second for data sampled every 0.02 seconds.

Type @sigprc10 at the IDL prompt to run the batch file that creates this display. The filter consists of 10 IDL statements, plus a call to the IPLOT routine for display. The source code is located in sigprc10, in the examples/doc/signal directory. View the code to start learning how to create your own custom filters. See Signal Processing for more information.