Jump to content
  • 0

Glitch in playback at 1 MHz


Meindert Norg

Question

Hi,
Using a AD3250 I'm recording the output of out1 on in1 and notice glitches in the recorded signal. I attached a modified version of AnalogOutIn_PlayRecord.py to reproduce the issue.

Steps to reproduce :

  • Connect WaveGenOutch1 to Osciloscope Channel1
  • AD Pro 3250 connected with USB directly to laptop 
  • Run attached ReproduceGlitchesInRecording.py
  • Check the 3dr plot, which is the diff of the recorded signal.

Observations:

  • When connecting Osciloscope Channel1 to an external signal generator I do not see these glitches. 
  • Glitches seem to be 2^18 = 262.144 samples apart.
  • Note that AD Pro 3250 is supposed to have 64 MiSamples for playback, so I'm not expecting to run into memory issues.

Q: Any idea what might cause this? 

 

Here are some plots:

Loopback measurement: 

image.thumb.png.b539dac49523a33915e83c859c716f48.png

zoom:

image.thumb.png.543eb6fd5624bf57f7413a08eb267a19.png

Measurement with external singal generator:image.thumb.png.48a5b388744b33134012bd1eb9fc23aa.png

 

ReproduceGlitchesInRecording.py

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Hi @Meindert Norg

See the following example: AnalogOutIn_DeepMem.py

Wavegen uses the FPGA BRAM for standard signals and custom waveforms. Size depends on device and selected configuration, 1k-64k samples. This has 0 latency so you can generate very short wait/run/repeat cycles like wait 30ns run 20ns, or phase/frequency modulation...
The play mode is intended for longer waveforms or as FM/PM/AM/SUM data.
For devices with deep memory (ADP3x50, ADP2230) the play samples can be set at once and will be stored in DDR-RAM, 32M-128M samples.
Play by streaming, sending it in chunks is intended for devices without deep memory like AD3. This is also supported by devices with deep memory but at high rates buffer underflow may occur.
Similarly, the record is intended for longer captures than the device buffer, retrieving chunks of newly acquired samples.
Device with deep memory capture in DDR-RAM, 32M-256M samples, so you don't have to complicate with recording since you can use the default 'acqmodeSingle'.

Link to comment
Share on other sites

  • 0

Hi Atilla,

Thank you for that example. I ran your example (after some modifications to the plot function and a change of numpy.float into numpy.float64 because I'm running py 2.23.4).
Unfortunately, I'm still getting glitches every 2^18-ish (262.144) samples, however this time the recorded data seems to be set to 0 for a few samples while in the original problem description I also lost samples. 

Any thoughts? 

image.png.03cc26f51d4ac06091b412f4b03a4744.png

image.png.5f3cf2128b38a3f29717a1124d2fd461.png

AnalogOutIn_DeepMem_mod.py

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...