I am getting some spurious output during my simultaneous analog input/output operation. I based my VI on the SimulAI_AOSWtrigger example vi. I am generating a short burst of noise that is played through a small speaker connected to the analog output channel 1. When the acquisition/output starts, there is a very soft but audible click from the speaker (there is a 200 msec delay before the sound is generated). Is there any way to eliminate this or does anyone know the reason for this spurious signal?
I'm using Labview 5.1 with a PCI-6052 card under Windows 98.
It sounds like you are outputting the same data that you are trying to input. One thing to check is the amount of data you are sending to the AO Write and the size of the buffer you are setting at AO Config. You want the data to be at least the size of the buffer initially. The reason is that the first time you write to the channels, you will have gaps if you don't fill up the buffer. Thereafter, if you are doing continuous generation, the output channels will be updated with half buffers. You may also find some useful information in the KnowledgeBase entry 297DGK5T: Why Does My Buffered Analog Output Transfer Pause at Times? and the KnowledgeBase entry 0CMAA28Q: NI-DAQ Regenerates the First Buffer with Circular Buffered Analog Output. These are available at t he http://www.ni.com/support pages when you search the KnowledgeBase for "analog output and buffer".
If you are sending a binary file of data to the output channels for the sound, check that there is no header information at the beginning, which would seem like a delay of silence but may actually be sound. Or double-check that you have created the sound file as expected.
Usually WAV files are used, and you can find some useful discussions concerning them on this forum. Do a search on "wav", and among the findings, you will find Markwysong's description ("DAQ/SCXI/WAV file help needed.." question) of creating a WAV file from the analog input of a DAQ board.
These are some ideas. I hope they help!
Geneva L. Applications Engineer National Instruments http://www.ni.com/support
I found the problem... the waveform I am sending to the AO channel is a bandpass-filtered noise burst. Thus, the last value of the waveform is a random number between -1 and +1 V. It turns out that the AO channel stays at the last value sent to it so, when I play the next waveform, there is a discontinuity between the current and next values of the analog output, resulting in a click. Setting the first and last values of the waveforms to 0 solves the problem.