Overlapping signals with NI USB-6001
Mostra commenti meno recenti
Hallo,
I have two DAQ-Devices: NI USB-6000 and NI USB-6001.
Listening/messuring on 3 analog channels with NI USB-6000 works fine.
If I use the NI USB-6001 to listen/messure on 3 channels, the signals are overlaping/adding. I use the SingleEnded Mode while aquiering Data with the NI USB-6001.
During a test, I just connected one wire to one port and listen on 2 additional port without any connection. Normally there should only be one Signal. But see what I got on the following picture:

Is this a defect card or what is the problem?
6 Commenti
Walter Roberson
il 16 Giu 2016
Unfortunately that picture is not available anymore. Please use the picture-frame to upload the image instead of coding a link to the image.
Charlie Brown
il 16 Giu 2016
Walter Roberson
il 16 Giu 2016
The situation sounds slightly familiar; I remember that a couple of years ago someone else mentioned this kind of apparent cross-talk. I don't think they got an answer though.
For investigation I suggest connecting a second wire to a pulse generator with a fairly different pattern, perhaps a short sharp pulse; then the graph would show whether there was bleed-through or whether the data was somehow being the equivalent of reshape(linearsignal, 3, []).' -- that is, the samples for one channel being incorrectly serialized into 3 channels.
Charlie Brown
il 16 Giu 2016
Modificato: Charlie Brown
il 18 Giu 2016
Walter Roberson
il 16 Giu 2016
Certainly something funny going on there. I am still working on figuring out what it means though.
To check my understanding of what the graphs are showing:
In the first series, I see a blue signal up around 2.5 V. Is it correct that the blue there is the signal you are trying to measure? It also appears to me that there are two yellow signals which are normally at roughly -1/10 V. Is the signal generator connected to both of those yellow signals or just to one of them? If it is connected to just one of them, then is the third one unconnected? Is there a documented internal pull-up for floating lines?
In the second series, I see a blue signal normally at about +1/10 V, and I see two yellow signals which are normally at roughly +1/2 V. But I am not sure which of those lines is floating unconnected and which of them is signal? The little pulses on the blue are nice and neat but I do not know if they are injected signal or line being pulled up by signal injected on one of the yellow lines?
I cannot tell for sure from the graphs which of the two yellow lines the signal is being injected on; my guess would be the one that has the higher peak magnitude.
In the first series it looks like voltage is being drawn off of the blue line, but in the second series it looks like voltage is being drawn on to the blue line...
Anyhow, if you run more plots, could you distinguish the three channels, perhaps with different colors for each or different line patterns for the different yellow channels, and add a legend() on?
My speculation is that the USB-6001 might not have good channel separation internally -- rather than it being a matter of the data being scrambled or data being misread by MATLAB.
Do you happen to have LabView? Running that would allow you to cross-check whether the problem is at the MATLAB end or at the device end.
Charlie Brown
il 18 Giu 2016
Risposte (2)
Walter Roberson
il 19 Giu 2016
My working hypothesis is that there is some kind of channel separation problem in the USB-6001. It might be a malfunctioning device, as the leak is much higher than expected.
As a work-around, a better-than-expected reconstruction of the pulse signal can be done like this:
f2 = medfilt2(force);
fixmask = pulse1 > 0 | pulse2 > 0;
y2 = force + medfilt1(fixmask/10);
plot(time, force, 'b', time, f2, 'r'); legend('original force', 'reconstructed')
With this, you will still see some distortion in the reconstructed force, especially at the trailing edge of the pulses, but the force inside the pulses looks pretty good. What I did here was just plot the original force and the pulse boundaries and used datatips to eyeball the difference in voltage of the force inside the pulses as being about 1/10 V, so I created a mask of where the pulses were and I added back 1/10 V in those locations (the logical mask is 0 outside the pulses, 1 inside the pulses, so 1/10 V is mask/10). My expectation was that I would need to fiddle with the 1/10 a bit to get a decent edge match, but 1/10 looks pretty good except at the trailing edge.
I did not experiment with using a mask based on only one of the two pulses, and I did not do any work on figuring out how the force changed based upon which of the two pulses was present.
The data you attached does not appear to reflect an deliberate experiments with injecting signals of known magnitude and duration to study the cross-talk. You also do not appear to have experimented with selecting different input terminals -- e.g., does it make a difference if you use the first channel, last channel, and one of the center channels?
2 Commenti
Charlie Brown
il 19 Giu 2016
Walter Roberson
il 19 Giu 2016
Modificato: Walter Roberson
il 19 Giu 2016
I made a mistake earlier. The plot line should be
plot(time, f2, 'b', time, y2, 'r'); legend('original force', 'reconstructed')
Charlie Brown
il 22 Giu 2016
Modificato: Charlie Brown
il 22 Giu 2016
1 voto
Categorie
Scopri di più su National Instruments Frame Grabbers in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!








