Author Topic: Siglent SDG1000X Waveform Generators  (Read 86767 times)

0 Members and 1 Guest are viewing this topic.

Offline TurboTom

  • Super Contributor
  • ***
  • Posts: 1389
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #150 on: October 23, 2020, 09:49:37 pm »
@Johnny B Good -

I'm sorry if it sounds a little rude, but in none of your screenshots I can see a "properly" sampled Sinc pulse. The Sinc function has to be symmetrical, as soon as there's even the slightest asymmetry visible, it's likely that samples had been skipped.

I'm not sure if you are really familiar with basic sampling theory: Theoretically, in order to reproduce a sine signal, two samples are sufficient for each period of that sine. Since this is not possible practically, the maximum frequency that you will find in real-world generators, is 1/2.5 of the sampling frequency, i.e. the highest frequency that an AWG running at 250MSa/s will be able to generate is about 100MHz (Rigol DG992 for example). A Sinc signal from -32Pi to +32Pi will have 32 "hills and valleys" in total, so the highest frequency that this signal contains is 32 times the "repetition frequency" (22 as you reported in case of the SDG2000X). If you repeat a signal like this at 10MHz, the highest frequency component this signal contains is about 320MHz (vs. 220MHz in your case). There's no way the FY6600 nor the SDG2122X will reproduce this. What happens is called "aliasing", i.e. not every sample point in the waveform buffer gets "played back" and the reconstruction filter forms of the remaining sample points what you see on the screen of your scope. This may actually resemble a Sinc signal quite well, but it's not what's stored in the AWG's memory. It also leads to the "smearing" of the trace if there's a low-frequency interference between the sampling frequency and the highest frequency component of the Sinc signal to be reproduced.

You may argue that Siglent specifies for their SDG2000X generators 1.2GSa/s, and you are right. But if you look more closely at the spec sheet of that generator, you will quickly get disappointed: The 1.2GSa/s refers to the internal sampling rate of the AD9122 DAC. But the DAC has got an internal interpolation engine and Siglent "drives" it only at 300MSa/s while the interpolation makes signals that are within the specified frequency range appear (more ro less) like they had been sampled at 1.2GHz. So basically, the FY6600 and the SDG2000X aren't that far apart from each other. The DDS and "TrueArb" sampling scheme also only differ in details, you will find that the "reproduction rate" of the TrueArb scheme is another factor four slower than the DDS scheme (75MSa/s vs. 300MSa/s). This is necessary to reproduce slopes by adjusting their slew rate in order to apparently shift their position so they lie in between the "true" sampling points, thus reducing phase jitter, but this comes at the cost of bandwidth.

All this means that none of the manufacturers can do magic. All of them have funny names for their performance enhancement (TruArb, SiFi II,...) that describes the same principle.

I also don't exactly understand what you mean with that the Sinc signal is a difficult to reproduce waveform. If you stay within the mathematically possible frequency range, it's no more difficult than any other waveform. Moreover, an ARB generator is better suited to produce sensor signals for example that are otherwise difficult to obtain in the lab, i.e. to design a post-processing electronics. And these signals usually aren't that fast. I haven't heard of anyone requiring a 20MHz Sinc signal, but maybe I'm just ignorant  ;).

Anyway, I hope this information may give you some deeper insight into the subject.

Cheers,
Thomas
 
The following users thanked this post: rf-loop, Performa01, Johnny B Good

Offline Johnny B Good

  • Frequent Contributor
  • **
  • Posts: 811
  • Country: gb
Re: Siglent SDG1000X Waveform Generators
« Reply #151 on: October 24, 2020, 03:05:06 am »
@Johnny B Good -

I'm sorry if it sounds a little rude, but in none of your screenshots I can see a "properly" sampled Sinc pulse. The Sinc function has to be symmetrical, as soon as there's even the slightest asymmetry visible, it's likely that samples had been skipped.

I'm not sure if you are really familiar with basic sampling theory: Theoretically, in order to reproduce a sine signal, two samples are sufficient for each period of that sine. Since this is not possible practically, the maximum frequency that you will find in real-world generators, is 1/2.5 of the sampling frequency, i.e. the highest frequency that an AWG running at 250MSa/s will be able to generate is about 100MHz (Rigol DG992 for example). A Sinc signal from -32Pi to +32Pi will have 32 "hills and valleys" in total, so the highest frequency that this signal contains is 32 times the "repetition frequency" (22 as you reported in case of the SDG2000X). If you repeat a signal like this at 10MHz, the highest frequency component this signal contains is about 320MHz (vs. 220MHz in your case). There's no way the FY6600 nor the SDG2122X will reproduce this. What happens is called "aliasing", i.e. not every sample point in the waveform buffer gets "played back" and the reconstruction filter forms of the remaining sample points what you see on the screen of your scope. This may actually resemble a Sinc signal quite well, but it's not what's stored in the AWG's memory. It also leads to the "smearing" of the trace if there's a low-frequency interference between the sampling frequency and the highest frequency component of the Sinc signal to be reproduced.

You may argue that Siglent specifies for their SDG2000X generators 1.2GSa/s, and you are right. But if you look more closely at the spec sheet of that generator, you will quickly get disappointed: The 1.2GSa/s refers to the internal sampling rate of the AD9122 DAC. But the DAC has got an internal interpolation engine and Siglent "drives" it only at 300MSa/s while the interpolation makes signals that are within the specified frequency range appear (more ro less) like they had been sampled at 1.2GHz. So basically, the FY6600 and the SDG2000X aren't that far apart from each other. The DDS and "TrueArb" sampling scheme also only differ in details, you will find that the "reproduction rate" of the TrueArb scheme is another factor four slower than the DDS scheme (75MSa/s vs. 300MSa/s). This is necessary to reproduce slopes by adjusting their slew rate in order to apparently shift their position so they lie in between the "true" sampling points, thus reducing phase jitter, but this comes at the cost of bandwidth.

All this means that none of the manufacturers can do magic. All of them have funny names for their performance enhancement (TruArb, SiFi II,...) that describes the same principle.

I also don't exactly understand what you mean with that the Sinc signal is a difficult to reproduce waveform. If you stay within the mathematically possible frequency range, it's no more difficult than any other waveform. Moreover, an ARB generator is better suited to produce sensor signals for example that are otherwise difficult to obtain in the lab, i.e. to design a post-processing electronics. And these signals usually aren't that fast. I haven't heard of anyone requiring a 20MHz Sinc signal, but maybe I'm just ignorant  ;).

Anyway, I hope this information may give you some deeper insight into the subject.

Cheers,
Thomas

 Thanks for responding so quickly.

 As it happens, I am acquainted with sampling theory so quite understand your argument. I was also aware of the 300MSa/s and 75MSa/s limits in this "1.2GSa/s" AWG model. However, what I wasn't aware of was there being a specific number of "wiggles" in a properly formed Sinc pulse. I'd just assumed that the ten in total peaks of the Feeltech version and the twenty in total of peaks in the Siglent one (I just set the frequency of both to 1MHz and counted them again, including the tiny pip in the middle) were just approximations to a mathematical function involving an infinite series of coefficients. I hadn't realised there was meant to be a specific 32 waves in total to recreate an accurate facsimile of a Sinc pulse.

 In the light of that information (please excuse my ignorance and my ASS-U-MEd conclusions :-[), it seems that both Siglent and Feeltech have been cheating (Feeltech doubly so). That rather begs the question as to why Siglent in this case chose to set the limit at 20MHz rather than say 6MHz or even 12MHz at a push. The SDG1Kx models use a 6MHz limit and even this is double what a 150MSa/s rate could deliver.

 The appeal of the Sinc pulse in the Feeltech was purely down to the fact that it offered a uniquely distinctive jitter free waveshape pulse with nice steep edges so suited for the task of monitoring a slowly drifting sine or square wave from my gpsdo projects. I wasn't really concerned about the squiggles in between (quality or their quantity).

 Well, the fact that even Siglent felt impelled to cheat on the quantity of squiggles suggests they were trying to overcome a difficulty in producing them at  the highest frequency possible, given all the constraints. Presumably they must have decided that a close enough facsimile to a genuine full fat Sinc pulse would suffice most, if not all, users' needs. Just how exact does a Sinc pulse need to be, considering that Feeltech had cheated twice as much? ::)

 Presumably, a user who demands nothing less than a full fat Sinc pulse below the 3.75MHz limit of a 300MSa/s DAC could arbitrarily create or import  their own. Perhaps Siglent felt that their ersatz example would suit 90% of users and Feeltech had decided most of their customers wouldn't notice the difference anyway (and any that did could create one, after all, it is an AWG after all). ::)

 As for the question of anyone wanting a 20MHz Sinc pulse, I wonder who would want or need a 1MHz ECG?  :-DD

John
John
 
The following users thanked this post: Figaro

Offline TurboTom

  • Super Contributor
  • ***
  • Posts: 1389
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #152 on: October 24, 2020, 07:56:45 am »
Yes, tachycardia on steroids...   ;D

Yet, I may have explained the situation with the Sinc pulse somewhat inaccurately. The number of "wiggles" is not fixed, it's rather the decision of the instrument manufacturer. If you need a longer sample, you can easily generate it as a custom arbitrary. It's just the representation of the mathematical formula f(x)=Sin(x)/x The Sin(x) generates the periods (wiggles) while the 1/x is resposible for the hyperbolic amplitude drop and the phase change and funny shape around zero. Actually, at exactly zero, this formula isn't defined since you would divide by zero. But it's possible to calculate the limit lim(x->0) by calculating the quotient of the derivatives d/dx(Sin(x)) = Cos(x) (which is 1 @ x=0) and d/dx(x) = 1, so you're dividing 1/1=1, which is the value the Sinc function approaches for x -> 0. IIRC, this is called l'Hospital's rule...long time since I was at school and univerity...

Anyway, the interval that's used to reproduce the function in an AWG is more or less arbitrary. Btw, the Sinc function is used in digital oscilloscopes to mathematically interpolate a waveform with highest frequency contents only a little below nyquist, i.e. that's only a little more than two samples per period, so there are also practical applications of that "waveform". The details of this are best to be found in books on sampling theory.
 
The following users thanked this post: Johnny B Good

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4104
  • Country: fi
  • Born in Finland with DLL21 in hand
Re: Siglent SDG1000X Waveform Generators
« Reply #153 on: October 24, 2020, 08:20:56 am »


 As for the question of anyone wanting a 20MHz Sinc pulse, I wonder who would want or need a 1MHz ECG?  :-DD

John

Who need. No one.
Who "need". Kids or kids like grown ups just as for playing fun with scope and generator. Whole hobby may be just playing with test instruments alone like with Nintendo. They are main thing in hobby in some cases. Some cases peoples hobby is electronics  and so on and test and measurement instruments are only tools, just like screw driver and pliers etc.  When these are needed for real work for salary, mostly they are just tools. Who there need any ready made simplest ECG wfm what is only some how "looks like" joke copied from some basic school book, yes we can say there is artifical or better say artist painted QRST parts but after then it is all what it have. If someone need test some system he need very very different and not monotonic wfms for simulate real ECG for test some circuits for it, who think these jokes are useful in any real works but just for kids playing fun and for salesmans.
One purpose I know. Teaching. Example for teaching how to use and adjust oscilloscope for different things and signals. Example exercise lessons for simple trigger settings with different signals for look just wanted details. This can be one piece of whole set of different signals in basic training.






Sidenote(s) to some random readers who just read bit this and bit that and is confused by sampling speed, jitter, ARB detals disappearing and DDS one clock jitter and ARB frequency:

I take example about Siglent SDG1000X (because it is in topic)
ARB waveforms in DDS mode when fixed memory length is in use.
SDG1000X have 150Msa/s and ARB memory length is 16384  14 bit "words" for DAC.

One memory length is one ARB waveform  (later awfm).

All know working simplified principle is that it reads ARB memory using this fixed 150Msa/s speed  and  value goes to DAC input.

Now we can read data sheet. It tell that maximum ARB frequency is 6MHz! ARB memory lenght is 16k. It mean that it can repeat this one ARB memory waveform  6 million times in second (6M awfm/s).



If we think it can repeat whole ARB memory wfm with all its possible details using 6MHz ARB frequency -- this is just totally impossible. Why.

Because awfm length is 16k and it is sampled using 150Msa/s speed.
If we sample every single awfm memory position and we get out 6M awfm/s it need 6M*16384=98304Msa/s = 98.304Gsa/s
All know it is impossible. But data sheet do not tell it directly. User need understand how these work.

Lets look other way. What is maximal awfm/s what can do so that memory length is 16384 and clock is 150M and every data points in memory can take to DAC. 150/16384=0,0091552734375.
It mean that 9.1552734375k, bit over 9k awfm/s is maximum. Without loosing details maximum ARB frequency is 9.155 kHz !  Not 6 MHz of course.

Data sheet tell:
Arbitrary Wave characteristics
Frequency min 1uHz and  max 6MHz. 

But just ago I show that max is tiny bit over 9kHz.
Yes, this IS maximum  arbitrary waveform repeating frequency in SDG1000X model when memory length is fixed and sampling clock is fixed. 16k memory, 150M sampling speed)

Do they lie.
No.

How it is done. (now this is extrmely simplified)

What happen now if you set ARB speed for 6MHz aka 6M awfm/s.
With 150MSa/s it can do. "Only" need jump over many many points in memory and take just 25 samples. (150/6=25)
Now if there are lot of details in waveform in ARB memory they are just ignored, just jump over like lazy fox jumps. We loose details.  (of course it is bit more complex because memory length is 16384 and divide by.... and so on... so there need some what then can see as one clock jitter in final result)

Wait a minute, somewhere I just read that someone have told to my friend who tell to me that ARB can produce even 30MHz  or over sinewave, not so nice looking but still somehow nice wave.

Think other way previously told things...

Still bit rounding corners and simplified.
Just told that using 6MHz ARB max freg can read 25 data points when 150Msa/s clock.
Ok. Lets draw 10 cycle sinewave in ARB memory. Then run it with 6MHz ARB freq. Now it can read again 25 samples, 2.5 sample per one cycle.
Yes there is some filters and result may look some kind of "sine".  But if you  you run it using 3MHz or  draw 5 cycles sine and run it using 6MHz you get 30MHz out... now it looks bit better... and if you change frequency, with some freq it can even look quite nice... as also can do with 10 cycle sine in arb memory.

If we need every position in arb memory is used and forwarded to DAC,  SDG1000X can max up to 9.155kHz ARB frequency when memory length is 16k andsampling is 150Msa/s.  This is hard fact.
Every AWG have this limit as long as it is fixed clock with some memory length DDS

After we accept some memory positions loose (jump over) then it can repeat more awfm/s (higher ARB freq).

Siglent have selected max limit as 6MHz what is ok for very simple low detail ARB waveforms. This selection for limit is not based to some truth how it must be. If Siglent set limit to 1MHz all are screaming that neighbourg have higher ARB freq. Also it can set for 10MHz, even more, it can set even for 30MHz. If it is 30MHz all are crying it can not repeat acceptable nearly any other wfm than nearly sinewave or square. 6MHz is just compromise and nothing more, it is not some kind of technical fact limit. For simple awfm it is ok and for complex awfm with dense details it is far too fast for details.
User is master and just user need know his equipment and how to use it for his application. This is why user need know basic simple fundamentals and some principles how just his instruments works. Except if he is using these only for playing fun for loose free times.

Depending user selected ARB freq it can also vary what memory position is jump over and some other things so that average frequency what user have selected is correct. So mostly we can see 6.666... ns jitter in edges. But it is difficult in practice predict what detail is loosed exactly until you are working only up to trusted 9kHz ARB freq.

About this 6MHz ARB limit.
For roughly same result, if we reduce ARB memory to 8k  we can rise it to 12MHz and if we reduce memory to 4k we can set limit to 24MHz and result is same. So if you see noname generator what have same clock speed and example you see there higher ARB freq, think carefully what it mean. Example FY6900 have 250Msa/s, 8k memory and 10MHz ARB max. With its max ARB freq it can read same 25 data points from ARB memory as Siglent and all other data points are jump over, where jump over details and variations is depending freq adjustment and producing one clock, more or less semi random, jitter -  in FY6xxx 4ns and in Siglent 1000X 6.7ns. 

In Siglent TrueArb (and many others similar mode with different names) mode there is not this one clock jitter due to variable sampling clock and ARB memory length.


Originally SDG1000X series have only fixed length fixed clock DDS mode.
Not anymore.



Some time ago Siglent add "True Arb" mode also in SDG1000X series. It was software update, just not remember FW version when it happen.

In "TrueArb" mode things are very different.
Now we do not need  jump over and periodically change data point what we move to DAC for keep average frequency.
In this mode there is three (main) things what change.  One is of course ARB freq as also in DDS mode. But now also memory reading clock change and more, also memory lenghth can change. When stay in its limits user can be sure no detail is loosed *no jump over data points) and no one clock period jumping depending ARB freq. 
But this model TrueArb have limits. 1u - 30Msa/s  and 2 - 16384 pts. sampling speed is always limited to speed where do not need jump over memory position so user know that all details are included. In this mode cycle to cycle (awfm to awfm) jitter is specified as 2 pts,  300ps RMS @ 20.1MSa/s  when direct DDS mode have specified as 6.7ns peak to peak



There is example earth quake wfm in ARB...  who can think 6MHz repeating this one quake period where is lot of details is somehow clever... as also ECG as also lot of other wfms including also sinc.  These just do not work with maximum ARB freq 6MHz.  Users need know even some basics about things.

It is good question to ask for what purpose users typically use or need ARB and with what speed and other paramaters and I do not mean what is nice to have for some niche rare use or just for "nice to have" because some others have.
Total 196 pre programmed wfm in memory. Just for checkbox feature in sales brochure and nothing else in real life. Of course nice for just playing fun. Also with other tools can play fun, even with hammer and saw. Some play fun with nintendo. Some play fun with scope and other instruments.
And because neighbour company have more perhaps other need also add more. Perhaps some year we can see some company advertise they have 10000 ready made ARB wfm in memory, ready for use. Even 196 is some difficult. You need lot of time to find if some there meet your needs. How you select them. In menu they have some names. Some wfm names do not tell nearly anything and you need just select and look. How often you want do it, finding if there is something what you just now need. Who need these.
« Last Edit: October 24, 2020, 08:31:17 am by rf-loop »
I drive a LEC (low el. consumption) BEV car. Smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the wises gone?
 
The following users thanked this post: Performa01, TurboTom, 2N3055, Mortymore, ahope, Johnny B Good

Offline Johnny B Good

  • Frequent Contributor
  • **
  • Posts: 811
  • Country: gb
Re: Siglent SDG1000X Waveform Generators
« Reply #154 on: October 27, 2020, 11:48:52 pm »
@rf-loop

 Thank you very much for that clear and concise explanation. I suppose it really all boils down to the frequency content embedded within the awfm sample and the maximum speed limit on clocking all the vital data points out if all 16K of them need to be preserved.

 This reminds me of the quote "It's turtles all the way down!" often used to describe the cosmological regression problem.

https://en.wikipedia.org/wiki/Turtles_all_the_way_down

 In this case, I've thought up a rephrasing of the turtles one, "It's sine waves all the way up!" :)

 That's true of "perfect square waves" of course and nearly true for many other complex awfms. In short, the limitation is down to the complexity of the awfm generating a complex mix of sine waves - every wave form can be analysed into a mix, complex or simple, of sine waves. That's just the way things work in the real world. ;)

 With that 'fact of life' in mind, it's little wonder that the higher specification AWG kit becomes so very expensive so very bleedin' fast. :(

John
John
 

Offline munxx

  • Newbie
  • Posts: 1
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #155 on: November 03, 2020, 06:18:34 pm »
https://www.eevblog.com/forum/testgear/siglent-ads-firmware-file-format/msg1870091/#msg1870091
i have downloaded sdg1000x ads file but i am unable to flash it to my AWG...are there any additional steps to use it?


Hi all,

I had the same issue with the error message after mounting with rw privilege (I did read the instructions carefully).

I tried to reflash version 1.01.01.33R1B6 but bricked it. Probably wasnt a good idea to have the telnet ADS in the root of the thumbdrive used to do the reflash.

So I had to shamefully contact Siglent Europe who answered me on the same day, a sunday (!) and got back to me with the u-boot repair kit the next morning. Nice experience.


You mean this [telnet_SDG1000X.ADS]

This you can not flash at all. You do all like FW update with this file and SDG tell that it fails... do not care...do not shut off... just telnet and do what ever inside SDG system. If you do not know what to do there inside system and how... then please study first...yes it may take time to find all or if you find right place there can perhaps find all very detailed full instructions (it is like spring festival gift package what include all you need) what can use like blind (after you have telnet working) but be careful... it do not forgive any kind of typemistakes.   Do not try..oops...try...oops iteration... because this method may lead you to real problems and nearly like "destroy" your SDG

And seriously, do NOT downgrade to semidanger factory original or "eevblog version" FW ....01P22 even if you find it somewhere because if bad happen and it goes to boot problem... it do not support USB recovery method.
does anyone tried the mod SDG1000X-MOD-Part-II in order to change maximum frequencies of waveforms. I can't remount root partition in rw to change NSP_limit_data.xml. I have error on:
/ # mount -o remount,rw /
/ # cd /usr/bin/siglent/config


Hi all,

I had the same issue with the error message after mounting with rw privilege (I did read the instructions carefully).

I tried to reflash version 1.01.01.33R1B6 but bricked it. Probably wasnt a good idea to have the telnet ADS in the root of the thumbdrive used to do the reflash.

So I had to shamefully contact Siglent Europe who answered me on the same day, a sunday (!) and got back to me with the u-boot repair kit the next morning. Nice experience.
 
The following users thanked this post: rf-loop

Offline HamDancer

  • Contributor
  • Posts: 29
  • Country: us
Re: Siglent SDG1000X Waveform Generators
« Reply #156 on: December 16, 2020, 06:31:47 am »
I had the same issue with the error message after mounting with rw privilege (I did read the instructions carefully).

I tried to reflash version 1.01.01.33R1B6 but bricked it. Probably wasnt a good idea to have the telnet ADS in the root of the thumbdrive used to do the reflash.

I just want to second that I had exactly the same problem this week with a freshly purchased SDG1032X. I used the telnet "failed firmware" to upgrade to the SDG1062X, which worked fine, but then I received the "bad message" error when trying to mount the root directory. I made no other changes and followed the instructions carefully. The next time I cycled the power, without having anything plugged into the USB slot, I just got the startup logo forever. Once I received the recovery files, I was able to revert back to 22, then upgrade to 33R1B6, at which point I could complete the modifications without further drama. Are the units being shipped with a corrupted filesystem?

I recommend that new users don't try the "part 2" modifications without having the recovery files on hand first. It seems like several people have had identical problems recently. Avoid the sinking feeling I experienced :D

P.S. I would like to give a huge thanks to all the people who have worked so hard to provide information on the SDG1xxx here. It's been very educational.
 

Offline wally2q

  • Newbie
  • Posts: 6
  • Country: ca
Re: Siglent SDG1000X Waveform Generators
« Reply #157 on: January 20, 2021, 04:34:15 pm »
Hi Everyone,
I just received my new SDG1032x and would like to upgrade it.
I have read a lot of posts referring to Part II instructions, and the original instructions from 2018 but was able to only find the 2018 instruction set. 
Could someone "pretty please"  ;D post a "fresh set" of instructions so myself and any other newbies can avoid confusion and issues making the mod?... my unit runs the latest FW 1.01.01.33R1B6
thanks!
 

Offline 4x1md

  • Regular Contributor
  • *
  • Posts: 73
  • Country: il
    • 4X1MD on Github
Re: Siglent SDG1000X Waveform Generators
« Reply #158 on: January 21, 2021, 02:58:40 pm »
I noticed a strange bug in my SDG1032X. It doesn's restore the previous settings correctly after turning the unit off and on. On the attached image two upper screenshots show the settings before turning the AWG off and two bottom images show the settings which I get after turingh it off and then on. The settings which are not stored correctly are period time, duty cycle and fall edge in pulse mode.

Did anybody else notice this issue? Is there any solution?


Offline Hexley

  • Regular Contributor
  • *
  • Posts: 198
  • Country: us
Re: Siglent SDG1000X Waveform Generators
« Reply #159 on: January 21, 2021, 04:54:58 pm »
I noticed a strange bug in my SDG1032X. It doesn's restore the previous settings correctly after turning the unit off and on. On the attached image two upper screenshots show the settings before turning the AWG off and two bottom images show the settings which I get after turingh it off and then on. The settings which are not stored correctly are period time, duty cycle and fall edge in pulse mode.

Did anybody else notice this issue? Is there any solution?
I see similar but not identical behavior here. In my case, the period change is the same as yours but the duty cycle changes to 39.998% and the fall time goes to 16.8 ns.

Worse yet, after running this test my SDG1032X wants to revert to the pulse waveform even if I set the waveform to something else, like a sine for example, before power cycling. It always comes back up in the pulse mode.

I am running 1.01.01.33R1B6 firmware, upgraded to 60 MHz.

This unit had saved/restored settings on power cycles without issue in the past. Perhaps the same mechanism that caused the pulse parameters to be changed in this power cycle experiment also caused some other issue in the firmware that affects the restoration of waveforms in general.

This is something that Siglent may want to look into.
 

Offline Hexley

  • Regular Contributor
  • *
  • Posts: 198
  • Country: us
Re: Siglent SDG1000X Waveform Generators
« Reply #160 on: January 24, 2021, 05:52:45 pm »
Worse yet, after running this test my SDG1032X wants to revert to the pulse waveform even if I set the waveform to something else, like a sine for example, before power cycling. It always comes back up in the pulse mode.
Upon further investigation, it seems that my SDG1032X has a hardware issue that is causing it to lose the memory of its last waveform. Even after using recovery tools to return the unit to factory setup -- shout out to Tautech for his excellent help -- the problem remains. Looks like it will have to go in for service.

So to set the record straight, the waveform recall failure that I reported does not seem to be related to the 4x1md tests.

A comment about that test: the test signal period is set to 120.000 000 seconds. That corresponds to a frequency of 8333.333(...) uHz. If one rounds that frequency to the nearest integer it become 8333 uHz, which has a period of 120.004 800 seconds. Since that is the period seen in the 4x1md test, we have a clue as to what is going on inside the instrument.
 

Offline DL2XY

  • Regular Contributor
  • *
  • Posts: 75
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #161 on: January 24, 2021, 06:58:13 pm »

The SDG6000X behaves exactly the same.
The period time is stored as frequency in mHz, at restore time it is back converted to time, with rounding error.
 

Offline 4x1md

  • Regular Contributor
  • *
  • Posts: 73
  • Country: il
    • 4X1MD on Github
Re: Siglent SDG1000X Waveform Generators
« Reply #162 on: January 24, 2021, 07:37:17 pm »
A comment about that test: the test signal period is set to 120.000 000 seconds. That corresponds to a frequency of 8333.333(...) uHz. If one rounds that frequency to the nearest integer it become 8333 uHz, which has a period of 120.004 800 seconds. Since that is the period seen in the 4x1md test, we have a clue as to what is going on inside the instrument.
It explains the frequency issue. I still don't understand why it doesn't store duty cycle and fall time correctly.

Online tautechTopic starter

  • Super Contributor
  • ***
  • Posts: 28368
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Siglent SDG1000X Waveform Generators
« Reply #163 on: January 24, 2021, 07:46:35 pm »
A comment about that test: the test signal period is set to 120.000 000 seconds. That corresponds to a frequency of 8333.333(...) uHz. If one rounds that frequency to the nearest integer it become 8333 uHz, which has a period of 120.004 800 seconds. Since that is the period seen in the 4x1md test, we have a clue as to what is going on inside the instrument.
It explains the frequency issue. I still don't understand why it doesn't store duty cycle and fall time correctly.
DC returns the correct 49.998% which like frequency is linked to the sampling rate.
In nearly 30 emails to and fro to Hexley he has a suspicion of a bad memory block but it needs confirming with more work. The newish unit I used to work with him showed zero issues with returning Last settings based on your example.

Hexley was a real trooper deeply testing this issue with his unit.  :clap:
Some  :popcorn: is needed before we have the full answer to this.
« Last Edit: January 24, 2021, 07:53:39 pm by tautech »
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Offline Hexley

  • Regular Contributor
  • *
  • Posts: 198
  • Country: us
Re: Siglent SDG1000X Waveform Generators
« Reply #164 on: January 24, 2021, 08:47:56 pm »
Some  :popcorn: is needed before we have the full answer to this.
What would be great is a way to test the internal file system for errors, with fsck or something.

If my understanding is correct, one cannot run fsck on mounted filesystems, so the root device of a running system cannot be checked. But my Linux experience is thin, so perhaps others can suggest alternatives.
 

Offline tubularnut

  • Regular Contributor
  • *
  • Posts: 225
  • Country: gb
Re: Siglent SDG1000X Waveform Generators
« Reply #165 on: January 24, 2021, 09:03:24 pm »
Some  :popcorn: is needed before we have the full answer to this.
What would be great is a way to test the internal file system for errors, with fsck or something.

If my understanding is correct, one cannot run fsck on mounted filesystems, so the root device of a running system cannot be checked. But my Linux experience is thin, so perhaps others can suggest alternatives.

Most flavours of Unix/Linux fsck programs have options to check a mounted filesystem with 'no' error fixing, but the results you get cannot always be trusted. My experience is to leave running/mounted filesystems alone, it's a great way to trash a running system (to my dismay).

Generally, if a filesystem has mounted , it has already passed an fsck check, though the 'fsck check on mount' is only reading a flag on the filesystem, and not always of reflection of underlying filesystem status. But that's a whole rabbit hole to go down in other discussions.
 
The following users thanked this post: tv84, Hexley

Offline mirror

  • Contributor
  • Posts: 13
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #166 on: January 30, 2021, 05:34:12 pm »
Hello,
the attached python script is taken over from SDG_Programming manual.
I use the SDG 1032X generator who is specified with 14-bit vertical resolution. But doing so with the script activated 14 bit entry the programmed steps do not cover the entire range of 4Vpp. If I activate the 16 bit array instead everything is OK by covering the expected range.
Can someone enlight me where my fault is.
« Last Edit: January 30, 2021, 09:57:41 pm by mirror »
 

Offline HendriXML

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: nl
    • KiCad-BOM-reporter
Re: Siglent SDG1000X Waveform Generators
« Reply #167 on: January 30, 2021, 06:31:46 pm »
It has a 14 bit dac, however the waveform is transfered using the full range of 16 bit signed integers. So forget about the 14 bit dac  :D. That's in this case just technical info. However I don't think the manual is clear in that regard.
« Last Edit: January 31, 2021, 10:35:21 am by HendriXML »
“I ‘d like to reincarnate as a dung beetle, ‘cause there’s nothing wrong with a shitty life, real misery comes from high expectations”
 

Offline mirror

  • Contributor
  • Posts: 13
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #168 on: January 30, 2021, 10:02:39 pm »
Thanks for answering.
Do you have an idea how to check it? Save the wave.bin and decode it? Or make a slow sweeps and check it with a 24 bit soundcard?
 

Offline HendriXML

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: nl
    • KiCad-BOM-reporter
Re: Siglent SDG1000X Waveform Generators
« Reply #169 on: January 30, 2021, 10:56:47 pm »
Quote from: mirror on Today at 14:02:39
Thanks for answering.
Do you have an idea how to check it? Save the wave.bin and decode it? Or make a slow sweeps and check it with a 24 bit soundcard?

I'm not sure what you mean by checking.. like checking the signal with a scope?

This code block shows what needs to be in the datastream that is send to the awg. First the wave command and parameters. One byte per character (ansi, not unicode).  Then the number of int16 's mentioned by LENGTH divided by 2 (bytes per int16). So the wave form can be shorter than 16k samples.
Code: [Select]
<Execute Statement="Memstream.WriteDataAnsiString('C1:WVDT WVNM,' + WaveName + ',TYPE,5,LENGTH,32768B,FREQ,300,AMPL,6,OFST,0,PHASE,0.000000000,WAVEDATA,')"/>
<ForLoop Indexer="I" From="0" To="16384 - 1" >
  <Execute Statement="Memstream.WriteDataInt16(ASample)"/>
</ForLoop>

« Last Edit: January 31, 2021, 10:36:58 am by HendriXML »
“I ‘d like to reincarnate as a dung beetle, ‘cause there’s nothing wrong with a shitty life, real misery comes from high expectations”
 

Offline mirror

  • Contributor
  • Posts: 13
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #170 on: January 31, 2021, 04:57:46 pm »
Quote from: mirror on Today at 14:02:39
Thanks for answering.
Do you have an idea how to check it? Save the wave.bin and decode it? Or make a slow sweeps and check it with a 24 bit soundcard?

I'm not sure what you mean by checking.. like checking the signal with a scope?

This code block shows what needs to be in the datastream that is send to the awg. First the wave command and parameters. One byte per character (ansi, not unicode).  Then the number of int16 's mentioned by LENGTH divided by 2 (bytes per int16). So the wave form can be shorter than 16k samples.
Code: [Select]
<Execute Statement="Memstream.WriteDataAnsiString('C1:WVDT WVNM,' + WaveName + ',TYPE,5,LENGTH,32768B,FREQ,300,AMPL,6,OFST,0,PHASE,0.000000000,WAVEDATA,')"/>
<ForLoop Indexer="I" From="0" To="16384 - 1" >
  <Execute Statement="Memstream.WriteDataInt16(ASample)"/>
</ForLoop>
Thanks for the code example. It seems xml code - not python and for other SDG (1000x has no TYPE and LENGTH)?
Your are sure that we can reach a 16bit resolution with the SDG1032X?
I tried to check it but struggling about the large offset of about 100mV (in 4Vpp range) for arbitrary waveforms.
The first picture show the builtin arbitrary StairUp, the second picture an programmed waveform
Code: [Select]
wave_points = [0x8000, 0x8000, 0xc000, 0xc000, 0x0000, 0x0000, 0x4000, 0x4000, 0X7FFF, 0X7FFF]Both waveforms show an offset of 100mV on low end (-1.9V instead of -2V) which disappears step by step. So we have correct +2V on the other end.
If I source -2V DC everything is OK, for pulse and sinus too.
I think it has to do with an erroneous mapping of an 16bit range to the SDG1032X DAC which is only able to convert 14bit.
 

Offline HendriXML

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: nl
    • KiCad-BOM-reporter
Re: Siglent SDG1000X Waveform Generators
« Reply #171 on: January 31, 2021, 06:05:01 pm »
The code was just a copy of what I used, I'm not familiar with Python.

I'm sure that one cannot get 16 bit resolution out of a 14 bit dac though  :D (the awg, will scale/divide them)

How to setup the wave is not directly related to the dac. For instance you could combine waveforms, maybe the extra bits come in hand with rounding errors then.
“I ‘d like to reincarnate as a dung beetle, ‘cause there’s nothing wrong with a shitty life, real misery comes from high expectations”
 

Offline mirror

  • Contributor
  • Posts: 13
  • Country: de
Re: Siglent SDG1000X Waveform Generators
« Reply #172 on: January 31, 2021, 07:39:17 pm »
In SDG's programming manual p.74 they speak about Two's complement.
Can you check if your SDG has an offset for the builtin arb wf StairUp.
 

Offline HendriXML

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: nl
    • KiCad-BOM-reporter
Re: Siglent SDG1000X Waveform Generators
« Reply #173 on: January 31, 2021, 09:10:31 pm »
Here's my stair up, the used parameters can be seen in the document.

When debugging waveforms it may also be handy to trigger from the trigger output from the back of the awg.

Using NI MAX tool the parameters can be shown:
Code: [Select]
C1:BaSic_WaVe?
C1:BSWV\sWVTP,ARB,FRQ,1831.054688HZ,PERI,0.000546133S,AMP,5V,
OFST,0V,HLEV,2.5V,LLEV,-2.5V,PHSE,0\n
« Last Edit: January 31, 2021, 09:19:39 pm by HendriXML »
“I ‘d like to reincarnate as a dung beetle, ‘cause there’s nothing wrong with a shitty life, real misery comes from high expectations”
 

Offline HendriXML

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: nl
    • KiCad-BOM-reporter
Re: Siglent SDG1000X Waveform Generators
« Reply #174 on: February 01, 2021, 02:32:51 am »
B.t.w have you tried the other channel? In case there's an issue with one dac..

When I first got the sdg1032x I did some extensive testing of its 2 dac's, so I wouldn't expect it to be 100 mV off. That number seems also too "pretty", hence I kinda suspect human error..

https://www.eevblog.com/forum/testgear/sag1021-vs-sdg1032-what-to-expect/msg2440542/#msg2440542

But as a first step its good to switch channels, on awg, but also scope (auto calibrated?). Also make sure your not combining 2 channels.
« Last Edit: February 01, 2021, 09:34:19 am by HendriXML »
“I ‘d like to reincarnate as a dung beetle, ‘cause there’s nothing wrong with a shitty life, real misery comes from high expectations”
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf