Uninterupted generator signal while doing Acquisitions

I noticed that an acquisition enables the sine wave generator and then disables it again after the acquisition has finished. I found out that this pulsed behaviour results in different measurement results compared to a continous signal. I can see it clearly with some of my amplifiers. If I enable the acquisitions with the RUN button in the QA application the first few acquisitions the spectrum is clearly settling (changing). After three of four acquisitions the fft settles (no averages enabled).
Also, if I use the API to do multiple acquisitions the time between two acquisitions is greater than using the QuantAsylum software. This is because I have to call GetInputFrequencySeries and GetInputTimeSeries after the aqcuisition has finished and that takes some time. So there is about 700 ms between the generator bursts. When doing acquisitions with the QuantAsylum application there is about 100 ms of dead time. So the results will be different when using the API compared with the application.

What I would like to do is to enable the generator, wait a few milliseconds for the amplifier to settle and then do one or more acquisitions and then turn the generator off again. All without having any interrupt in the signal between the enabling and disabling of the generator. That way the amplifier can settle for a few ms and the dead time between the acquisitions does not interfere with the results.
I tried to use the /Settings/IdleGen/On command. But when I call /Acquisition after that I get an error ‘400 (Bad Request: Exception: (Hardware is not idle in RunSingleWebserver)).’.

So my question is: How do I enable the generator and then do multiple acquisitions after that without having the interrupts in the generator signal or getting any 400 error? All using the REST API.

Hi @breedj,

There is a parameter you can set in Edit->Settings that is called “Latency Compensation.” This will allow to you put a larger and larger buffer in front of the actual measurement that is made. As you can see in the settings, the default is 40mS. You can increase that up to 2.73 seconds to allow you to measure things like bluetooth (which can have 100-200 mS of codec latency) or devices with compressors (which might take a few hundred mS to stabilize). Some devices also have noise gates, where they want to see 50mS or so of signal before they turn on and amplify.

Before you try the API, adjust the latency compensation and manually make the measurements you need. Then, once, you arrive at the number that works, save that in a settings file, and then load that settings file before you make the measurement. That will force the latency comp in the settings file to be used.

Thank you @matt. This is exactly what I needed.

1 Like