01-28-2019 09:01 AM
Hello,
I need to filter analog data. My goal is that this filter causes a delay on my channels.
I will set a number of samples as data input for each channels in order to set the delay as i expect it to do.
I am not good in signal processing, anyone does know what kind of filter do i need to use ?
Thank you.
01-28-2019 09:14 AM
Hi,
I didn't realy understand your question. You want to add a filter to analog data, OK. Do you want to have a delay or not?
Of course it will affect the signal propagation delay.
To choose the correct filter, some more informations about the signal and the expected noise is required. And what is your intention to use it?
Regards
Kay
01-28-2019 09:20 AM
I want to have a delay which will be set by a number of sample.
For instance, if i am looking at a digital signal changing its state, i want to see the state change has changed on my digital filtered channel X samples later.
01-28-2019 09:26 AM
Signals are noisy +/-1.5V.
Pupose is to adjust delay which might come from an HW card between UUT and software.
01-28-2019 11:42 AM
I'm confused what you mean by "delay". Any "real" filter involves a Delay, since we cannot "predict the future" and so must "filter" on data that has already been collected, say over a time interval of T (going back in time from the present, which we call Time Zero, or t0). Is this the Delay you mean, or are you worrying about additional Delays that your measuring instruments might introduce?
Here's a simple example -- perform a low-pass filter by using averaging of N points. If you are dealing with "real" data, the N points need to be already collected, so they exist "in the past". If you bin your data in N-point bins and replace each bin with the average of the points inside the bin, then you could say that the average represents an estimate of the signal at the midpoint of the bin, occurring with a delay of N/2.
Bob Schor
01-29-2019 02:59 AM
Thank you guys for your answers.
Indeed my need was not explained well enough. See attached document in order to understand better my need.
I acquire data as array of waweforms so i'd like to filter as an array of waweforms if the function exists, i didn't find it.
Best Regards
01-29-2019 07:19 AM - edited 01-29-2019 07:21 AM
Hello Gigi_31,
I think what you should use is the Feedback Node, and configure a delay depending by how many samples you want delay your output signal.
Here is the help about the Feedback Node : http://zone.ni.com/reference/en-XX/help/371361P-01/lvconcepts/block_diagram_feedback/
You'll find a pictured example of delay N>1 at the section "Samples of Data"
In this example, the delay introduced is 3.
You will find attached a VI snippet, and a graph showing the results for 10 iterations.
Is this what you are looking for ?
Best regards,
01-29-2019 07:25 AM
Hi,
Thank you for your answer.
Can you share your spinnet into LabVIEW 2016 version please ?
I am not sure what's your idea using feedback nodes.
Thank you
01-29-2019 07:31 AM
Hey,
I'm not able to create a 2016 snippet, so here is the VI for LV2016.
Best regards,
01-29-2019 08:01 AM
Hi Salah,
I have to admit i didn't thought about it. That is doing the job even if i was thinking more about a filter (as i have so far a median filter) which can do this delay automatically. This solution worry me about CPU ressouces usage because a lot of data are going to be in memory. I'll try this out.
Attached my need i rewrote.
Thank you 🙂