LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Real-Time EMG Filter?

Hi everyone,

 

I am acquiring EMG data in real time though a while loop... The data has some minor bias and a little noise and I would like to run a bandpass (10-1000Hz) 2nd order butter filter on it... I can do this ok, but I am not sure what data type I should be filtering and what type of filter I should be using..

 

I am acquiring data straight from the DAQ assistance.. The wire is a blue.grey color.. I think it is DDT?.. Should I convert this to arrany or waveform for real-time filtering?

 

Should the filter be a PtbyPt filter? Or is a specific type of filter vi I should be using for real-time processing?

 

Thanks,

Jack

0 Kudos
Message 1 of 8
(3,476 Views)

Hello jcannon,

 

The DAQ Assistant returns a dynamic datatype, you can use the Convert from Dynamic Data to convert to a waveform or DBL data type if needed. If you convert to a DBL array, you can then use a Butterworth Filter.vi to process it. When you say ‘real time processing’, do you mean that you will be programming in LabVIEW Real Time? 

0 Kudos
Message 2 of 8
(3,426 Views)
Hi amezam,

Ni, not using real time module, but am aquiring continuous data in real time at 2kHz.

would like to use ptbypt filter as my understanding it is faster and less computationally expensive.

thanks.
jack
0 Kudos
Message 3 of 8
(3,406 Views)
I'm not sure your understanding is correct. If you are acquiring multiple points, you should be using one of the normal filter functions. You would have to place the ptbypt in a loop to filter your entire signal.
0 Kudos
Message 4 of 8
(3,402 Views)
p.s. Are you using the biomedical toolkit? If I recall correctly, there are filter functions included with that.
0 Kudos
Message 5 of 8
(3,398 Views)
Hi Dennis,

No, I program from scratch... I have read the NI help docs... One five an examine about detecting defect train wheels... It certainly sells the use of ptbypt filtering for real time continuous daq.
0 Kudos
Message 6 of 8
(3,391 Views)
Sorry, that should be one example in the helps docs uses a train wheel defect example.
0 Kudos
Message 7 of 8
(3,390 Views)
Go ahead and try It if you are convinced it's better. Just wire the waveform array to a for loop with the function inside. Let everyone know how much better the performance is when you benchmark the code.
0 Kudos
Message 8 of 8
(3,379 Views)