LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

digital filtering problem

I am doing a continously data acquisition (buffered) and digital filtering.
I need a bandpass from 300-3000hz.
I am sampling around 15000 hz.
My data acquisiton is working fine.. but I have no clue why this filter is not working!
I have seen allthe examples and I dont think I have dont anythign different ...
Can anyone point out what is my error?.
I did some debuging and i think something is wrong with the case structure in processing.vi..No data maniputaltion wihtin th case structure is working ...
Have attached the files

thanks
Clueless 😞
Download All
0 Kudos
Message 1 of 5
(2,769 Views)
okay i think i have figured out the problem ..but i am still clueless as to why it is so...

I tried to debug it and I have noticed that
in the case structure of the processing.vi,the condition for TRUE(WHEn THERE IS AN ERROR is executed ) even when the error cluster does not show any error!!. I tried doing the filtering in the TRUE condition and it worked!!!...

cna someone plz explain this to me...
also is there any distinct advantage of having a seperate vi for processing ??

If i do not keep a seperate vi for this and directly add the IIR filter in my acauisition.vi, then the filter works fine.

thanks a ton!
0 Kudos
Message 2 of 5
(2,769 Views)
You should only be checking the "status" boolean, but you are checking both the code and the status. I think you will find that the "code" is non-zero, but the status is "FALSE" which is causing your VI to skip the filter.

When the status is "FALSE" and the code is non-zero, this is a warning. It could have been the immediate VI, or a previous VI that set the warning condition.

Remove the checking of the code and I think you will find your VI executing normally. You can also use highlight execution and probes to verify your VIs execution path.

Good luck!
0 Kudos
Message 3 of 5
(2,769 Views)
hi david
thanks for your reply.

I used the single stepping technique and I now see that the status of the error is FALSE but the code number is 10803. Just as u had said!
This warning is generated in the first vi that is AI Configure.vi.
I tried looking up this warning but it was very vague.
it says
NI_DAQ LV: The ongoing transfer has been stopped.This is to prevent regeneration for output operations, or to reallocate resources for input operations
The source is AI Group configure.

I tried what you suggested and removed the code condition and it works!
But I would like to know if it is okay If I remove the
code from the OR condition.I saw the example of MY DATA PROCESSINg.vi and in that they have wired the code to the condiiton.
Can there be
any warnings for which it would not be advisable to continue executing?
Also I would be very very grateful if you could tell me why am I getting this warning to avoid future problems..
thanks again..
0 Kudos
Message 4 of 5
(2,769 Views)
When "status" in false, but the "code" is non-zero, it is only a warning and you can ignore it. You can ignore the warning in this instance because you will ALWAYS get this warning on AI Configure, which simply means that it had to allocate resources.

I've only seen the "code" used once before, but I don't recall exactly. Personally, I've never used "code" except if "status" was "TRUE."

Good luck,
0 Kudos
Message 5 of 5
(2,769 Views)