From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Life Science

Showing results for 
Search instead for 
Did you mean: 

Using FFT for EEg signal monitoring

Go to solution

I saw in old thread some posted:


Spectral monitoring of EEG signals is pretty straightforward.  Normally, the time domain signal is broken into short epochs of a few seconds and an FFT is performed on that data array.  The data from the FFT is binned into frequency ranges according to standard EEG definitions:  Delta, (0-4Hz), Theta (4-8Hz), alpha (8-12Hz) , etc. The Peak power value in that frequency range and/or the cumulative power (total power in that bin) is reported.  Then the next segment of EEG data is processed and this continues either in real-time or on a prerecorded file of EG.  This process is duplicated for each channel of data corresponding to different locations on the brain.


I need to get a ratio of the power levels of two bands, 0-5 Hz and 20-40Hz, of a single channel EEG. How do bin the output of FFT? Am I using the correct Vi for this (FFT Spectrum (Mag-Phase) VI )? The Spectal Measurements Express VI look like it might be able to do this too but I cannot figure how to bin the ranges. Can I get the area under the plot some how?


We are are using a NI PCI-6221 with a NI BNC2090A box and of course the proper saftey precautions for the subjects.


Thanks for your help.

0 Kudos
Message 1 of 3
Accepted by topic author Richard_Z.

All you need to do is sum the values in the output array that correspond to the frequency band of interest.  The output cluster includes a "df" value (the spacing or interval/resolution of the output values in Hz) so its easy to index into the output array and get the array subset needed for your frequency bin.  Then just sum the array subset.  This is effectively the area under the curve.  So if the df is 0.1Hz then for your 0-5Hz band you would just grab the array subset from the start of the output array to the 50th value and sum all these values.  For the 20Hz-50Hz bin, grab the 200th point to the 500th point and sum all these.  Then compare the two sums (bins).



0 Kudos
Message 2 of 3
Thanks that worked.
0 Kudos
Message 3 of 3