EEG - frequency processing question

Post Reply
Matthew
Posts: 9
Joined: Mon Sep 26, 2011 4:37 am
Location: Canada

EEG - frequency processing question

Post by Matthew »

Hello,

I am trying to take the 2D array of samples from 64 EEG channels in the ring buffer, and process these to determine in real-time the respective power of delta, theta, alpha, beta, and gamma brain wave activity.

I am attempting to do this using bandpass filters within an auto-indexing for-loop, however the output graph is not displaying any power in these frequency bands. The only error I can see is a message in the filter control suggesting that the Nyquist stability criterion is not being met. According to our calculations, the sampling rate (2048 Hz) should be more than enough to accommodate the filter settings.

Is there a better way to go about this? Might I be missing something? Any assistance would be very much appreciated.

Best,

Matthew

Coen
Site Admin
Posts: 1124
Joined: Fri Mar 26, 2004 7:00 pm
Location: Amsterdam, Netherlands
Contact:

Post by Coen »

Filtering 2 D arrays (rows: channels, columns: samples) in WHILE and FOR loops can be a bit tricky in LabVIEW. Please refer to subvi Ref-Mon-Jazz.vi in ActiView as an example of a working setup. The code is based on an old LabVIEW example "IIR filter by N Specs for N Chan.vï", that's apparently not included in current versions of LabVIEW anymore. In LabVIEW 8.6 (and higher ?), a similar setup is found in the "Implement IIR Cascade filter for N Chan.vi", (from the library NI_MAPro.lvlib) that is used as a subvi in the example "IIR Filtering and Response.vi".

Best regards, Coen (BioSemi)

Matthew
Posts: 9
Joined: Mon Sep 26, 2011 4:37 am
Location: Canada

Re: EEG - frequency processing question

Post by Matthew »

Thanks very much for your reply, Coen. I have since explored LabView's library of subVIs, and have been able to accomplish my original goal by avoiding filtering and instead performing power spectrum analyses for each channel.

Post Reply