Showing results for 
Search instead for 
Did you mean: 

Filtering an array of waveforms


I have a 1D array of waveforms which were acquired from strain gauges using a cDAQ-9174 and a pair of NI 9237's.

The waveforms are displayed on a graph, configured to update as a strip chart.

The PC on which I created the application displays the strains as smooth curves, which is what I want. However when the built application is installed and run on a different PC (of a much lower specification) the strain plots are messy, as if there's noise superimposed on the signals.

I'm not concerned about getting a perfect strain representation shown on the destination PC because it's just for a demonstration.

So, I've tried to add a low pass filter to my vi to remove the noise which for some reason appears on the destination PC. The attached screen capture shows my attempt at this. However when I run the vi I get an error at the subtraction operation (in the centre of the screen) which says that the 2 waveforms have different dt values.

Also attached is a screen capture of my front panel which, on the left, has indicators for the waveforms, which shows their dt values. One of them is 0.000620 and the other is 1.000.

Am I going about implementing the filter correctly?

Any other ideas how I may fix the apparent noise on the graph on the destination PC?

Many thanks


Download All
0 Kudos
Message 1 of 2

It is difficult to say where the problem lies, but my suspicion is that the executable running on your "lower quality PC" is producing "lower quality data", possibly because you are not cleaning transmitting it to the Host.  I would think that if the DAQ system (your cDAQ and assorted hardware) is the same on both systems, then the problem is likely on the Host side (unless you are doing something really funky with grounds when running on your other Host ...).


In a situation like this, I would replace the code running on the cDAQ with a dummy routine that generates a known signal (say, a 1 Hz sinusoid).  I would run in on my "Good" and "Bad" systems, and look at the data that comes back to the Hosts.  They should, of course, be identical 1 Hz sinusoids -- if they are, the problem is in the cDAQ DAQ routine (probably), but if not, then the fault probably lies in the Bad Host's capabilities (or maybe a bad TCP/IP cable?).


Bob Schor

0 Kudos
Message 2 of 2