Author Topic: Arbitrary Waveform Generator with fast edges in ARB mode  (Read 3575 times)

0 Members and 1 Guest are viewing this topic.

Online gf

  • Super Contributor
  • ***
  • Posts: 1205
  • Country: de
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #25 on: January 20, 2023, 01:29:29 pm »
Though I also think we might be slightly cross threads here, so for the avoidance of doubt, I was referring to edge jitter on *square* edges, not zero-crossing jitter on sinusoids. I would be interested to know the source of your claim that even units such as the 335xx runs its DAC(s) at fixed sample clocks - because Keysight claim that with Trueform they can get edge jitter down to 1ps. I don't see how that is in any way possible for *square* edges unless you are clocking your DAC at 1THz (which they don't claim).

It is possible if you soften the edges of the square wave, so that the highest frequency component in the signal is below fs/2.
Of course it is no longer a "square wave" then, but a square wave with zero rise/fall time does not exist anyway in practice.

[ With a sufficiently large phase accumulator and sample memory, even DDS can be pretty low jitter, if you don't violate the Nyquist sampling theorem when the advancing phase accumulator of the DDS re-samples the data in the sample memory. Just make sure that the data you load into the sample memory are sufficiently band-limited for the desired phase accumulator step size, which is a function of the desired waveform repeat rate. ]

EDIT: Always keep in mind, that these AWGs are still a generators for an analog signal, and they are based on Nyquist-Shannon reconstruction of a band-limited sampled signal. They are not dedicated pulse generators.


« Last Edit: January 20, 2023, 02:05:33 pm by gf »
 

Offline joeqsmith

  • Super Contributor
  • ***
  • Posts: 11758
  • Country: us
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #26 on: January 20, 2023, 01:36:33 pm »
Joe,

Sounds like an interesting setup you have there too :) If it's of interest you might want to have a look at how Motorola (back in the day) implemented the angle clock in the (e)TPU in devices such as the MPC555 / MPC5554. An interesting approach that avoids the need for division to get from time ticks to angle ticks :)

We were using the 68332 for the TPU function prior to the Power PC.  This is going back 25-30 years.  Still have an ICE for it sitting around for when I open my home museum.

I use my setup to test prototype firmware for the ECM.  It's easier to put it through the paces on my desk than fitting it to the bike and riding it, plus the advantage of being able to simulate cases that you may not want to while driving. 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26954
  • Country: nl
    • NCT Developments
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #27 on: January 20, 2023, 02:32:58 pm »
EDIT: Always keep in mind, that these AWGs are still a generators for an analog signal, and they are based on Nyquist-Shannon reconstruction of a band-limited sampled signal. They are not dedicated pulse generators.
Except for the TTi TGF4000 unit I mentioned. That is also sold as a pulse generator!
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline switchabl

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: de
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #28 on: January 20, 2023, 02:33:51 pm »
I have a propensity for throwing Occam's Razor out the window, LOL - so yes perhaps I am over thinking it. Though I also think we might be slightly cross threads here, so for the avoidance of doubt, I was referring to edge jitter on *square* edges, not zero-crossing jitter on sinusoids. I would be interested to know the source of your claim that even units such as the 335xx runs its DAC(s) at fixed sample clocks - because Keysight claim that with Trueform they can get edge jitter down to 1ps. I don't see how that is in any way possible for *square* edges unless you are clocking your DAC at 1THz (which they don't claim).

In the "Trueform" whitepaper (https://www.mouser.com/pdfdocs/to5991-0852EN.pdf) they talk about having a "virtual variable clock". I don't know if they ever explicitly state that this is used for square/pulse mode as well as ARB mode but it is the obvious thing to do:

As gf said, the trick you are missing is that the generator can simply treat the edges as analog waveforms with limited bandwidth and rise-time. At the risk of oversimplifying: the DAC will not output an edge as 0, 0, 1, 1 but instead something like 0, 0, 0.5, 1, 1 or 0, 0, 0.2456, 1, 1 which gives you a high resolution for sub-sample phase adjustment. In reality, things are a little more complicated because the coefficients need to be chosen in such a way that the reconstruction filter will turn them into a smooth edge with correct rise time (and no overshoot) but I hope you get the idea.

Mathematically speaking, this is really just a special case of "Trueform" resampling with a different interpolation filter. In theory you could more or less re-use the ARB filter pipeline with different coefficients (in practice you would want an optimized implementation that gives you better resolution and features like modulation).
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26954
  • Country: nl
    • NCT Developments
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #29 on: January 20, 2023, 02:50:52 pm »
IIRC the Keysight generators allow you to choose the type of filter so you can make the trade-off between bandwidth and overshoot yourself.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline switchabl

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: de
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #30 on: January 20, 2023, 03:30:44 pm »
I think so, but that was just for ARB mode wasn't it? Basically so you don't have to be careful to generate band-limited waveforms but can just draw straight lines if you want to without the interpolation filter going wild? I believe pulse mode (and "staircase" mode ARB for that matter) are always low/no overshoot/ringing.
 

Offline _pat_Topic starter

  • Contributor
  • Posts: 32
  • Country: gb
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #31 on: January 20, 2023, 05:30:31 pm »
gf,

I think I see what you're getting at with regard to softening the edges, and that may well be what they're doing, on the basis that the edge times advertised are somewhat slower than you could notionally achieve with the DAC. I'll try to explain what I mean, for the sake of confirmation and for those who might be curious but not necessarily understanding :

Start by imagining you have a 1GS/s DAC, whose output is bandwidth limited to the extent that it is capable of swinging from 0 to Full Scale in a single sample time (and for the sake of ease of understanding let's imagine the voltage changes linearly over time). If a threshold comparator were set at 0.5*FSD then the voltage would reach that point after half a sample time. In terms of moving this edge forward or backward in time, all you can do is move it by a single sample, and that would move it 1ns. Now let's sacrifice slew rate, so that it now takes 4 sample times. You could achieve the same result by going up in steps of 0.25FSD, 0.5FSD, 0.75FSD and FSD - you would still trigger half way between two successive samples. But now imagine that we go up 0.3FSD, 0.6FSD, 0.9FSD, FSD. Now the 0.5FSD crossing point is no longer half way between two successive samples. We have gained temporal resolution at the expense of slew rate / edge time. Hope this makes sense. It certainly would explain why Keysight show lower jitter with filtering applied than they do without filtering. Of course there's no free lunch in this world, the fact that the rise is slower means that the comparator will be more sensitive to noise on the signal than it was previously (and that will re-introduce SOME jitter at its output).

Agreed an AWG is in not best suited to the particular use case - was just hoping that it would be possible to kill two birds with one instrument (and I am making progress there).

Joe,

The 68k and MPC series are quite interesting devices for synchronous control :) And agreed, it is better to bench test than risk things on a real engine, when it is possible to do so.

switchabl,

Thanks for the link to the white paper. I'll have a read....

Now that I've gotten to your post, I think my assumptions / explanation above about the trade between slew rate and temporal precision is similar / the same as what you have mentioned.

nctnico,

The TTi unit is indeed an interesting device :)

And yes, whilst looking at the Keysight data they do mention different filter settings.... and do mention the jitter is better with the filter on than it is with it off. That being said, it is a trade-off and if you wanted the combination of the fastest edges possible and also the lowest jitter, then you can't play that trick and you're back to PLL type setups.

The Rigol DG2052 does allow you to change the filter settings as well (so it joins the Keysight and the SDG6000X series in allowing you to choose what happens between samples).

Cheers,

Pat.
 

Offline _pat_Topic starter

  • Contributor
  • Posts: 32
  • Country: gb
Re: Arbitrary Waveform Generator with fast edges in ARB mode
« Reply #32 on: January 20, 2023, 09:15:10 pm »
All,

Since I said I'de report new info as and when I have it, here goes :

Rigol DG2052 is capable of generating the desired waveform in both of its modes :

When operating in "Basic" ARB mode it is possible to load 7200 samples into the ARB memory and then you can replay that as expected, it correctly wraps around after 7200 points. There is a bug in the firmware which causes the output frequency to be wrong, it looks like maybe it has been hard coded to expect 8192 samples and so it goes through the ARB table at 8192 steps per second when set to 1Hz, not 7200 as it should. This is of course not a show stopper, you just need to bear it in mind when in this mode. Edges are sharp, it steps between successive samples as one might expect. Got a load of numbers in my head so please forgive me if I am slightly out here, but rise time was in the order of 10ns. Edit: Edges in this mode are around 6ns with jitter at 4ns as expected from a 250MHz DAC clock.

When operating in "Sequence" mode it is possible to select ARB as a step. I'm not 100% sure yet whether it is possible to sequence multiple ARB files Edit: It is not possible to load more than one ARB file into a sequence - unlike the Basic mode which seems to offer a way to load ARB data from the ARB setup, in Sequence mode one must do it from the Utility menu [which will insert the data into the correct output, but not sure if you choose more than one ARB step,if it will populate the currently selected ARB step, or if you can only have one ARB file per sequencer.... that said you could concatenate files and load that, the memory is deep in this one Obi Wan].  When the Filter is set to "Interpolate" you get access to the "Edge" setting, where you can tweak it from 8ns upwards. Again I seem to recall that the rise time was around 10ns (could be 8ns, but it's certainly not slow like the DG1022Z). Edit: Edge time in this mode is 8.6ns as advertised. Jitter is pretty much eliminated in this mode (much like TrueArb). I guess the "Interpolate" designation is correct since it is trading edge time against temporal precision. The "Smooth" and "Step" filter modes require a min of 2kSa/s and do slow down the edges enormously at slow sample rates, like the DG1022Z, though of course this would be very useful for "Analogue" signal fidelity. You pretty much get the best of both worlds here.

Siglent SDG2042X is capable of generating the desired waveform in both modes :

Unlike the Rigol DG2052 but more like the DG1022Z, the SDG2042X doesn't use two separate "Modes" in different areas of the menu tree, it's all under the Arb section. Like the DG1022Z there is an option in there to switch between DDS (Frequency) and TrueArb (Sample Rate) mode. In either setting it is possible to load a 7200 sample file into the ARB memory. When in DDS mode the edges are very sharp, around 4.5ns with some overshoot / ringing. As expected there is around 3ns of jitter (given 300MHz DDS clock). I will try to confirm Rigol's jitter tomorrow.

When the SDG2042X is switched over into TrueArb mode (remembering here it doesn't have any further settings like the SDG6000X) the edge time slows down to around 9ns and the jitter all but disappears [as one might expect based on the last few posts' discussion of trade-offs... again I'll try to get more details regarding the Rigol in "Step" and "Smooth" mode tomorrow].

With regard to modulation, both units Edit : [The Rigol has a bug in "Basic" ARB mode that clears ARB data when you enable modulation, and Modulation is disabled when you re-load the ARB data] will happily frequency modulate in "Frequency" / "DDS" mode but won't in "Sequence"  / "TrueArb" mode, pretty much as expected. A pleasant surprise was that the SDG2042X does allow amplitude modulation of TrueArb signals (as I had alluded to previously, that should be possible). It refuses to do Sweep, as expected. It does allow FM to be chosen from Modulation but it ignores that, staying in AM. Thankfully, unlike the DG1022Z, it is possible to manually adjust the frequency in the DG2052 without it trashing the waveform - the fact that the Siglent can Sweep negates this need, so I'm not sure right now if it retains the signal when you you spin the dial.

At this point I have to take my hat off to both the Rigol and Siglent engineers for building, at a very reasonable price, pieces of equipment that appear to be very capable.

The DG1022Z, other than when trying to do things like my specific use case, is a decent unit, I was just unlucky I fell on that shortcoming.

If you need the edge fidelity then given the shared / similar architecture between DG2000 and DG800/DG900, I'd suggest that the DG800 series is a sensible alternative to DG1022Z. I seem to recall that the SDG1000X series doesn't allow user ARB waveforms, so one might want to give that one a miss if you need your own waveforms. Edit: That recollection was based off the Programming Manual, referred to the SDG1000 (non-X), which has a different method of supporting user waveforms.

At the next price point, the choice between the DG2000 and SDG2000X series appears to come down to the edge time and sequence feature. If you need sequences then the Rigol is the one. If you need the fastest edges then it's the Siglent [but remember that comes at the cost of jitter].

Hope this is perhaps helpful to someone looking to get a wavegen in the price brackets the aforementioned units occupy.

Cheers,

Pat.
« Last Edit: January 21, 2023, 02:50:32 pm by _pat_ »
 
The following users thanked this post: Performa01, egonotto, 2N3055, gf, switchabl


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf