

Igor implements FIR digital filtering primarily through time-domain convolution using the Smooth or FilterFIR commands. When this is done, you can see that the filter´s output is changing before any input signal has arrived! This is sometimes referred to as "acausal filtering". When comparing the input and output of FIR-filtered signals, it is usual to shift the input or output in time to reduce linear phase to zero phase as in the graph shown above. (This is particularly important when processing television signals to keep the color signal aligned with the brightness signal). This means that the time-relation between all frequencies of the input signal is undisturbed only the relative amplitudes are affected. "Finite Impulse Response" means that the filter´s time-domain response to an impulse (or "spike") is zero after a finite amount of time:įIR filters have a very useful property: they can (and usually do) exhibit linear phase shift for all frequencies, a feat impossible for an analog or IIR filter. The Igor Filter Design Laboratory (IFDL) package can also be used to design and apply digital filters. Using the Convolve operation directly is another way to perform digital filtering, but that requires more knowledge than using the Filter Design and Application Dialog discussed below. Other forms of digital filtering exist in Igor, significantly the various Smoothing operations, which includes Savitzky-Golay, Loess, median, and moving-average smoothing. Each one can implement a filter that passes or rejects bands of frequencies, but the mathematics and implementations differ significantly. Igor can design and apply Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) digital filters. For example, low-pass filters preserve low frequencies and reject high frequencies.Īpplying a filter to an input waveform results in a "response" output waveform.

Wide-Angle Neutron Spin Echo Spectroscopyĭigital filters are used to emphasize or de-emphasize frequencies present in waveforms.
