Jump to content
  • 0

AD3 AWG for High-Resolution Signals


JuanThePawn

Question

AD3 is a great product, thanks for making it and thanks for the great support.

Suppose I want to generate a repeating almost-square wave on Arbitrary Waveform Generator (AWG), let's I want a 10KHz (= 100,000ns) repeating signal, low voltage 0V, high voltage 1V, rise + fall time 100ns.

AD3 AWG has a buffer size of 16384 data points and a "funcPlay" (Value 31) mode - "Generate waveform in stream play style. Optimizes for average requested frequency". So I can create my 100,000ns signal across 16384 data points, each data point represents the voltage for 6.1ns, so I end up programming as follows:

N, V (mv)

0 (=0ns), 0

1 (=6.1ns), 61mv

2 (=12.2ns), 120mv

...

17 (=103.7ns), 1000mv

18, 1000mv

19, 1000mv

...

8176 (=49873.6ns), 950mv // start ramping down..

...

 

The signal generated is good enough for me, I have ~17 data points to generate my 100ns rise / fall function, which is good enough.

But now let's say I want to generate a 1KHz (=1,000,000ns) signal rather than 10KHz. Now instead of 17 data points for my 100ns rise / fall function, I have only ~2 data points! That is not good enough for me, the signal will not be close enough to a smooth 100ns rise/fall.

So I need a new strategy here, maybe "funcPlay" will not work. Is there a mode where I can specify arbitrary V and t data points rather than "constant sample rate"? E.g.

t, V

0, 0

10ns, 100mv

20ns, 200mv

30ns, 300mv,

...

100ns, 1000mv,

49900ns, 1000mv

49910ns, 900mv

49920ns, 800mv

49930ns, 700mv

..

You can see that with such a mode (where I can specify arbitrary t for each V),  I can represent my function very accurately with very few data points (because my function is stuck at 0V or 1V for most of the time).

Does such a mode exist? Or is there some other alternative to generate the functions I need?

Edited by JuanThePawn
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 1

Hi @JuanThePawn

The Play uses data streaming which works up to about 1MS/s, if I remember correctly.
The 3rd configuration allocates 32ki samples to AWG carrier.
You could eventually use the Idle: Hold option to control ramp in one way, but not the other and the pulse rate needs to be controlled from software which is not accurate. Here I used 1ms ramp-up as example, but it can be any length.

image.png

image.png

Link to comment
Share on other sites

  • 0
Posted (edited)

Thanks @attila, I was not aware of that 32K AWG configuration - we will use that, it should improve the situation by a factor of 2.

I'm not excited about using SW timing due to USB + host OS latency, I hope the 32K config will be good for now.

Does Digilent sell any AD3-like Waveforms SDK-enabled products with > 32K AWG buffer?

Edited by JuanThePawn
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...