Author Topic: Upgraded SDG1000X Plus AWG's  (Read 14082 times)

0 Members and 1 Guest are viewing this topic.

Offline RAPo

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #75 on: February 09, 2025, 07:57:35 am »
Interesting stuff Rudi,

Did you actually try out a Siglent VNA  and measure it?

Will try to replicate your procedure with my DG2052.

In the meantime, I would propose the following:
Keep this improper signal and add a submenu in the arb section called Standard PSBR and add signals to that based on a LFSR with a defined minimal plynominal, e.g. a list as described here.

It is always good to have a signal that looks like something, but is not it exactly ;-).

@Tautech could you contact Siglent HQ and inquire how (and why!) they implemented this functionality as it is now?
« Last Edit: February 09, 2025, 03:33:37 pm by RAPo »
 

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1833
  • Country: se
Re: Upgraded SDG1000X Plus AWG's
« Reply #76 on: February 09, 2025, 08:58:28 am »
deep dive
Nice description and introduction to PRBS, thank you!

Just one nitpick: you repeatedly stated Siglent should use a LFSR implementation for the PRBS.
Well, the produced sequence IS an LFSR one, and of the same Fibonacci family.

It's just using a different, still maximum length, polynomial, x⁹+x⁴+1, instead of the more common x⁹+x⁵+1 - it's easy to verify with any online LFSR calculator/simulator or your spreadsheet.

I had the suspect that was the issue since your first video, but here you have collected and shown the sequence, so I could check, thanks again.

The 9 and 4 taps have no common factor, guaranteeing maximum length (and the other properties).
Note that O.150 states an implementation "may" use the 9-5 polynomial, that's the weakest recommendation one can read in a standard, and not binding in any way.
That said, there are standard, and there are de facto standards and implementations which everyone should follow.
« Last Edit: February 09, 2025, 09:17:31 am by newbrain »
Nandemo wa shiranai wa yo, shitteru koto dake.
 
The following users thanked this post: 2N3055, RAPo

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7676
  • Country: hr
Re: Upgraded SDG1000X Plus AWG's
« Reply #77 on: February 09, 2025, 09:16:39 am »
deep dive
Nice description and introduction to PRBS, thank you!

Just one nitpick: you repeatedly stated Siglent should use a LFSR implementation for the PRBS.
Well, the produced sequence IS an LFSR one, and of the same Fibonacci family.

It's just using a different, still maximum length polynomial, x⁹+x⁴+1, instead of the more common x⁹+x⁵+1 - it's easy to verify with any online LFSR calculator/simulator or your spreadsheet.

I had the suspect that was the issue since your first video, bu here you collected and shown the sequence, so I could check, thanks again.

The 9 and 4 taps have no common factor, guaranteeing maximum length (and the other properties).
Note that O.150 states an implementation "may" use the 9-5 polynomial, that's the weakest recommendation one can read in a standard, and not binding in any way.
That said, there are standard, and there are de facto standards and implementations which everyone should follow.

I agree with your assesment.
PRBS sequence they produce is valid, hence spectrum and balance is correct.
For loopback testing and eye testing it is perfectly good sequence...

But...
De facto standards are just that, de facto standards.
Not mandatory, but it is nice to comply because it makes engineers life easier.
So it would interoperate with other equipment..

I am going to discuss this with Siglent engineers and if there is no hard reason why sequence is such, i think they should use "the usual" polynomials...
Just to play nice with other kids...

And yes, @Rudi, VERY nice investigation...

Best to all,

Siniša
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 
The following users thanked this post: newbrain

Offline RAPo

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #78 on: February 09, 2025, 11:52:43 am »
Please see my plea for adding the sequences for the usual poynomials, but also keeping the current implementation

I am going to discuss this with Siglent engineers and if there is no hard reason why sequence is such, i think they should use "the usual" polynomials...
Just to play nice with other kids...

And yes, @Rudi, VERY nice investigation...

Best to all,

Siniša
 
The following users thanked this post: 2N3055

Offline sfs1

  • Contributor
  • Posts: 10
  • Country: de
Re: Upgraded SDG1000X Plus AWG's
« Reply #79 on: February 09, 2025, 12:07:02 pm »
A look inside

 
The following users thanked this post: TurboTom

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #80 on: February 09, 2025, 02:44:50 pm »
Dear all,

A lot of interesting contributions this morning!

After the suggestion on YouTube to try other seeds than '111111111', I realized that that was actually not the solution, but realized that it might be the used polynomial instead. While making and finalizing a video on this, others had already come to the same conclusion. Nice to see great minds on the forum!

The video is here (and of course, I now added acknowledgments to @newoldbrain in this video for the first with this finding!)



Quote
Did you actually try out a Siglent VNA  and measure it?

If only I had one ;-)
 
The following users thanked this post: newbrain, RAPo

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7676
  • Country: hr
Re: Upgraded SDG1000X Plus AWG's
« Reply #81 on: February 09, 2025, 03:28:29 pm »
As a side note, SDG7000A, supports user defined polynomials...
Yes, I know, completely different class...
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 
The following users thanked this post: RAPo

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #82 on: February 09, 2025, 05:15:40 pm »

Quote
As a side note, SDG7000A, supports user defined polynomials...

Oh, that is nice indeed. I recall I did look into both its data sheet and manual whenb I prepared my first video on the SDG1k+ and could not find this information. But I am now also checking the firmware release information, and see this was added in 1.1.1.33R1 (released on 11/06/2024).

This firmware upgrade signals that people do care about PRBS implementation ;-)

Do you know what the implementation was before the firmware allowed you to make choices? Is the regular ITU implementation or the one we now see in the SDG1k+ ?

PS It would be nice if the Siglent User Manuals and Data Sheets would indicate with what firmware version they correspond. I seem to see that the codes on those documents relate to updates (for the 7000A, the latest user manual is EN01E and the latest data sheet is EN01C. Both of these mention the 625MBs PRBS maximal speed, introduced in the firmware (released1.1.1.29R8 ). But to what precize version they correspond, I don't know. Other manufacturers are often explicit about this.
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7676
  • Country: hr
Re: Upgraded SDG1000X Plus AWG's
« Reply #83 on: February 09, 2025, 05:57:59 pm »

Quote
As a side note, SDG7000A, supports user defined polynomials...

Oh, that is nice indeed. I recall I did look into both its data sheet and manual whenb I prepared my first video on the SDG1k+ and could not find this information. But I am now also checking the firmware release information, and see this was added in 1.1.1.33R1 (released on 11/06/2024).

This firmware upgrade signals that people do care about PRBS implementation ;-)

Do you know what the implementation was before the firmware allowed you to make choices? Is the regular ITU implementation or the one we now see in the SDG1k+ ?

PS It would be nice if the Siglent User Manuals and Data Sheets would indicate with what firmware version they correspond. I seem to see that the codes on those documents relate to updates (for the 7000A, the latest user manual is EN01E and the latest data sheet is EN01C. Both of these mention the 625MBs PRBS maximal speed, introduced in the firmware (released1.1.1.29R8 ). But to what precize version they correspond, I don't know. Other manufacturers are often explicit about this.

I don't know at this moment how it is implemented in 6000 and 7000A.
As for mapping of datasheet,manual and FW releases, I am afraid other manufacturers are not very precise either.
This is something that was communicated to Siglent.
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #84 on: February 09, 2025, 08:26:04 pm »
Quote
As for mapping of datasheet,manual and FW releases, I am afraid other manufacturers are not very precise either.

It's true that many more manufacturers could do a better job here. But fortunately, it is not rare either. Looking at my main set of main lab instruments, I note that for 8 instruments this information is provided, and 13 not (of which 6 Siglent devices...)

And, really, it is not so hard to do this well, is it? Any reason why you would not do so?

**** Observations ****

Firmware version is clearly identified in the user manual (7 devices)
•   HP E6392A: “This manual applies directly to instruments with serial number prefix JP5MG, or firmware revision B.03.00 and above.”
•   R&S FPC1500: “The contents of this manual correspond to firmware version 1.50 and later.”
•   R&S RTB2004: This manual describes the following R&S®RTB2000 models with firmware version 2.4xx: R&S RTB2002 (1333.1005K02), R&S RTB2004 (1333.1005K04)
•   R&S AMU200A: This manual describes firmware version FW 3.20.286.xxx and later of the R&S SMU200A [...]
•   R&S NGE105B: “The contents of this manual correspond to firmware version 1.53 or higher.”
•   R&S CMU200: “This operating manual describes version V5.20 and higher of the R&S CMU base software[…]”
•   TTC FIREBERD 6000A: “This Reference Manual applies to all FIREBERD 6000 Communications Analyzers incorporating Software Revision L.”

Firmware version is provided in the user manual but you have to look for it a bit (1 device):
•   SR&S SMIQ: “The current version (SIMQ firmware version 5.70 or higher)” (page 2.169)

Firmware version is not at all identified in the user manual (13 devices)
•   R&S CMD52, 55
•   Anritsu MG3700A
•   EA PS 2042-20B
•   GW INSTEK GPM-8310
•   Keithley DMM6500
•   Keysight DSOX1204G
•   Racal 6103
•   Siglent SDG1032X
•   Siglent SDG1064X Plus
•   Siglent SDG2042X
•   Siglent SDL1020X-E
•   Siglent SDM3045X
•   Siglent SDS2104X PLUS 
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7676
  • Country: hr
Re: Upgraded SDG1000X Plus AWG's
« Reply #85 on: February 09, 2025, 08:35:52 pm »
That is because you have a lot of R&S instruments and old HP.

Keysight does not do it anymore.
My pet peeve is when document not having publishing date, just version.
As I said, it was communicated.
I presume you understand quite well that organising optimum document/knowledge/info flow is not actually trivial...
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1833
  • Country: se
Re: Upgraded SDG1000X Plus AWG's
« Reply #86 on: February 10, 2025, 08:13:26 pm »
I might be onto something on what might be happening in the SDG1000X+ FW, or most probably VHDL/verilog FPGA code.

Give me a couple of hours to verify (or falsify) my hypothesis on my generator.
Nandemo wa shiranai wa yo, shitteru koto dake.
 

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #87 on: February 10, 2025, 08:25:14 pm »
OK, looking forward  :P
 

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1833
  • Country: se
Re: Upgraded SDG1000X Plus AWG's
« Reply #88 on: February 10, 2025, 10:07:30 pm »
OK, here is the result of the investigation.

The hunch:
Due to the way a LFSR works, the number of zeros following the maximum ones run is determined by the exponent, ie., position of the first "tap" starting from X⁰ == 1.
E.g., for the PRBS-9, with the standard X⁹ + X⁵ + 1 polynomial, the expected number of zeros is five.
The SDG1kX+, instead, produces four zeros, hinting to a X⁹ + X⁴ + 1 poly.

BUT! 9-5 = 4. That's what you would get by reversing the tap order - BTW, much easier to inadvertently do in verilog than in C, IMO.

Verification
I verified whether that was the case for all the de facto standard polynomial (from Wikipedia, the standard, or any other source):
Code: [Select]
    PRBS7  = x⁷ + x⁶ + 1               ᑫЯᗺƧ7  = x⁷ + x + 1
    PRBS9  = x⁹ + x⁵ + 1               ᑫЯᗺƧ9  = x⁹ + x⁴ + 1
    PRBS11 = x¹¹ + x⁹ + 1              ᑫЯᗺƧ11 = x¹¹ + x² + 1
    PRBS13 = x¹³ + x¹² + x² + x + 1    Not useful for this quick test!
    PRBS15 = x¹⁵ + x¹⁴ + 1             ᑫЯᗺƧ15 = x¹⁵ + x + 1
    PRBS20 = x²⁰ + x¹⁷ + 1              ᑫЯᗺƧ20 = x²⁰ + x³ + 1
    PRBS23 = x²³ + x¹⁸ + 1             ᑫЯᗺƧ23 = x²³ + x⁵ + 1
    PRBS31 = x³¹ + x²⁸ + 1             ᑫЯᗺƧ31 = x³¹ + x³ + 1

NOTE: I did not check that the full sequence matched the reversed polynomial, just that the first zero runs matched the expectations.

Results:
PRBS-7, tested at 1 Mbps
2498793-0
Not off to good start. A sequence of 3 zeros does not match either polynomial.

PRBS-9, tested at 1 Mbps
2498769-1
This is a positive, as we know by now!

PBRS-11, still 1 Mbps
2498773-2
Another positive.

PBRS-13
NOT tested, as the run is of length one in both directions!

PRBS-15, 1 Mbps
2498777-3
Another positive

PRBS-20, 1 Mbps
2498781-4
This one is a bit inconclusive, O.151 gives the poly I used - a positive, but O.153 suggests the reversed one, as does Wikipedia.
I don't have the spec at hand now, I might need to check at work tomorrow - if I can get them.
I'd still count this as a confirmation.

PRBS-23, Now at 10 Mbps, to get a faster trigger.
2498785-5
Confirmed.

PRBS-31, 40 Mbps, maximum for the SDG1kX+
2498789-6
Yup!

Conclusion:
Of course, the hypothesis can be thoroughly confirmed only by a deeper check (wondering: is it enough to check n bits after the maximum one run? Possibly yes), but, with the exception of PRBS-7, a complete outlier, I'm strongly inclined to believe that a bit index reversal is what happened.

What do you think?

EtA: I hate this forum attachment mechanism...
« Last Edit: February 10, 2025, 10:09:55 pm by newbrain »
Nandemo wa shiranai wa yo, shitteru koto dake.
 
The following users thanked this post: rf-loop, tautech, 2N3055, mawyatt

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #89 on: February 11, 2025, 08:00:16 am »
@newbrain,

Seems you nailed it!  ;D ;D

This strongly suggests that Siglent did not consciously use other polynomials - having some reasons to do so - but instead made a programming mistake (and never actually tested whether the generated code was the one they thought they had made).

Time permitting, I will try to capture the bit sequence for all code lengths from the SDG 1000X Plus. Initially, I was facing some limitations in that the R&S RTB oscilloscope I use to do parallel decoding was only saving relatively short decode files to its memory. But now I found that using SCPI, I can get large data sets (over 600,000 values) without problems, just with some patience (see another threat here).

Then we can compare the Siglent bit patterns with those of others.

I know there are several PRBS code generating examples in C++ to be found on the internet, but they are for specific PRBS lengths and specific polynomials. I'm not much of a programmer, but would someone have a C++ code that would allow the user to set a PRNS length and the desired set of (two or four) polynomials, and then it generates that data? One that would run in an online C++ compiler, like Programiz? That would be awesome; then we could compare all scenarios.

Best Rudi
 
The following users thanked this post: newbrain, RAPo

Offline RAPo

  • Frequent Contributor
  • **
  • Posts: 925
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #90 on: February 11, 2025, 08:26:05 am »
For python code see this link.
And java implementation is here
« Last Edit: February 11, 2025, 10:16:20 am by RAPo »
 
The following users thanked this post: newbrain, 2N3055

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1833
  • Country: se
Re: Upgraded SDG1000X Plus AWG's
« Reply #91 on: February 11, 2025, 08:49:33 am »
Or this:
https://pylfsr.github.io/

For a quick check, there's also this online calculator:
https://www.omnicalculator.com/math/linear-feedback-shift-register

It's of course not that practical to generate very large codes, but I'm pretty sure one does not need to check more than the first n bits, as at that point all the taps "have had their say".

The initial state needs to be set to all ones (e.g., for PRBS-9: 111'111'111), and the so called "connection coefficients" are entered with the LSB first, from x to xn (e.g. for the standard PRBS-9: 000'010'001 with a one in the fifth position, for X⁵ and a one in the ninth position for x⁹).

I was not able to find a polynomial for PRBS-13 that matched Siglent's output, but did not try many combinations. I must say, though, that it's neither the straight or the reversed one  for some common definitions I've found  :-//.
Nandemo wa shiranai wa yo, shitteru koto dake.
 
The following users thanked this post: 2N3055, RAPo

Offline tautechTopic starter

  • Super Contributor
  • ***
  • Posts: 30112
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Upgraded SDG1000X Plus AWG's
« Reply #92 on: February 11, 2025, 09:02:41 am »
Finally got my paws on 2 of these today and they both sold to the same client the night before !  :o

As an EEVblog viewer he said to hang onto one until next week so to get some content about them uploaded.  :clap:
Thanks Ben.  :-+

A wee look at the webserver Instrument control page with a Windoze screenshot and another using the virtual button to save a screenshot to your browsers Download folder.
As attached.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 
The following users thanked this post: blackdog, KungFuJosh

Offline newbrain

  • Super Contributor
  • ***
  • Posts: 1833
  • Country: se
Re: Upgraded SDG1000X Plus AWG's
« Reply #93 on: February 11, 2025, 05:06:49 pm »
was not able to find a polynomial for PRBS-13 that matched Siglent's output, but did not try many combinations. I must say, though, that it's neither the straight or the reversed one  for some common definitions I've found  :-//.
Found!

It's  X¹³ + X⁴ + X³ + X + 1, still a maximally long LFSR, no resemblance to any I (nay, Google and Copilot) was able to find.
Nandemo wa shiranai wa yo, shitteru koto dake.
 

Offline Njk

  • Frequent Contributor
  • **
  • Posts: 374
  • Country: ru
Re: Upgraded SDG1000X Plus AWG's
« Reply #94 on: February 11, 2025, 05:39:06 pm »
If this SDG can generate a sync pulse at the start of a PRBS sequence?
 

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #95 on: February 11, 2025, 05:58:21 pm »
Quote
[can this SDG] generate a sync pulse at the start of a PRBS sequence?

No. For reasons unknown to me, the sync out via the AUX connector is disabled for PRBS mode. If you have a scope at the receiving end, you may use minimal pulse width to find the sequence start (since, for instance, a PBRS-15 code has to start with 15 ones in sequence, so you can search for a pulse within that length).

If you load a PBRS pattern into the generator's ARB memory, however, the sync out via the AUX connector works, and you have your sync pulse. And then you can use the second channel to create a clock sync. See my video on this for details.
 

Offline RBBVNL9

  • Frequent Contributor
  • **
  • Posts: 394
  • Country: nl
Re: Upgraded SDG1000X Plus AWG's
« Reply #96 on: February 11, 2025, 05:59:35 pm »
Quote
Found!

It's  X¹³ + X⁴ + X³ + X + 1, still a maximally long LFSR, no resemblance to any I (nay, Google and Copilot) was able to find.

Nice job, and good to see all this advanced reverse engineering  ;D
 

Online mawyatt

  • Super Contributor
  • ***
  • Posts: 4258
  • Country: us
Re: Upgraded SDG1000X Plus AWG's
« Reply #97 on: February 11, 2025, 06:12:40 pm »
All this PRBS brings back very old memories of our early high speed digital comms work. We were developing an early rendition of GMSK MW System for use in a heavy multi-path environment. We didn't have any high speed BERT equipment, so as usual we developed our own. Probably should start a dedicated thread if anyone is interested.

https://www.eevblog.com/forum/rf-microwave/early-digital-comms-concept-based-upon-gmsk/

Best,

« Last Edit: February 11, 2025, 08:25:54 pm by mawyatt »
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 
The following users thanked this post: newbrain, 2N3055, KungFuJosh

Offline blackdog

  • Frequent Contributor
  • **
  • Posts: 768
  • Country: nl
  • Please stop pushing bullshit...
Re: Upgraded SDG1000X Plus AWG's
« Reply #98 on: February 11, 2025, 08:14:03 pm »
Hi sfs1,  ;)

Can you tell us the type number of the DAC and opamp's used in the output amps?

Thanks in advance,
Bram
Necessity is not an established fact, but an interpretation.
 

Offline TurboTom

  • Super Contributor
  • ***
  • Posts: 1484
  • Country: de
Re: Upgraded SDG1000X Plus AWG's
« Reply #99 on: February 11, 2025, 10:57:10 pm »
Opamps are ADA4937-1 (differential transimpedance amp) LMH6702 (low level driver) and THS3491 (high level driver). DAC most likely is an AD9122.
Offset voltage driver not identified, S/H opamps for generation of internal control voltages are TLC272 (or equivalent).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf