I have been using the Waveform Generator NI PXI-5412 and the attached code to generate signals of certain frequency and amplitude and change these parameters on the fly. The parameters are extracted from a textual file and set according to the index (note) selected by the user. The parameters are also supposed to be changed simultaneously by a property node in the case structure. The code is mostly based on the example Fgen Function Generator.vi.
For the major part, the code works as expected. However, when I started measuring signals with a DAQ device (NI USB-6363), I noticed 10-25 ms time delays that occur instantly after the parameters have been changed. The time delay appears to be a function of frequency, as signals do not experience any delays during amplitude-only modulation, according to my measurements.
Moreover, after the parameters have been changed, first, the original signal takes some unpredictable shapes for about 500 us, after which it acquires the new amplitude while continuing to operate at the old frequency for about 2 ms, which is followed by the 20 ms time delay and then, finally, it takes the desired shape. Please see the plots below.
3951,04 Hz, 0,089406 V → 1046,52 Hz, 0,441467 V2793,84 Hz, 0,448403 V → 4698,56 Hz, 0,125226 V
I am a little confused by this behaviour of the signal generator.
Am I right in thinking that the time delays can be caused by deleting an old waveform from onboard memory and allocating a new one? On the other hand, can it be related to the code? Perhaps, despite using the property node, the amplitude is still somehow set before frequency, which makes the signal generator to produce signals at the old frequency and the new amplitude.