Using the DASYLab FFT Module - Selecting the Frequency Range and Resolution
DasyLAB D196 Some tips on getting started with the FFT Module (Modules -> Signal Analysis) The FFT module (Modules -> Signal Analysis) provides various FFT functions to calculate and analyze the spectrum of a signal. The FFT module is capable of several different types of analysis, which can be selected within the module configuration. The options are; amplitude spectrum, power spectrum, power density spectrum and phase spectrum. This note applies to the default mode of analysis - amplitude spectrum. Dasylab displays the output from an FFT module on a Y/t graph module; the time axis is automatically converted to frequency when this module is connected to the output of a FFT. Frequency is displayed on the horizontal axis, and amplitude on the vertical axis. The characteristics of the Amplitude Spectrum are determined by a number of factors: 1. The maximum frequency in the spectrum (the maximum value on graph x axis in + and - directions) is equal to the sample rate of data going into the FFT module, divided by two. This is the maximum discernible frequency in a sampled data system, from Nyquist Theorem, and is also known as the Nyquist Frequency. To verify the sample rate going into the FFT, run the worksheet and click the right mouse button on the wire connected to the input. In most cases the sample rate will be the global sample rate, which is edited in the Experiment Setup dialog. 2. The display resolution of the FFT is determined by the input block size. The number of points in the output FFT is equal to the input block size, which must also be a power of two. A "data window" (Modules -> Signal Analysis) can be used to adjust the input block size. One FFT is performed per input block of data. Resolution of display is usually not the limiting factor in determining the maximum resolution of frequency components. The uncertainty principle is more important. The uncertainty principle is a basic signal processing theory describing the phenomena of band broadening in the frequency domain due to short sample time in the time domain. For example, a block size of 512 sampling at 200 Hz would give a display resolution of 100/512= 0.2Hz. However we found that it was difficult to resolve 24 Hz and 24.5 Hz components with these settings - a block size of 1024 was required to give sharper peaks which could be resolved (see snapshots.) A block size of 1024 at 200 Hz corresponds to measuring 5s worth of data per FFT snapshot. 3. If you know the basic frequency of the signal (25 Hz in this case) it is always good to adjust the analysis interval to an integer multiple of the fundamental interval. (Of course you can only do this if the basic frequency is known and constant.) This means nothing more than utilizing more a priori information on the signal. And it is true for frequency analyis as well as for all other types of analysis: the more you know the better the results. Example: Set DL sample rate of 1024 - maximum fft display frequency is +/- 512Hz Set Block size to 1024 - display resolution is 1 Hz ( DL sample rate / Block size) (The graph has 1024 points to spread across the x axis of -512Hz to + 512Hz, so distance between points = 1 Hz) The time corresponding to one block of data is equal to the block size divided by the sample rate. This means that the time window for each FFT is 0.5 seconds If your signal frequency components are changing in a shorter time window than this, you would need to adjust the sample rate, and block size to match the required time window, resolution and frequency range. In practise it will be necessary to set the sample rate to at least twice the frequency of the highest harmonic you wish to look at, and then experiment with increasing and varying the block size until you get a satisfactory result. Make the block size as large as possible, in order to get sharper frequencies peaks (better resolution). The maximum blocksize will be limited by the frequency at which you measure changes in the characteristics of your system. If the system is in a steady or slowly varying state, the blocksize can be larger which will give better resolution. If the base signal frequency is known, the time window (sample rate/block size) should be an integer multiple of the fundamental interval. If you do not have DASYLab, you can try out the techniques described in this email using the DASYLab demo, which can be downloaded here: http://www.adeptscience.co.uk/download/dldcat/10/0/All/DASYLab.html UPDATE Thank you to Ian Lambley of Northern Software Developments http://norsoftdev.com for providing an essential tip for anyone going about frequency analysis. If the signal contains frequency components greater than half the rate at which you are sampling (the Nyquist frequency), then a hardware anti-aliasing filter should be added on each channel to remove these high frequency components before the signal is sampled. A simple RC filter is not suitable as it does not have a sharp cutoff frequency. You could, for example, use one of the following types of lowpass filter: 1. Butterworth - flat ripple free up to fc/2, attenuation at fc=3dB. 2. Bessel filters - linear phase-frequency characteristic. 3. Chebyshev - sharper cutoff frequency than the other two. When the spectrum is obtained, ignore the higher frequency part where there is a chance of foldback and where the filter induced phase shift may be unacceptable. When the Fourier transform of the signal is obtained, the frequency resolution is 1/T, where T is the duration of the measurement. For fine resolution and the avoidance of aliasing, it is therefore necessary to capture large quantities of data. Further Reading 1. An Interactive Multimedia Introduction to Signal Processing - Ulrich Karrenberg - ISBN 3-540-43509-3 2. Analog & Digital Signal processing - Ashok Ambardar - ISBN 0-534-94086-2 3. Frequency Analysis - Bruel & Kjaer - ISBN 87-87355-07-8 DasyLAB All en Y