05-03-2013 04:49 PM
Hi,
I am using the NI 4071 DMM to measure some AC signals. Sometimes I am also attempting to detect the absence of a n AC signal (switch testing). My automation is all C# I find that acquiring a waveform and processing it with SingleToneInformation much faster than just having the built in Measure. By customizing rate and number of samples I can achieve 20X faster measurements (and quite accurate too). This works really well if there is actually a signal. It doesn't work so well when I am verifying the absence of a signal. The SignalToneInformation class spews garbage values (like really high voltages that my system could never generate). The sample data is quite fine with typical background noise typically well below a |millivolt| and no samples corresponding to returned value (I've gotten return values of 500V when no sample was more than ±0.0009. What I do to get around these bad values is to simple process the sampleData for |peaks| (grab the Max AbsoluteValue ).
Two things:
1) SingleToneInformation class (Analysis.Enterprise) should do a better job handling a no signal condition.
2) In my test I know when to expect an absent signal but there could be cases where I don't know and I want to measure. If it were to measure a non-signal, I'd get garbage. I should be able to either have SingleToneInformation give better values or an indication that it couldn't successfully grab a tone.
I am testing a system that generates AC signals using a DAC. I always test single tone type signals (typically some form of a sine wave.) I always have plenty of over-sampling
My software is up-to-date as of May 2, 2013 accoring to NI Update.
Thanks for your help!
Solved! Go to Solution.
05-06-2013
04:50 PM
- last edited on
11-07-2024
01:38 PM
by
Content Cleaner
Hello JohnGardner58,
The algorithm used in the Extract Single Tone Information is not designed to measure noise. So, when the input frequency is effectively 0, you should expect to get invalid data.
There are future plans to implement the Measurement Info output, which will detect invalid data. However, this is not yet implemented.
I hope this addressed your question!
05-06-2013
05:07 PM
- last edited on
11-07-2024
01:38 PM
by
Content Cleaner
Hi,
Thanks for getting back to me.
But regarding "The algorithm used in the Extract Single Tone Information is not designed to measure noise". That is pretty evident and is part o my complaint. It really doesn't need to measure it but at the same time it shouldn't just spew garbage. If it can't find a tone it should indicate that. IOW, I have to know too much about the signal in advance.
Is there another way of taking sampled data and extracting amplitude and frequency similar to what the DMM does but without taking well over a second to do it? The NIDMM allows a measurement but it really takes a long time over 20x longer than my processing raw sampled data. I am using similar ranges. I tend to do most of my measurements at 5.5 digits since this is often plenty of precision and has a fast sample rate.
05-07-2013 05:18 PM
Hello JohnGardner58,
Currently, the Extract Single Tone function does not notify when it can't detect a tone. However, there are plans to implement this functionality in the future.
DMMs take a second to determine the frequency, because it must have a few cycles of a signal to accurately measure the frequency. However, this time should decrease when measuring higher frequencies.
When I am looking for the frequency data, I use the Extract Single Tone function. The Sound and Vibration Toolkit has other functions for calculating frequency. However, all of these functions will be expecting a frequency and not noise. I recommend post processing code to get rid of the noise data.