Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

Noise/Crosstalk with PCI-6052E

I am using Matlab 6.1 to acquire and anlyze two audio signals from a B&K PreAmp. I am applying the built-in reference tone (1kHz, 1V RMS) to one channel, and the B&K acoustical calibrator (also 1k @ 1Vrms) to another.

I have the code as follows:

ai = analoginput ('nidaq',2);
ai.SampleRate = 30000;
ai.SamplesPerTrigger = 30000;
addchannel(ai, [0 1]);
start (ai)
[data,time] = getdata(ai);
stop (ai)

The matrix 'data' has two columns, one for the voltages for each channel. The channels correspond to the NI hardware channels on the card.

Using the SCB-68 connector block board I have channel 1 from the preamp connected to ACH0 and ACH8 in differntial configuration, and Channel 2 to ACH1 and ACH9.

Matlab is configured for differntial mode.

I have checked the signals all the way up to the SCB-68 - the signal is intact and there is no obvious distortion or cross-talk on either channel.

However, if I load the NI-MAX software and run the test panel. In Strip-Chart mode I am getting a very noisy signal. It looks as if it is just random noise which is being modualted by a 1kHz tone. This is the same for both channels.

If I plot the acquired data in matlab, then the waveforms are perfect. The only problem is that if a signal is applied to one channel but not the other, then it appears on the other but at a much smaller amplitude. My matlab software also calcualtes the SPL of the signal. With no signals applied the nosie floor is about 35dB. However, if I stick 1k @ 94dB on one channel, it shows as 94dB on that channel, but 60dB on the other channel. For some reason it has gained 30dB even though there is no signal being applied.

It is the same for all channels in any configuration.

Because my program also has a frequency counter, it is reading back both channels as 1k, even though a signal is only applied to one channel.

This is very strange and I can't seem to get rid of it. Anyone know where to start with this?

(I've sent this request to mathworks).

I've attached a few small screen captures of the problems
Download All
0 Kudos
Message 1 of 4
(8,079 Views)
I have a couple of things for you to try. Did you acquire only one of the channels using matlab? What was the result. Apply the signal to ch0 and measure ch1. what is the result. If it is no signal, then you should try to lengthen the interchannel delay to the maximum possible. When using the 6052, or any other multiplexed card, the output impedance of the measured device is critical. Even though the output impedance is called out at .1 Ohm, it is .1 Ohm at DC. What is the value at 4 MHz? This is more like the situation when you are using a multiplexed digitizer. Anyway, run the test and go from there. I have run into similar situations often enough. I am not sure if matlab supports setting the interchannel delay.

Stu
Stu
0 Kudos
Message 2 of 4
(8,078 Views)
the signal now no longer appears on other channels. I found a paragraph on one of the support pages saying to ground all unused differential inputs. I also had to short any channel that was not being used (like If I just wanted to masures ch0 but had Ch1 connected as well). This appears to have solved the problems that were being seen in Matlab.

As for the noisy signal in the MAX test panel, this is always present, even when using the Chart control in VB. I think it is a problem with the way the chart plots the data.

Changing the interchannel delay is an interesting idea, I hadn't thought of that. The only problem is that I need to minimise the delay between channels. Really I should be using a card that supports simultaneous acquisition of all channels,
but I have to make the best of what we have.

I did try acquiring only one of the channels. An I think that the problem did not seem to be there, althought it was some weeks back now, so I can't quite remember.

The results were the same regardless of weather put the signal on 1 and measured 0, or vice versa.

Matlab does support the interchannel delay. It is a property called 'Channel Skew'.

Thanks for you're help!
0 Kudos
Message 3 of 4
(8,079 Views)
Interesting. I would not expect a signal that is not in the scan list to have any affect on channels in the scan list. Certainly a disconnected channel in the scan list would saturate and probably affect subsequent channels.
Glad you are all set.
Stu
Stu
0 Kudos
Message 4 of 4
(8,079 Views)