LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Real time low pass filtering

Solved!
Go to solution

Hi,

I am trying to apply real-time law pass filtering for my experiment. I have prepared a code using an artificial signal and adding noise. But when I add the code in real-time data acquisition system (code), it doesn't work well. Both codes are attached here.

 

Would anyone explain the errors or problems or miss connection, please? 

0 Kudos
Message 1 of 33
(5,989 Views)

and this is the monitored signal patterns...

0 Kudos
Message 2 of 33
(5,986 Views)

Hi Milon,

 

it doesn't work well.

Two notes:

- your filter is NOT set to reentrant, so it will mix data from several channels! To run your 3 instances of that filter independently you need to set them to "preallocated reentrant"…

- have you tried to (de)activate the "Transpose Array" option of your charts?

 

IMHO you are using way too much ExpressVIs (and Rube-Goldberg code) in this little VI. Try to stay away from those ExpressVIs…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 3 of 33
(5,966 Views)

Respected GerdW,

Thanks for your quick reply. Actually, I am not good at LabVIEW and I got some new term/word in your reply. Would you please mention the problems in my LabVIEW code or modify the code?  

0 Kudos
Message 4 of 33
(5,959 Views)

Hi Milon,

 

Actually, I am not good at LabVIEW and I got some new term/word in your reply.

What about searching the LabVIEW help for those new words?

(Hint: Reentrancy a setting in the VI properties.)

 

Would you please mention the problems in my LabVIEW code or modify the code?

You really learn this much better by doing it on your own!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 5 of 33
(5,951 Views)

Respected GerdW,

 

Thanks for your suggestion. I will try my self first. By the way, I post another problem someday ago. There I mentioned that I couldn't get a certain number of data in per unit time. 

 

"I am trying to measure nutrient solution ions continuously. I am using NI USB 6343 and LabVIEW 2017. I tried to get/record 100data per second. But, the obtained data rate was not uniform and there was some time gap (like 3, 5 or 8 seconds).  I saw similar problems in the LabVIEW discussion forum. I modified the code inserting "wait(ms).VI" and replacing the "While Loop" by "For Loop". The problem remained the same. I can't understand, is it hardware or software problem? Eagerly waiting for your help"

 

Mr. Bob_Schor suggested to change some steps. I modified the code but the problem remained the same. Would you please check that... I have attached the modified code here also. 

 

0 Kudos
Message 6 of 33
(5,947 Views)

Hi Milon,

 

please don't mix yur problems in several threads.

Post your last message in that other thread to keep things in one place!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 7 of 33
(5,945 Views)

Respected Mr. GredW,

 

I was trying to modify the code and found that the attached code works well. But, when I plotted the data, I saw a sudden downward trend of data. I have attached the picture of the graph. Would you please explain the reason? How can I remove this...

Download All
0 Kudos
Message 8 of 33
(5,913 Views)
Solution
Accepted by topic author Chowdhury_Milon

Hi Milon,

 

I don't see this when I use some test data with your filtering routine:

check.png

Btw. one of those InitArray functions was missing its size input…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 9 of 33
(5,908 Views)

Respected Mr. GerdW,

 

Thanks for your quick reply. Actually, it happened in real-time sensing. When I used an artificial signal, it was ok. But, in real time, at the end of every second, this data fluctuation is noticed. Would you please mention the missing 'InitArray functions'? 

 

Apologize for continuous messaging. 

0 Kudos
Message 10 of 33
(5,904 Views)