11-08-2022 10:03 AM
I require assistance on a LabVIEW issue I am experiencing and hope somebody can provide a solution.
I am trying to measure an analogue differential signal from an external device. I have 4 devices in total that I am measuring at the same time. Each device has its own separate USB-6001.
I am trying to measure the period and pulse duration of the signals. This should be a square wave pulse with period of 2 seconds and pulse duration of 50ms.
Due to noise on the line, LabVIEW is finding it difficult to measure these readings correctly.
Please see 2 attachments:
1. VI being used to measure the analogue signal.
2. Screenshot showing the outputs of 4 tested signals (measurements in question shown in green circles). The first signal is ok with minimal noise. However, the next 3 signals, which are measured in the same way are noisy.
Is there a way on LabVIEW of increasing the threshold on the measurements so it can be raised above the noisy section (say around 4 looking at the screenshot).
I have used a peak detector to measure frequency earlier in the code but I cant get this to work in the same way.
I have also tried to fit capacitors to filter out the noise but this has also made no difference.
I have also moved the 4 devices around and the clean reading is always on the top left in the first position.
Any help would be much appreciated.
Thanks.
11-08-2022 11:24 AM
Are you using the USB cable ferrites? You have a ground loop problem! Hardware, not Software design is needed to correct this.
11-09-2022 02:27 AM
Yes I have a ferrite cable installed between the DAQs and the PC. Do these need to be installed anywhere else? I believe the unwanted signal is coming from the device being tested, which is why I was asking if there was a 'workaround' in software to get a more accurate measurement. I also can't understand why the position 1 reading is a lot better than my others
11-09-2022 09:43 AM
Try using a butterworth filter. See attached VI
11-10-2022 09:49 AM
Thank you for the suggestion. This has been implemented successfully.
I have also ordered clip on ferrites to try and eliminate the noise completely on the test lines.
Thanks a lot for your help.
11-10-2022 10:45 AM
These appear to be binary signals and you don't care about amplitude, so you can just threshold your data. For each datapoint, if it's less than 2.5V, call it a 0. If it's more, call it a 5. That should get rid of your noise problems (though the hardware filter will help too).
11-15-2022 01:46 AM - edited 11-15-2022 01:47 AM
That makes a lot of sense, thank you for your feedback and suggestion it is much appreciated.