Hello everybody,
I got my new SDG6022X since a few weeks and I'm now using and testing the instrument, being quite happy on its general performances. Here I'm reporting some issues using arbitrary waveform: before contacting Siglent, I'd like to check if anybody else has found the same problems. (By the way, my instrument has the last 6.01.01.35R5B1 firmware release).
First of all, since I need to generate a digital pattern to emulate a sequence of CAN frames, I'm defining an arbitrary waveform as a sequence of +1 and -1 (or 1 and 0, that's the same): for sure it is not the way the arbitrary waveform generator was supposed to be used, but ... (since I have not a pattern generator) why not?
Let's discuss the behavior in TrueArb mode first and then in DDS mode.
- TrueArb mode
The behavior is really perfect: the pattern is generated exactly as defined, using 0-order hold interpolation (also linear and three different sinc interpolations are available), for all the pattern length (that menas number of points) I used (up to 512k points). There are only a couple of limitations in TrueArb mode:
A) the sampling rate is limited to 300Msample/s (that is not really a limitation, but a specification; just to mention that in DDS the sampling rate is up to 1.2Gsample/s)
B) the waveform cannot be bursted nor sweeped. That's a big limitation for my purpose (to send burst of frames). Is it really not possible to burst a waveform generated in TrueArb mode? Are there intrinsic hardware limitations to do that or it would be possible in a new firmware release?
- DDS mode
In this mode I found several issues and I think a new firmware release to fix them would be needed. Here following the main problems.
1) interpolation mode cannot be selected: it is fixed to linear. I think it should be not an issue to provide also the 0-order hold, at least, so an upgrade in a new firmware would be really appreciated.
2) the number of points managed in DDS mode is 32k maximum (that means 32768 points). This could be not a huge limitation, but it should be clearly specified, in order to let the user understand which waveform the instrument will output. So, if a greater number of points is provided (in a .csv file, for example), these points will be down-sampled to 32k, while providing a lower number of samples, the waveform will be linearly interpolated to create a 32k-points waveform. I suppose this 32k is a hardware limit (the extent of the fast memory used to generate the DDS waveform) and we can accept this (provided this is clearly specified).
3) the interpolation applied by the instrument is really poor, or better, is affected by a bug.
Here attached you can see the behavior with a 1,-1,1,-1,1,-1,... sequence with a 2k (2048) total points.
TEST_DDS_2k.zip (0.19 kB - downloaded 116 times.)
As you can see, 15 steps are added to a single point (from 1 point to 16 points, to fill the 32k memory), but the linear interpolation is performed as the steps would be 18 instead of 16, so, skipping the last two steps of interpolation.
In a similar way, providing a 4k sequence I got this behavior:
TEST_DDS_4k.zip (0.21 kB - downloaded 109 times.)
In this case, a couple of points is "oversampled" to 16 points, with a linear interpolation with amplitudes computed as the points would be 18 (and skipping the last two steps).
As a further trial, providing a 32k sequence, the behavior is the following:
TEST_DDS_32k.zip (0.36 kB - downloaded 115 times.)
Even if the number of points is matching the number used by the DDS generator, the bug of interpolating 16 points as they were 18, is providing this bad sequence of 16 steps (far from being the expected square waveform)
(please, note that I used a quite big period for the generated waveform and the result is not depending on that value, provided all the steps are not as short as the instrument limit).
I think this bad interpolation behavior is really poor and needs to be fixed!
Please, let me know in case you had similar or different experience with the arbitrary waveform generation on this instrument.
Best regards.
Sergio