LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

signal analysis - how to remove unwanted signal

Hi,

 

I doing offline data analysis for the human heart beat. i need helps to clear some doubts and questions here:

Q1. From attachment .vi, the first FFT graph show the combinations of signal merging & second FFT show the human movement noise (x,y,z). So, how can i remove those unwanted signal cause by the movement noise as show in attachment pic??

Q2. If i want to use filter on FFT to remove the those unwanted signal & also those signal below 1Hz and above 5 Hz, how can i do it??

Q3. I hv apply the bandpass butterworth filter to my raw data before plot into FFT, is very strange that the filter does not remove the low frequency components as still reflect on FFT.

 

My sample rate = 20 samples per sec

Attach with zip files.

 

Thanks in advance.

 

regards,

Simon 

 

0 Kudos
Message 1 of 11
(5,996 Views)
What is your signal source? Can you tell us more about the full measurement setup?


Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 2 of 11
(5,981 Views)

Q2. If i want to use filter on FFT to remove the those unwanted signal & also those signal below 1Hz and above 5 Hz, how can i do it??

 

Simple try out: If you already have the FFT (Re and Im) simply set all unwanted freq bins to zero and do a inverse FFT .  Your result will have small waves at regions that where flat before, however maybe still worth a try.

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


0 Kudos
Message 3 of 11
(5,968 Views)

What is your signal source? Can you tell us more about the full measurement setup?

--------------------------------------------------------------------------------------------------

 

We using the light sensor  to detect the blood flow + movement. The data collect, processing & send through BT to the PC for further signal analysis as you can see from the raw data text files attach.

As can see from raw data, there's dc components there compare to ECG which make signal analysis tougher.

0 Kudos
Message 4 of 11
(5,961 Views)

Hi Henrik,

 

How going to "set all unwanted freq bins to zero and do a inverse FFT "??

Can you show me some example??

 

thanks and regards,

Simon

0 Kudos
Message 5 of 11
(5,949 Views)

How good are your FFT knowledge? If they are somewhat basic I give you some links that will be helpfull in the further discussion.

http://zone.ni.com/devzone/cda/tut/p/id/4278

http://zone.ni.com/devzone/cda/tut/p/id/4541



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
Message 6 of 11
(5,935 Views)

Hi Coq Rouge,

 

Thanks for the links here. I do have some basic on FFT.

0 Kudos
Message 7 of 11
(5,905 Views)

Increase the order to narrow the transition band will reduce the low frequency component.

Also make sure that you set sampling frequency, and other configuration correctly (you claim your fs=20, but you set it to 60).

Message 8 of 11
(5,888 Views)

Hi KateB,

You're right, it solve my doubt here on Q3.

I noticed that whenever i set the low freq, there's still a small peak follow the low freq setting.

 

thanks and regards,

 

0 Kudos
Message 9 of 11
(5,875 Views)

Simon,

 

I think the  reasons the low frequency component dominates are (1) that there is a huge DC component.  Take the mean and subtract it before filtering .  And (2) that even with the mean removed a large low frequency signal remains. Look at a graph of the time domain signal.  The mean is around 8900.  The heart rate component is about 200 peak to peak and the low frequency part varies from 8200 to over 9000.  So the mean is 40 times the desired signal and the low frequency part is 3 times the desired signal.

 

If you cannot clean up the data collection process to reduce these undesired components, you will have a lot of trouble getting good data.

 

Also, you do not have any ECG signals.  You may to have a pulse oximeter.  You can get heart rate from that but not much information about the heart electrical activity.

 

Consider using subVIs in your program.  You do the same things multiple times with only differences in the data.  A subVI in a for loop is a much cleaner way to program this.  Also you can read the data from the file and convert it to an array of numbers in one step with the Read from Spreadsheet File.vi.  Set the format string to "%x" and the delimiter to space.  The datatype is Double.

 

Lynn 

Message 10 of 11
(5,852 Views)