LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Least mean square for filtering the signal acquired through DAQ

Hello,

I am working with the pulse signals uisng Labview2011 and I am acquiring the pulse signals using the DAQ with a sample rate of 1k ,number of samples as 1k The image here http://img843.imageshack.us/img843/6759/9d6m.jpg shows a single pulse signal and 10 pulse signals collected using collector.

When there is noise with the pulse signals then they will look like this http://img823.imageshack.us/img823/5052/j78k.jpg

I am planning to use LMS for removing noise from the pulse signals and want to implement as mentioned here http://www.ni.com/example/31220/en/

I need some guidelines and steps(dataflow) for implementing the Type II LMS Adaptive Filter API Design of

1)How to use(add) a Lowpass filter as  the FIR filter

1)How to apply LMS after acquiring a pulse signal through DAQ of 1 sec interval and display the original pulse signal after removing noise at the front panel.

Thanks.

 

0 Kudos
Message 1 of 8
(2,802 Views)

Okay, show us what you have got so far, and how you have tried to implement the low pass filter.

 

Cameron

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
0 Kudos
Message 2 of 8
(2,758 Views)

I made two separate vi's one aquring pulse signal using DAQ and other same as the type2 FIR LMS 2 VI as attached below but don't know how to insert the LPfilter in place of dotProduct.vi. And also little bit confused about the steps needed to club DAQ signal acquiring and LMS for filtering continuosly so as to show the filtered pulse signal.

Need suugestions for the implementation.

Thanks.

Download All
0 Kudos
Message 3 of 8
(2,743 Views)

PatanGova, take things one at a time.


@PatanGova wrote:

I made two separate vi's one aquring pulse signal using DAQ and other same as the type2 FIR LMS 2 VI as attached below but don't know how to insert the LPfilter in place of dotProduct.vi. And also little bit confused about the steps needed to club DAQ signal acquiring and LMS for filtering continuosly so as to show the filtered pulse signal.

Need suugestions for the implementation.

Thanks.


On your DAQ_data VI, I see two express VIs  (DAQ Asst and Filter) which have no inputs connected anywhere to control data acquisition or to control the filtering afterwards. Have you taken any data with this particular setup (you do have a couple of pictures, but where and how the data was taken there is not specified) ? What does it look like? Have you used the LP filter? What parameters did you use and what does the output there look like?

What do you mean about "the steps needed to club DAQ signal acquiring"? I don't understand your question.

 

If you are going to design a data acquisition program, always be sure you can finish the first step before you even think about implementing the second.

 

Cameron

 

P.S.  Looking back at the pictures, particularly the one "with noise," it looks to me like you've got a serious hardware problem - either your probe is acting like an antenna in addition to carrying your signal, or you've got ground loops somewhere in the detector circuit, or something else major. "Noise" of that intensity relative to your signal (I assume your signal is in there somewhere) is not going to be filterable, period.

 

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
0 Kudos
Message 4 of 8
(2,700 Views)

Hello cameron,

Here are the answers

1)Have you taken any data with this particular setup ? What does it look like? Have you used the LP filter? What parameters did you use and what does the output there look like? 

The pulse signal shown above are the signals acquired form an analog board that measure the pulse signals.The images shown are direct raw signals from the board and the LP filter has not been applied for them.I thought this LPfilter(FIR) should be RLS filter.Iam not usre abotu this.

2)the steps needed to club DAQ signal acquiring

I mean how to apply the adaptive filtering algorithm for the continuous signal(data) being acquired by DAQ and show the signal without noise.

3)About the noise

The noise in the images is not really because of the probes or not with the circuit grounding.The noise in the pulse signal image is due to the movement of the finger which afftects the pulse inturn changes the photodiode output signal measured.

So,the implementation of adaptive filtering in labview should remove the effect of moving pulse signals givign out pulse signals as shown in the first image.

thanks.

0 Kudos
Message 5 of 8
(2,676 Views)

Good, thank you for your thorough response, PatanGova. I'll address each in turn.


@PatanGova wrote:

Hello cameron,

Here are the answers

 

1)Have you taken any data with this particular setup ? What does it look like? Have you used the LP filter? What parameters did you use and what does the output there look like? 

The pulse signal shown above are the signals acquired form an analog board that measure the pulse signals.The images shown are direct raw signals from the board and the LP filter has not been applied for them.I thought this LPfilter(FIR) should be RLS filter.Iam not usre abotu this.

 

2)the steps needed to club DAQ signal acquiring

I mean how to apply the adaptive filtering algorithm for the continuous signal(data) being acquired by DAQ and show the signal without noise.

 

3)About the noise

The noise in the images is not really because of the probes or not with the circuit grounding.The noise in the pulse signal image is due to the movement of the finger which afftects the pulse inturn changes the photodiode output signal measured.

So,the implementation of adaptive filtering in labview should remove the effect of moving pulse signals givign out pulse signals as shown in the first image.

 

thanks.


1.  Before you try an adaptive filter, which I'm not sure either you or I would be able to predict how well it will work beforehand, I would strongly suggest making sure you understand the effect of the simple low pass filter on your signal, with different cutoff frequencies and different numbers of poles (I would use the Butterworth filter VI, it has the simplest response function). None of the experiments should take over a couple of minutes, to record your results (qualitatively), just take a screenshot [ctrl-prt sc] of your FP and paste it into a Word doc. It's a lot faster than waiting for someone to answer you here Smiley Very Happy . One thing you will notice with filtering is that anything with the same slope will be affected to the same extent.

 

2.  We'll take that up later, after the first experiments, but keep in mind, you will never get a resulting "signal without noise."

 

3.  All your software filtering can do is take your input signal and try to minimize components which are either above or below the frequency of your ideal signal. It cannot magically determine whether something is due to what you want or to an interfering signal ("noise"). Since the problem in your second picture is due to the subject, it's even one step further away from the detected signal than if it were an electrical problem, so we can't even fix it by redesigning the circuit.

 

IMHO, if this will be your typical input waveform, your only hope is to somehow immobilize the subjects' fingers. There is no way an "adaptive filter" is going to separate what you want from what you don't want without additional data from some other source about the finger movements themselves and a thorough knowledge of what each kind of twich will do to your signal, which is a really big research project in itself.

 

Sorry, but that's how I see it. If you can prevent the subjects from moving their fingers, you've probably got a shot, but in any case, try the low pass filter first - you don't want to have to try to figure out what part of your response is caused by an inadequately-determined filter function and what part is caused by the input signal itself.

 

Cameron

 

To err is human, but to really foul it up requires a computer.
The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
Profanity is the one language all programmers know best.
An expert is someone who has made all the possible mistakes.

To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):

LabVIEW Unit 1 - Getting Started</ a>
Learn to Use LabVIEW with MyDAQ</ a>
0 Kudos
Message 6 of 8
(2,666 Views)

Hi cameron,

The adaptive filter can remove the metioned noise(induced because of subject movement) and adaptive filtering was succesfully implemented  and in the page 162 of the attached pdf you can find the block diagram.

If possible can you have look at this.

 

0 Kudos
Message 7 of 8
(2,657 Views)

Hi

you can use adaptive filter toolkit, our matlab script in labview .. but u should consider the transmit and receive data should have same size ( it is difficult due to delay and noise in DAQ card and channel between them ) .

 

goodluck

0 Kudos
Message 8 of 8
(2,194 Views)