04-01-2010 01:01 PM
Dear All,
I have a DAQ card. I have a signal with a period of 100 ms. For 95 ms the input is in the normal mode (i.e., my circuit makes a signal) and for 5 ms the circuit goes to auto-zero mode. What I want to do in Labview is to subtract the mean value of the signal in Auto-zero mode from every signal sample of the signal in the normal mode. The data is coming continously, so I need a blcok to judge if it goes to the auto-zero mode or not, then make correct opreations.
Our program for acquring data is attached. Can anyone tell me how to make it? Thank you in advance.
Ruimin
04-07-2010 03:17 AM
IMHO it would be the best if your circuit provide an additional sync signal. Otherwise you need to sync (lock) only via your signal. Easy if you always have a DC (or near DC) value that drop to zero for 5ms, you will have a high dU/dt pulse that you can use to lock in.
04-07-2010 03:26 AM
Hi,Henrik,
Thank you for your reply. Yes, it's possible for my circuit to provide an additional sync signal. That can be the clcok signal which I used to do auto-zeroing. However, I can't imagine how I can write the program. I tried to add in a MATLAB script node and write some MATLAB codes. It worked. However, the speed was very slow. That's why I want to make it with labview. But the problem is that I don't have too much experience with Labview. Can you show me some example on how to do it?
BTW, with the auto-zeroing, I will always have a DC value that drop to zero for 5ms. My normal signal will be around 4V. And during the auto-zeroing, the signal will go down to around 40mV. Do you think we can use this high dU/dt pulse to lock the value? If yes, how can I do it?
Kind regards,
Ruimin
04-07-2010 04:48 AM
Try out the trigger slope detection vi in signal processing .... OR the histogram analysis of a square pulse measrement vi ....
04-07-2010 04:52 AM
04-07-2010 06:29 AM
try this:
I simulated your signal ...
then I used trigger and gate to detect and cut out the zero part and calculated the mean of it....
next pipe it in a shift register, add filter, ..... compensate .....
have fun
And mark as solution if it fits 😉