Data Acquisition (DAQ) and Control from Microstar Laboratories

Knowledge Base: Processing

  • See the list of other topics for category Processing

Q10029 Can I display FFTs in real time?

Tags: Help, DAP, DAPL, processing, DSP, FFT, real-time, graphics

Applies to: All DAP models, all DAPL versions

I have a multi-channel operation monitoring vibrations, so I need lots of FFT processing. Because of the many channels, I operate my DAP board very near its maximum sampling rates. To verify that my data are good, I would like to display the FFTs in real time. Can I do this?

The answer is no, yes, or maybe depending on what you are really asking.

If you are asking about FFT analysis in general: probably no, but this depends what time delays your application can tolerate. Suppose for example that you have an effective 10000 samples per second sampling rate on each channel. If you are doing an 8192-length FFT, there will be a time delay of about 0.8 seconds just to collect the data! If your real-time requirements are to respond in less time than this, it is a theoretical impossibility.

If you are asking about whether DAP boards can sustain continuous FFT processing at maximum rates without backlog, the answer is typically yes for the high-end boards or no for the low-end DAP boards. There is some dependence on the transform block size. An xDAP should be able to sustain 60000 point FFTs on one channel, or 8192 point FFTs on 8 channels, continuously at 1 million sample per second rates. Higher-end PCI-bus DAP boards can compute transforms continuously for smaller lengths (1024 or less) at maximum rates. For longer transform blocks or lower-end DAP models, you will need a lower composite data rate.

If you are asking about whether a DAP can both sustain FFT processing and transfer all of the data over its host bus at maximum data rates, probably no. One activity robs the other of processing capacity. You should be able to sustain operation at half maximum rates, however. This allows each activity half of the processor capacity.

If you are asking about whether your host computer can display all of this data, it can't. Graphical software presents a one-dimensional (though complex valued) FFT in a two dimensional manner at a different resolution level. It must do this through operating system services that are extremely slow compared to "real-time" rates of a DAP at full capacity. Displays that appear "real-time" are possible by displaying data selectively, and tolerating a considerable time delay. To a certain extent, your application can adjust the tradeoff between data reduction and time delay.