Author Topic: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD  (Read 8732 times)

0 Members and 1 Guest are viewing this topic.

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Hi all,

As mentioned (and suggested by 2N3055) in the Siglent SDS2000X plus thread, I´m starting a dedicated one for this "problem".
Actually in questionmarks because it´s not really clear if this is a problem sitting in front of the scope... ;)
What was happen ?
In the siglent thread the question came up if you can´t display the bandwith (frequency response) by using the math functions.
You can:

https://www.eevblog.com/forum/testgear/siglent-sds2000x-plus-coming/msg4156720/#msg4156720

I´ve tried to reproduce it on my sds2504x+ but it failed somehow:

https://www.eevblog.com/forum/testgear/siglent-sds2000x-plus-coming/msg4157086/#msg4157086

Then 2N3055 took another scope from siglent, it works.
And so on, and so on, see the following posts there.
The expression used in the first time by 2N3055 is FFT(d(Channel)/dx).

At work I checked this with three different scopes from lecroy.
-Waverunner 9054, 500Mhz, 20GSa/s
-HDO6034A, 350Mhz, 10GSa/s
-Wavesurfer WS3024Z, 200Mhz, 4GSa/s

On all the models you can´t do very much on the FFT adjustments(like memorypoints, markers and so on the siglent got).
Max. resolution was 10ns/div, above (5ns and more) the ws3024z didn´t display the function proper(No problem for the Waverunner)
Today I used the same settings at home on my siglent for comparison all the scopes directly.
Tomorrow I´ll follow the questions/suggestions from gf:

Quote
- FFT(d(Intrp(C1))/dt)
- 20x interpolation
- dx as short as possible
- Flat Top window function
- span 0...1GHz
- 2µs/div (as before) might be a reasonable starting point.

https://www.eevblog.com/forum/testgear/siglent-sds2000x-plus-coming/msg4171216/#msg4171216

Goal of this new thread is to find out, if this is a bug to fix or if this siglent model is simply not capable to do this.
Or it´s me who is not capable to do this...  8)
The last is no problem, I´m always willing to learn.
EDIT : Title changed.
« Last Edit: March 20, 2024, 11:09:57 pm by Martin72 »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #1 on: May 14, 2022, 09:10:16 pm »
Pics from the "big" scopes..

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4105
  • Country: fi
  • Born in Finland with DLL21 in hand
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #2 on: May 15, 2022, 08:24:05 am »
I do not have same kind of signal available now.
But because these are just partially for fun, I use SDS1104X-E oscilloscope Trig out for get edge what is still possible to measure with this scope, so it is suitable signal for this scope when it works 2GSa/s real samplerate. (if use 1GSa/s this signal rise is too fast). This all is not meaningful at all in this case.

But then this what was @gf ask (originally in other thred)

Quote from: gf
- FFT(d(Intrp(C1))/dt)
- 20x interpolation
- dx as short as possible
- Flat Top window function
...
...

When I look your images I can not find Interpolation.


Here I have used SDS2504X HD

- FFT(d(Intrp(C1))/dt)
- 20x interpolation
- dx 4 (as short as possible)
- FFT Flat Top window function

1st image (1)a  is 0-2GHz span (iterpolated samplerate 40GSa/s)
2nd image (2)a is full 0-20GHz span (iterpolated samplerate 40GSa/s)
Full span based to real samplerate is of course 0-1GHz

« Last Edit: May 15, 2022, 08:29:52 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?
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #3 on: May 15, 2022, 10:11:16 am »
Hi,

Quote
When I look your images I can not find Interpolation.

It´s because I didn´t it so far - Until now...

Quote
- FFT(d(Intrp(C1))/dt)
- 20x interpolation
- dx as short as possible
- Flat Top window function
- span 0...1GHz
- 2µs/div (as before) might be a reasonable starting point.

Here it is, dx is 4 and can´t be lowered.
I´ve saved all timebases between 2µs and 2ns, here a selection.


Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #4 on: May 15, 2022, 11:10:07 am »


What was the exact math expression here? I just see that it starts with "FFT(Intrp(..."

I think I aked for: FFT(d(Intrp(Cx))/dt).
I.e. interpolate first, then d/dx, and finally FFT.
« Last Edit: May 15, 2022, 11:13:08 am by gf »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #5 on: May 15, 2022, 11:18:11 am »
Quote
FFT(d(Intrp(Cx))/dt).

Damned.. ;)

See settings pic...
Will repeat it later

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4105
  • Country: fi
  • Born in Finland with DLL21 in hand
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #6 on: May 15, 2022, 12:11:32 pm »
Just a small margin note (Settings.png)

Naturally if select Menu Style [Embedded], it does not cover the signal area.

Sometimes when take document images, it can be useful to keep some desired settings menu visible, without loosing any part of signal. (in some cases signal rendering for display may be better with Menu Style [Floating])
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?
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28381
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #7 on: May 15, 2022, 01:32:10 pm »
Just a small margin note (Settings.png)

Naturally if select Menu Style [Embedded], it does not cover the signal area.

Sometimes when take document images, it can be useful to keep some desired settings menu visible, without loosing any part of signal. (in some cases signal rendering for display may be better with Menu Style [Floating])
;D
This only works if the user has fully explored Display settings and set Hide Menu = OFF .....not some setting of 10s that Siglent think best for newbies to this scope....where's my menu gone ?  :horse:
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #8 on: May 15, 2022, 02:48:57 pm »
Thank you,
It was my hope that the real siglent-knowers join this thread after they were very calm in the original one and indeed, the solution was the menu style..

Back to topic..

@gf:
Now the corrected ones and you´ll see, nothing hast changed in relation to the expression before.


Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #9 on: May 15, 2022, 04:05:50 pm »
Not good. Seems like dx=4 were interpreted as dx=80, when d/dx is applied to 20x interpolated data. At timebase >= 50ns/div, this makes this d/dx implementation more or less useless for frequencies above say 100MHz 1) :--
[ I'd rather expected that dx=4 means 4 samples of the actual sample rate of the given data, i.e. 4 samples @40GSa/s when the data fed to d/dx is 20x interpolated. ]

1) There is no clear border, of course, but it depends on the tolerated error.
The diagram below show the amplitude error (in the frequency domain) of a 2-point finite difference approximation of the 1st derivative, for delta x = 2ns.
« Last Edit: May 16, 2022, 05:50:01 am by gf »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #10 on: May 15, 2022, 08:11:15 pm »
In the manual, dx can be selected between 2 and 20.
In real, it starts with 4, higher you can only get when using the keypad - the knob does nothing.
And: When you choose "max" on the keypad, dx has the value 256..

Tomorrow I´ll look at the adjustments the lecory scopes offers on d/dx and FFT.
I expect nearly "nothing", because "somehow" it works as expected without doing anything special.

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #11 on: May 16, 2022, 05:48:56 am »
... This makes this d/dx implementation more or less useless for frequencies above say 100MHz 1) :--

More exactly I should add "... for timebase >= 50ns/div" to this statement.

At <= 20ns/div the flat spectrum is not plausible either, but this seems to be a different issue.
« Last Edit: May 16, 2022, 09:39:21 am by gf »
 
The following users thanked this post: rf-loop

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #12 on: May 16, 2022, 03:16:34 pm »
Hi,

What else can we do to manifest that this is a bug ?

Offline tv84

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: pt
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #13 on: May 16, 2022, 05:52:53 pm »
What else can we do to manifest that this is a bug ?

A placard??  ::)
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #14 on: May 16, 2022, 06:16:40 pm »
Later... ;)

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #15 on: May 16, 2022, 06:22:32 pm »
At work I checked this with three different scopes from lecroy.
-Waverunner 9054, 500Mhz, 20GSa/s
-HDO6034A, 350Mhz, 10GSa/s
-Wavesurfer WS3024Z, 200Mhz, 4GSa/s

The spectrum in the WS... image also looks a bit strange in the 900-1000 MHz region. I wouldn't expect it to ascend again.
Since you just display FFT(C1), there is no d/dx in the play which could garble the spectrum. I suggest to check how it looks up to 2GHz (half sample rate).



And the time domain trace shows some ripple as well (~10 cycles / div => ~1GHz), which is too regular to be random noise.


 

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #16 on: May 16, 2022, 06:38:11 pm »
What else can we do to manifest that this is a bug ?

One key aspect seems to be the definition of a "point".

Quote from: Handbook
The range of “dx”in the d/dtmenu is2~20. The measurement unitsarepointand thecorresponding time difference range is 0.02~0.20div. “div” indicates the number of the pixel points that each division has and is 100 for the SDS2000X Plus. If dx = 10 points, the time difference is 0.01*10 = 0.1div Then the differential operator calculates the average slope in10 points of the selected sourceand dx represents the time difference between the 10 sampled points.

On the one hand it talks about pixel points, on the other hand it talks about sampled points (which I would associate with samples). So what is really a "point" :-//

At 1us/div, 4 "pixel points" were 40ns, and at 2us/div, 4 "pixel points" were 80ns (according to the definition in the handbook: 1 div = 100 pixel points).
But that's not what we see. The spectrum with the two big lobes tells us that the actual dx was 2ns, at all timebases >= 50ns/div. And 2ns are 4 samples @2GSa/s.

So the implementation obviously assumes that dx is in samples, and the stuff in the handbook regarding div and pixel points seems to be wrong an just leads to confusion.

Nevertheless, "number of samples" is still an incomplete time specification if the sample rate of these samples is not specifed as well.
For your experiments at > 50ns/div, the scope obviously assumed the raw sample rate of 2GSa/s, even if the d/dt operator is applied to interpolated samples @40GSa/s.
While this could be considered correct, if it were unambiguously documented, I still find it a significant limitation, since It hiders you to do what I intended to do.
[ Similiar to a camera in "auto" mode, which does whatever it thinks -- just not what the photographer wants it to do ;) ]

For <= 20ns things still need more investigation. Could you please capture a single shot of say 4,000,000 raw samples (@2GSa/s) of this signal (I guess 200µs/div gives you that many points?), save them to an ASCII file, and post a link to the file? I would like to get a feeling for what can be extracted from these data, and what to expect.
« Last Edit: May 16, 2022, 06:45:37 pm by gf »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #17 on: May 16, 2022, 07:19:25 pm »
Now I got a appx 125MB csv. file on the stick..

What your post with the WS concerns, I want to repeat this thing, because a day before it was different(FFT, last pic from the first post here):

(see pic below)

Can´t believe it´s only because the samplerate was 2GSa/s at this time (nice "trap" : Measure-paras were active...).

« Last Edit: May 16, 2022, 07:21:10 pm by Martin72 »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
 
The following users thanked this post: gf

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #19 on: May 17, 2022, 06:54:24 am »
Thank you. I'll take a look. It can take a while until I find some free time...
 

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #20 on: May 17, 2022, 08:52:53 am »
The “stuff in the handbook” is most likely a (copy&paste) leftover from prehistoric manuals dating back to long forgotten times, when math and measurements were performed on screen data.

The “Dx” parameter in the SDS2000X Plus math refers to sample points and we actually need to take the sample rate into account whenever we want to convert it to an absolute time.
However, this is a deep memory scope; a sensible setting for the max. record length is 10/20 MPts, which results in a constant sample rate up to 1 ms/div, i.e. a record length of 10 ms. Heck, if the need should be, this could even be extended to 100 ms by selecting 100/200 MPts in the Acquire menu. I very much doubt that many users will have the need for the derivative function on slow waveforms <10 Hz and then at frequently changing horizontal time bases.

The little but more advanced brother SDS2000X HD already offers a constant sample rate setting just like the SDS6000. This can solve any problems and situations, where a function depends on the sample rate.

Regarding the attempts to get the frequency response from a fast risetime pulse, there are a number of reasons, why it doesn’t work as expected on the SDS2000X Plus right now.

1.   The scale is wrong. The FFT-sample rate is increased by two orders of magnitude whenever the argument is a derivative. This bug seems to be exclusive to the SDS2000X Plus.
2.   The input field of the formula editor is limited, so we just cannot add the average function there. But this is mandatory to get a nice and clean frequency response graph. On the other Siglent scopes we can use the average acquisition mode, so the lengthy expression “average()” does not eat up precious formula space.

A longer formula string has already been requested. I’ve also reported the FFT bug today.
 
The following users thanked this post: tv84, gf, Martin72

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #21 on: May 17, 2022, 09:08:51 am »
Here’s a demonstration what the SDS2504X HD looks like with a moderate ~500ps risetime pulse coming from the SDG7102A. 32x averaging before up-sampling.

 
The following users thanked this post: gf, Martin72

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #22 on: May 17, 2022, 10:57:58 am »
The “Dx” parameter in the SDS2000X Plus math refers to sample points and we actually need to take the sample rate into account whenever we want to convert it to an absolute time.

At 20ns/div and 10ns/div, FFT(Cx) shows a sample rate of 50GSa/s, and at 5ns/div it shows a sample rate of 200GSa/s.
This is obviously the interpolated sample rate, and it seems that interpolation joins in automatically at <= 20ns/div.

What is dx=4 now supposed to mean at (say) 10ns/div? Still 2ns (4 / 2 GSa/s), or 80ps (4 / 50 GSa/s)?

EDIT: Looking at the image in your previous message it must be (significantly) less than 2ns, otherwise the spectrum would look different. But is it 80ps then?
« Last Edit: May 18, 2022, 05:55:53 am by gf »
 
The following users thanked this post: Performa01

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4105
  • Country: fi
  • Born in Finland with DLL21 in hand
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #23 on: May 17, 2022, 02:50:01 pm »
Here’s a demonstration what the SDS2504X HD looks like with a moderate ~500ps risetime pulse coming from the SDG7102A. 32x averaging before up-sampling.
Perhaps marker 1 horizontal position is better in ≥ 1/2 Δf 
(also looks weird your marker 2 vertical position looks like below trace level)
« Last Edit: May 17, 2022, 02:51:39 pm 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

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #24 on: May 18, 2022, 06:14:41 am »
Related to the frequency response calculation I also wonder:
  • Is it possible to add/subtract/multiply/divide freqency domain traces (results of FFT) with math functions?
  • If yes, in which space is the operation carried out? Complex, linear magnitude, log magnitude (dB)?
  • Is it possible to load an (externally and synthetically generated) trace from e.g. USB stick, and use it as argument to math functions?
 

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #25 on: May 18, 2022, 07:02:48 am »
The “Dx” parameter in the SDS2000X Plus math refers to sample points and we actually need to take the sample rate into account whenever we want to convert it to an absolute time.

At 20ns/div and 10ns/div, FFT(Cx) shows a sample rate of 50GSa/s, and at 5ns/div it shows a sample rate of 200GSa/s.
Well, that’s the problem. An SDS2504X HD for instance doesn’t show this weird behavior. FFT sample rate remains 2 GSa/s all the way down to 500 ps/div – and so does the SDS2000X Plus, as long as there is no d/dt expression as argument for the FFT.

This is obviously the interpolated sample rate, and it seems that interpolation joins in automatically at <= 20ns/div.
I’ve checked the d/dt operation for the SDS2000X Plus – width and delay of the numerically generated pulse remain constant for any given Dx setting, regardless of the time base, hinting on a constant sample rate.

You are certainly right in that there is an interpolation kicking in at time bases where the number of samples is too low to fill the screen buffer. For the screen display this is selectable linear (x) or Sinc (sin(x)/x) or off (dots mode), but for automatic measurements it is always there in the background. This enables time measurements with much better resolution than what could normally be expected from 2 GSa/s. I don’t have the details, yet I think the math usually doesn’t use the interpolated data.

It just so happens that we’ve already identified a bug regarding the interpolation. It operates quite differently than on other Siglent scopes and it is obviously wrong, if only because the interpolation method x or sin(x)/x still affects dot mode. All in all, I strongly suspect that this current bug with the FFT(d(X)/dt) math is just another symptom of this very bug. Anyway, my report about incorrect FFT sample rate has already been confirmed by Siglent by now, so we can expect a fix for the next FW update.

What is dx=4 now supposed to mean at (say) 10ns/div? Still 2ns (4 / 2 GSa/s), or 80ps (4 / 50 GSa/s)?
According to my investigations, it strongly looks like it’s always operating at the original (true) sample rate. Consequently, a Dx parameter of 4 means dt = 2 ns in half channel mode.

EDIT: Looking at the image in your previous message it must be (significantly) less than 2ns, otherwise the spectrum would look different.
This is certainly true but has a different cause. The math for this test is FFT(Intrp(d(C4)/dt)); applying an upsampling coefficient of 20, we get an FFT bandwidth of 40 GSa/s and the result isn’t very convincing yet.

See attached screenshot. The upper window shows the original pulse edge at 10 ns/div and math channel F1 that processes just d(C4)/dt, hence showing the pulse from the differentiated transition.

SDS2504X HD_Math_FR_10ns_Normal

Only the averaging in the acquisition menu makes things work, see the second screenshot:

SDS2504X HD_Math_FR_10ns_Avg16

The FFT-bandwidth has increased by a factor of ten and you can also compare the properties of the pulse that results from math function F1. The additional data gained from averaging are true samples and not interpolated redundant data as with Intrp(), therefore the d/dt operation with Dx = 4 now actually works with a 200 ps step. Since this is similar to RIS (Random Interleaved Sampling), some resampling/interpolation is still required to translate the additional data into an evenly spaced sample stream. This could also be the reason why the increase in sample rate does not conform with the number of averages (16 in this example).


 
The following users thanked this post: gf

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #26 on: May 18, 2022, 07:14:31 am »
Here’s a demonstration what the SDS2504X HD looks like with a moderate ~500ps risetime pulse coming from the SDG7102A. 32x averaging before up-sampling.
Perhaps marker 1 horizontal position is better in ≥ 1/2 Δf 
(also looks weird your marker 2 vertical position looks like below trace level)
Thanks for the hint – this is when we get a creature of habit…

Yes, the accuracy is severely affected and I already wondered, why the frequency response appears better than it actually is.

Regarding the position of marker 2, there is nothing I can do about it. Might look into this later and see if the accuracy is affected by this. If so, I’ll file a bug report.

I have attached a cursor measurement and now the result is as expected, i.e. the measured bandwidth is only 520 MHz whereas it’s actually 570 MHz.

 

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #27 on: May 18, 2022, 11:44:49 am »
The additional data gained from averaging are true samples and not interpolated redundant data as with Intrp(), therefore the d/dt operation with Dx = 4 now actually works with a 200 ps step. Since this is similar to RIS (Random Interleaved Sampling), some resampling/interpolation is still required to translate the additional data into an evenly spaced sample stream. This could also be the reason why the increase in sample rate does not conform with the number of averages (16 in this example).

How is this actually implemented? Does it change the ADC clock phase for each acquisition being "averaged"?
RIS - as documented by LeCroy - rather requires a TDC and an analog trigger.

Or is it just a fractional sample time shift, in order to align the (interpolated) trigger points of the traces, after up-sampling?
« Last Edit: May 18, 2022, 03:58:08 pm by gf »
 

Offline 2N3055

  • Super Contributor
  • ***
  • Posts: 6662
  • Country: hr
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #28 on: May 18, 2022, 10:11:48 pm »
The additional data gained from averaging are true samples and not interpolated redundant data as with Intrp(), therefore the d/dt operation with Dx = 4 now actually works with a 200 ps step. Since this is similar to RIS (Random Interleaved Sampling), some resampling/interpolation is still required to translate the additional data into an evenly spaced sample stream. This could also be the reason why the increase in sample rate does not conform with the number of averages (16 in this example).

How is this actually implemented? Does it change the ADC clock phase for each acquisition being "averaged"?
RIS - as documented by LeCroy - rather requires a TDC and an analog trigger.

Or is it just a fractional sample time shift, in order to align the (interpolated) trigger points of the traces, after up-sampling?

It is interpolated trigger time alignment. But there is no upsampling. Scope has it's internal "mathematical" timebase that is needed to be able to interpolate and align the triggers that is much finer than sample rate. Samples are mapped into that space.

So it reconstructs many points of the curve from repeated acquisitions, and retriggering timing that is not fully monotonic  and fact that sampling clock and external signal are not synchronised, performs same function that sequential/random sampling does.

Apart from excellent contributions by Performa01, I would also add that after you  average and differentiate, such created dataset will have some size that will not be same as a number of FFT  bins. Number of FFT bins will be a power of 2 number that will fit into dataset size.
That makes for an interesting contribution to this behaviour.

Namely, FFT should be performed only on a dirac pulse part of differentiated data, in such a way that the pulse is time centered in a data set.
Ideally a time gate should be used to pick a part of differentiated data that we want to FFT.

Sometimes you have a lot of data on screen but FFT picks just first 512 points.
If you then take horizontal position for time domain signal knob, and move that signal edge is to the left (or right) of the center, FFT will change. Of course it would, because it is looking only on part of the time of the data we see on the screen. FFT algorithm picks data on the beginning  of the buffer from the left (from the start) and takes what it decided it needs. Rest of the data to the right of that point is not taken into calculation.
That can be taken to the extreme such that if you start moving the edge to the right of the centre of the screen, at some setting you can make FFT plot showing nothing, because it looks only on the flat part of the curve to the left of the edge.

Complex math can get complex...
 
The following users thanked this post: gf

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #29 on: May 19, 2022, 08:34:16 am »
It is interpolated trigger time alignment.

OK, just that (i.e. no special hardware support).

Quote
So it reconstructs many points of the curve from repeated acquisitions, and retriggering timing that is not fully monotonic and fact that sampling clock and external signal are not synchronised, performs same function that sequential/random sampling does.

The major difference is how the trigger time is determined.
A trigger point interpolation still suffers potentially from aliasing when the trigger is implemented fully digital.
OTOH, RIS overcomes the Nyquist limit with an analog trigger and TDC circuit, in addition to the ADC.

Quote
But there is no upsampling.

Performa01 got a 10x higher "virtual sample rate", though, in the screenshots above, when averaging acquisition was enabled.
I actually don't see how points with different arbitrary time could be averaged, so a re-sampling to a common regular grid (at higher resolution, say 1/10 sample) makes sense to me.
Then each of the the 10 bins per sample can be averaged. Some bins may still remain empty if the trigger point of no trace happens fo fall into their time slot.
In order to be suitable as input to operations that need a regular, non-sparse time grid (e.g. FFT), additionaly the empty bins need to be estimated/interpolated and filled-in.

Quote
Sometimes you have a lot of data on screen but FFT picks just first 512 points.

If the FFT window starts at the left edge of the screen, and if its size is not visualized (graphically) on-screen, then it is indeed difficult to center the signal of interest in the FFT window w/o manually calculating its size first [in seconds, or div].
Picking the FFT points from the center of the screen were IMO a more natural choice - then it were sufficient to center the data of interest on the screen.
Even better were a user-adjustable FFT window position, with proper graphical visualization.
« Last Edit: May 19, 2022, 02:34:02 pm by gf »
 
The following users thanked this post: 2N3055

Offline tv84

  • Super Contributor
  • ***
  • Posts: 3221
  • Country: pt
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #30 on: May 19, 2022, 09:26:41 am »
Even better were a user-adjustable FFT window position, with proper graphical visualization.

That would be the best solution! Shouldn't be any rocket science and it would be very educational (for all users).

As it's usually implemented (without any of that info/choices) only experts like you guys are able to talk about it and have a real critic opinion of what is being shown. And as we been reading, even for you guys it's not easy to understand the factors behind what you are seeing.
 
The following users thanked this post: 2N3055, Martin72

Offline 2N3055

  • Super Contributor
  • ***
  • Posts: 6662
  • Country: hr
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #31 on: May 19, 2022, 03:17:07 pm »

Quote
But there is no upsampling.

Performa01 got a 10x higher "virtual sample rate", though, in the screenshots above, when averaging acquisition was enabled.
I actually don't see how points with different arbitrary time could be averaged, so a re-sampling to a common regular grid (at higher resolution, say 1/10 sample) makes sense to me.
Then each of the the 10 bins per sample can be averaged. Some bins may still remain empty if the trigger point of no trace happens fo fall into their time slot.
In order to be suitable as input to operations that need a regular, non-sparse time grid (e.g. FFT), additionaly the empty bins need to be estimated/interpolated and filled-in.


I would call upsampling a interpolation of additional points between real sampled data by virtue of some interpolating math functions from single set of original data.

Siglent Averaging acquisition mode will take samples from several (even thousands) of separate trigger events and overlap them on top of each other. It is repetitive interlaced sampling so higher sample rates are very real.  As I explained, trigger interpolation IS used to map sampled data to much higher resolution  time grid and that is what scope internally has.  So sampled data are simply realigned in time and placed in a time grid that is much more granular that ADC sample rate. Such aligned sets of data can be then overlapped on top of  each other and averaged.
If data is sparse in some places, local to that  point averaging will not be as good and there will be larger apparent noise there,  worse than for the parts of curve where data is more dense.... But still very useful and big improvement.


You are not resampling but simply reassembling the full buffer from separate triggers that are taken with certain offsets from trigger point.. that is why I said "upsampling" is not exactly correct..

Trigger time is not determined. Trigger time is time zero. Exact point of trigger is determined by interpolation and samples are then adjusted to fit in time domain where they belong. Trigger simply starts the process of acquisition, samples are stored in memory, and exact time of trigger event is calculated, and timing of sample points is adjusted. Meaning that timing info of some point in curve relative to trigger point is accurate on a single picosecond level, much less than the sampling period.
 

Offline 2N3055

  • Super Contributor
  • ***
  • Posts: 6662
  • Country: hr
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #32 on: May 19, 2022, 03:41:37 pm »
Even better were a user-adjustable FFT window position, with proper graphical visualization.

That would be the best solution! Shouldn't be any rocket science and it would be very educational (for all users).

As it's usually implemented (without any of that info/choices) only experts like you guys are able to talk about it and have a real critic opinion of what is being shown. And as we been reading, even for you guys it's not easy to understand the factors behind what you are seeing.

Yes, that would be ideal. Unfortunately not even all high ends scopes have all the controls...
In ideal world, a markers should be shown what is being FFT-ed and those markers could be set left and right...
I'm not sure how realistic is to expect that on this scope...
But it can be optimized to have more predictable behaviour..
It is reported...
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #33 on: May 19, 2022, 07:00:20 pm »
Quote
In ideal world, a markers should be shown what is being FFT-ed and those markers could be set left and right...

Hmmm......
If I got the time tomorrow, I´ll have a look on the wr9054.
Afaik as I´ve played with the fft, I saw "suddenly" 2 dashed lines and wondered because I didn´t had the cursors activated.

Offline 2N3055

  • Super Contributor
  • ***
  • Posts: 6662
  • Country: hr
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #34 on: May 19, 2022, 09:51:48 pm »
Quote
In ideal world, a markers should be shown what is being FFT-ed and those markers could be set left and right...

Hmmm......
If I got the time tomorrow, I´ll have a look on the wr9054.
Afaik as I´ve played with the fft, I saw "suddenly" 2 dashed lines and wondered because I didn´t had the cursors activated.

As I said, that is a Waverunner 9000.. ^-^ It should support gated FFT...
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #35 on: May 23, 2022, 10:18:11 pm »
Hi,

Quote
Afaik as I´ve played with the fft, I saw "suddenly" 2 dashed lines and wondered because I didn´t had the cursors activated.

Today I got a phone call with someone from lecroy* and now it´s clear to me.
These are helplines to show you what will be "ffted" in the screen, it varies with the modes truncated, non-truncated and zero-filled.
You can´t set them manually as a gate.
Nevertheless it helps to understand.

Martin

*) This is the lecroy service...I´ve mailed them because of the lines and more or less immediately (from friday to monday) I´ll get a phone call.
Together with the hint, call us everytime you have a question, you bought a lecroy scope so you also bought our directly support.
This is what the A-brands separates them from the rest, today.


Offline tautech

  • Super Contributor
  • ***
  • Posts: 28381
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #36 on: May 23, 2022, 10:51:39 pm »
Has the new FW fixed this ?

Quote
New firmware for SDS2000X Plus
5/23/2022 1.3.9R12 1. Fixed several bugs of 1.3.9R10
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #37 on: May 23, 2022, 10:56:58 pm »
Hi Rob,

Didn´t try because it seems that this is an update for the models with "different" hardware, like the update 1.3.9R10 before was.


Offline tautech

  • Super Contributor
  • ***
  • Posts: 28381
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #38 on: May 23, 2022, 11:01:46 pm »
Hi Rob,

Didn´t try because it seems that this is an update for the models with "different" hardware, like the update 1.3.9R10 before was.
Please don't accept release notes word for word.
Let's make it easy for you to check to be 100% sure.  ;)
https://int.siglent.com/upload_file/zip/firmware/Oscilloscope/SDS2000X%20Plus_V1.3.9R12_EN.zip
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #39 on: May 24, 2022, 09:28:10 pm »
Don´t you have a sds2k+ anymore ?

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #40 on: May 26, 2022, 12:20:44 pm »
Quote
Please don't accept release notes word for word.

Nothing has changed except the displaying version number of the firmware.. ;)
Did this upgrade at last in the hope, the stupid axis-labeling was corrected, but it wasn´t.

Martin
edit pic attached.
« Last Edit: May 26, 2022, 01:32:20 pm by Martin72 »
 
The following users thanked this post: tautech

Offline hpw

  • Frequent Contributor
  • **
  • Posts: 366
  • Country: 00
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #41 on: May 27, 2022, 05:06:47 pm »
So run now the R12 FW and did get some nice plots... sometimes the Config/Full Span or Peak To Center has to be clicked again....

do not understand why the center is at 5GHz...


hp
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Math "Problems" on SDS2K+ ?(Trying to display bandwith)
« Reply #42 on: July 20, 2023, 09:48:38 pm »
Edit: Threadtitle changed.

Here’s a demonstration what the SDS2504X HD looks like with a moderate ~500ps risetime pulse coming from the SDG7102A. 32x averaging before up-sampling.

Hi.....
In the meantime I also own a SDS2504XHD and remembered this thread.
So I wanted to recreate Performa01 measurement, this is what I get(see picture).
Am I doing something wrong ?
Looks not so linear for now, also my bandwidth is far from the 500Mhz.
I took the interpolation from rf-loop (20, Dx 4) and like Performa set the FFT to AVG 32.
Same time base.
Is it possibly the signal from the bodnarpulser ? Is it "too steep" ? Performa01 and rf-loop did not use it for their measurements.
Additionally a picture of the risetime of the pulse.
If you use the formula, this is also not 500Mhz.
« Last Edit: July 20, 2023, 09:51:26 pm by Martin72 »
 

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #43 on: July 21, 2023, 05:59:32 am »
Is it "too steep"

It certainly is too steep for 2GSa/s. The key to benefit from fractional sample trigger points and to obtain "RIS-like" sampling seems to be Averaging acquisition mode:

Here’s a demonstration what the SDS2504X HD looks like with a moderate ~500ps risetime pulse coming from the SDG7102A. 32x averaging before up-sampling.

I think you did not turn it on, did you?
« Last Edit: July 21, 2023, 06:01:22 am by gf »
 
The following users thanked this post: Martin72

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #44 on: July 21, 2023, 11:06:31 am »
Thankyou gf!
In fact, I overlooked it, or thought that it was the averaging of the fft.
Now the situation looks completely different...


edit forget the second marker...
« Last Edit: July 21, 2023, 11:44:35 am by Martin72 »
 

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #45 on: July 22, 2023, 07:38:34 am »
edit forget the second marker...
Forget the first marker too. You made the same mistake as I did back then (rf-loop pointed it out). You cannot place a marker at 1 MHz when the FFT frequency step is 24.41 MHz...
 
The following users thanked this post: 2N3055, Martin72

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #46 on: July 22, 2023, 01:32:49 pm »
edit forget the second marker...
Forget the first marker too. You made the same mistake as I did back then (rf-loop pointed it out). You cannot place a marker at 1 MHz when the FFT frequency step is 24.41 MHz...

Btw, I don't know where this comes from, but the 0.5 dB drop in the DC bin doesn't look right either. So I would not use this bin as reference level.
 
The following users thanked this post: Performa01

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #47 on: July 22, 2023, 08:55:06 pm »
I´ll repeat the measure... ;)

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #48 on: July 23, 2023, 08:33:21 pm »
Am I just about to...
Quick question:
It was interpolated 20-fold according to the entered formula.
Before I set the acquisition mode to average, 40GSa/s came out, see the pictures before the last one.
Now that I have last set to average 32, it is 400GSa/s (see last picture) is that correct ?

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #49 on: July 23, 2023, 09:49:13 pm »
OK, finished for today... ;)

This time I used the cursors for finding the -3dB frequency, that should be "allowed" for this.
1.5Ghz span and 5dB/div settings, 515Mhz....

Quote
Btw, I don't know where this comes from, but the 0.5 dB drop in the DC bin doesn't look right either.

I´ve "zoomed in" using a span of 500Mhz, when the Delta f is a bin (?), than it "happens" in exact the first one, 0Hz..24.41Mhz.
From 24.41(24.5 marked)Mhz down to 0 it´s -3dB.
(possibility to change the axis-labeling left/right would be very, very useful for a better viewing.)

« Last Edit: July 23, 2023, 09:53:46 pm by Martin72 »
 

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #50 on: July 24, 2023, 06:25:37 am »

Quote
Btw, I don't know where this comes from, but the 0.5 dB drop in the DC bin doesn't look right either.

I´ve "zoomed in" using a span of 500Mhz, when the Delta f is a bin (?), than it "happens" in exact the first one, 0Hz..24.41Mhz.
From 24.41(24.5 marked)Mhz down to 0 it´s -3dB.

-3dB? Then I think it displays the power spectrum and not the FFT spectrum "as is".
This means that negative frequencies are discarded and instead the power of positive frequencies (f > 0) is doubled.
Consequently, the power spectrum of an impulse response does not reflect the corresponding frequency response at/near DC, but only at higher frequencies.

EDIT: The problematic nature of DC in conjunction with power spectrum calculation (with rectangular and other window functions) is nicely discussed here (chapters 11 and 9).
« Last Edit: July 24, 2023, 08:50:13 am by gf »
 
The following users thanked this post: Performa01, Martin72

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #51 on: July 24, 2023, 07:14:28 am »
I´ve "zoomed in" using a span of 500Mhz, when the Delta f is a bin (?), than it "happens" in exact the first one, 0Hz..24.41Mhz.
From 24.41(24.5 marked)Mhz down to 0 it´s -3dB.
Delta-f, frequency step, frequency bin ... it's all the same.

(possibility to change the axis-labeling left/right would be very, very useful for a better viewing.)
Why not just get the cursor info out of the way? Like I did it on all my screenshots?
In some rare cases I even had to move the FFT info in order to tidy up the screen.
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #52 on: July 24, 2023, 07:37:24 am »
Hi....



With the axis-labeling on right side you could see it better what "happens" on the left side of the FFT window, has nothing to do with the cursors or the cursor info.
Btw, lecroy put the cursor-infos into the channelboxes.
« Last Edit: July 24, 2023, 11:46:57 am by Martin72 »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #53 on: July 24, 2023, 11:57:27 am »
-3dB? Then I think it displays the power spectrum and not the FFT spectrum "as is".

And it is independent of which window you use, I had just tried it out.

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #54 on: March 16, 2024, 11:05:49 pm »
I'm digging up this thread so as not to clutter up the other 800X thread.
It didn't work with the 2000Xplus back then, with the 2000X HD it was OK, now with the 800X HD...
Using the "known" formula in the editor, the following is output, which has nothing to do with the frequency response I previously recorded using Sweep and FFT-Max hold.
« Last Edit: March 17, 2024, 12:03:34 am by Martin72 »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #55 on: March 17, 2024, 07:47:26 pm »
By request, img10 shows F2 with 20xinterp, img11 all together.
I am currently trying to find out for myself what is still missing in contrast to the result of the 2504X HD, at the moment these are the same inputs.

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #56 on: March 18, 2024, 01:21:33 pm »
I haven't done it yet, it would make things "nicer", but in principle it should look like this without averaging:

https://www.eevblog.com/forum/testgear/math-problems-on-sds2k-(trying-to-display-bandwith)/msg4971457/#msg4971457

Offline 2N3055

  • Super Contributor
  • ***
  • Posts: 6662
  • Country: hr
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #57 on: March 18, 2024, 02:16:45 pm »
Hmm... I can't try and replicate, unfortunately, since I don't have a fast pulse generator (yet...).

One loosely related question if I may: How do I use two nested functions in the formula editor, if both functions have additional parameters? E.g. if I want to calculate Interpolate(Average(C1)), both functions have an additional parameter. But I only seem to see the Averaging parameter in the Math dialog. Am I overlooking something, or does this situation require the use of two separate Math functions?

Use the scroll Luke...
It is below..
 
The following users thanked this post: Performa01, ebastler

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #58 on: March 18, 2024, 09:46:53 pm »
Unfortunately, this isn’t unproblematic. The frequency of affordable pulsers is usually fixed at 10 MHz. The resulting pulse train generated in software would be even twice this frequency – but we don’t want that. We rather want a low frequency, like 1 MHz or even lower, so that we can get better frequency resolution and enable frequency response measurements down to the single-digit megahertz.

A while back I’ve done it with the SDS2504X HD, it didn’t work well, but enabling Average acquisition mode helped. Today I’m inclined to consider the results back then more as a coincidence than anything else.

I have now taken the time to investigate this a little bit more, step by step.

I’m starting with the obvious: the spectrum of a 1 MHz pulse train should reveal the frequency response of the SDS824X HD. Since I don’t have an ultra-fast pulse generator, I had to make do with 1 ns wide pulses from the SDG7102A:


SDS824X HD_FFT_FR_Pulse_W1ns_M1us

That doesn’t look too far off. The deviations are as follows:
100 MHz: -0.376 dB
200 MHz: -0.961 dB
244 MHz: -1.093 dB

I would attribute this to the non-ideal pulse shape – with this signal, the generator is already working outside its specifications.

I’ve once measured the pulse spectrum with a 2 GHz DSO and found the bandwidth to be ~378 MHz, so it is perfectly plausible to have about 1.1 dB amplitude drop at 244 MHz (unfortunately, I didn’t measure any other frequencies between 100 and300 MHz):

https://www.eevblog.com/forum/testgear/siglent-sdg7000a-350-500-mhz-and-1-ghz-awgs-coming/msg5101176/#msg5101176

So while the “real pulse” method might not be accurate (at least not as long as there are no perfect pulses available), it is certainly good enough for a quick overview.

The next step would be to make our own pulses, at least mathematically, by numerical differentiation of a 500 kHz square wave. It’s only 500 kHz because now we get two pulses per signal period, and I wanted to stay as close as possible to the previous conditions.

Since the polarity of the resulting pulses depends on the direction of the signal edges, I’ve added the abs() function to get only positive pulses like with the real pulse generator – once again, this is for best conformity with the previous test.


SDS824X HD_Math_Square_2ns_abs_diff_dx4

For this screenshot, I’ve changed the square wave with a duty cycle of 50% to a 10 ns wide pulse, just to show both edges at high time resolution in one screenshot. They are absolutely identical and the measurements hint on pulse width of ~1.65 ns and ~1 ns rise and fall times.

Here is the FFT with the pulses – this time from a 50% duty cycle square wave again:


SDS824X HD_FFT_FR_Square_1us_abs_diff

That’s significantly worse than before. The deviations are as follows:
100 MHz: -1.557 dB
200 MHz: -3.727 dB
244 MHz: -5.035 dB

We have already looked at the generated pulse from the differentiation, now let’s compare with the generator pulse from the first test:


SDS824X HD_PR_W1ns_RT500ps

It’s funny; the original pulse as it was seen by the SDS824X HD was almost 1.8 ns wide and had 1.2 ns rise-time. The software generated pulse was clearly faster, yet the FFT-results are so much worse?

Now for the (20 times) interpolation – which shouldn’t be strictly necessary, as the initial test with the pulse train has proven.


SDS824X HD_FFT_FR_Square_1us_abs_diff_int20

As expected, that’s only marginal better than without interpolation. The deviations are as follows:
100 MHz: -1.527 dB
200 MHz: -3.675 dB
244 MHz: -5.016 dB

Also as expected, the pulse shape and measurements are almost exactly the same as without interpolation.

We can select a faster time-base in order to get a smoother graph, yet at least at high sample rates this is not recommended as it significantly increases the frequency step of the FFT, thus reducing the frequency resolution, shifting up the lowest measurable frequency and finally compromising the measurement accuracy (if there was any in the first place, that is). For the original 2 GSa/s, it works reasonably well, even though the measurement accuracy has yet suffered even further:


SDS824X HD_FFT_FR_Square_200ns_abs_diff
« Last Edit: March 19, 2024, 06:32:47 am by Performa01 »
 
The following users thanked this post: egonotto, 2N3055, gf

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #59 on: March 18, 2024, 10:35:38 pm »
And why can't it be reproduced with the previous formula, as with the 2000X HD?
What I have just seen when looking at the old screenshots of the 2000X HD:
While the 800X HD shows a sample rate of 40GSa/s with 20xint, the 2000X HD shows 400GSa/s.

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #60 on: March 19, 2024, 12:30:26 pm »
I’ve once measured the pulse spectrum with a 2 GHz DSO and found the bandwidth to be ~378 MHz, so it is perfectly plausible to have about 1.1 dB amplitude drop at 244 MHz (unfortunately, I didn’t measure any other frequencies between 100 and300 MHz):

In order not to suffer from any frontend frequency response, you could of course also measure it with a spectrum analyzer.

Quote
Since the polarity of the resulting pulses depends on the direction of the signal edges, I’ve added the abs() function to get only positive pulses like with the real pulse generator – once again, this is for best conformity with the previous test.

The alternatig polarity of the pulses does not matter for this use case. It works, too.
I really would avoid abs(). It is a nonlinear function and introduces harmonic distortion.
It does not only invert every 2nd pulse, but it also corrupts the post ringing of each pulse.

Quote
It’s funny; the original pulse as it was seen by the SDS824X HD was almost 1.8 ns wide and had 1.2 ns rise-time. The software generated pulse was clearly faster, yet the FFT-results are so much worse?

Maybe try w/o abs().

Quote
Now for the (20 times) interpolation – which shouldn’t be strictly necessary, as the initial test with the pulse train has proven.

The question is: Is the the d/dt algorithm is still the same as on SDS2000? :-// Is it still implemented as a simple finite difference between samples[j+N] and samples[j], where N is configurable, but >= 4? This finite difference approximation is equivalent to applying a boxcar average over N samples, in addition to the differentiation. I.e. it acts as an (undesired) lowpass filter. Then up-sampling is indeed supposed to reduce the unwanted lowpass effect, since N samples at the higher sample rate correspond to a shorter time interval. Also, allowing N=1 (w/o up-sampling) would help to reduce the unwanted lowpass effect (but not so much as with up-sampling).

Alternatively, it would be possible to design a FIR filter for the differentiation, which is pretty flat up to (say) 0.9*Nyquist (less than 0.1dB ripple, with ~75 taps). With such a differentiator, up-sampling would definitively become useless, and it would also eliminate the need to configure a finite difference interval. Since a FIR engine seems to be available anyway, it could also be used for differentiation.



Btw, may I ask you to post .bin files of your pulse train signal and your square wave signal from the SDG, captured on the SDS800X at full BW and 2GSa/s, and if possible also a captured Bodnar square wave? [ Please not too few samples. If you don't mind, then even 100M points. In case of aliasing, there is a chance that a huge FFT can still separate folded aliases from the spectral lines coming from the 1st Nyquist zone, if the signal frequency does not correlate exactly with the sampling clock. The smaller the frequency deviation, the more FTT points are required for this separation. ]
« Last Edit: March 19, 2024, 12:37:57 pm by gf »
 
The following users thanked this post: Performa01

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #61 on: March 19, 2024, 06:40:36 pm »
I’ve once measured the pulse spectrum with a 2 GHz DSO and found the bandwidth to be ~378 MHz, so it is perfectly plausible to have about 1.1 dB amplitude drop at 244 MHz (unfortunately, I didn’t measure any other frequencies between 100 and300 MHz):

In order not to suffer from any frontend frequency response, you could of course also measure it with a spectrum analyzer.
I’ve used the DSO, just because it was convenient. As you’re well aware, a FFT means real-time, and this is in contrast to a traditional swept spectrum analyzer. And then the SDS6204 is more accurate than the average SA, at least if only a fraction of its bandwidth is actually utilized, just as in this case. Because of all this, I rarely use a SA in the range up to 2 GHz anymore.

And then, the problem was not lack of accuracy due to frontend frequency response, but simply the fact that I didn’t take the required measurements back then. So all that’s needed were some more measurements, and since you seem to prefer spectrum analyzers, I’ve used one:


SA44_Pulsetrain_1MHz_W1ns_RT500ps

As can be seen the spectrum is about -1.5 dB at 245 MHz, whereas the FFT on the SDS800X HD with original pulse-train was only ~1.1 dB low compared to a serious measurement with levelled signal source.

So there is still some mysterious 0.4 dB discrepancy – but then again, maybe we shouldn’t worry too much about ~5.4% deviation at 245 MHz on a 200 MHz DSO…


The alternatig polarity of the pulses does not matter for this use case. It works, too.
I really would avoid abs(). It is a nonlinear function and introduces harmonic distortion.
It does not only invert every 2nd pulse, but it also corrupts the post ringing of each pulse.
Good objection! I didn’t expect the post-ringing to play a major role here. Of course I’ve tried it without abs() first. Only when I looked at the pulses in the Y-t view, which I have presented in a screenshot, I noticed that the negative pulses were clipped and wanted to show unipolar pulses anyway. And, as mentioned in my posting, I wanted to make it as equal as possible to the real pulses.

Now I’m thinking about the clipping – if this happened to an input channel, it would of course spoil the whole experiment. But for the math channels, these are just viewing parameters, so the clipping was just visual and no real data would have been lost.


Quote
It’s funny; the original pulse as it was seen by the SDS824X HD was almost 1.8 ns wide and had 1.2 ns rise-time. The software generated pulse was clearly faster, yet the FFT-results are so much worse?

Maybe try w/o abs().
I do not know what’s been different today, but the result most definitely is different:


SDS824X HD_FFT_FR_Square_100ns_diff_int20

At a first glance it looks a little better, even though still not nearly what we got with the real pulses.
100 MHz: -0.549 dB
200 MHz: -2.261 dB
244 MHz: -3.624 dB

Furthermore, there is now a zero at 500 MHz, which shouldn’t be there and is in none of my previous screenshots.


The question is: Is the the d/dt algorithm is still the same as on SDS2000? :-// Is it still implemented as a simple finite difference between samples[j+N] and samples[j], where N is configurable, but >= 4? This finite difference approximation is equivalent to applying a boxcar average over N samples, in addition to the differentiation. I.e. it acts as an (undesired) lowpass filter. Then up-sampling is indeed supposed to reduce the unwanted lowpass effect, since N samples at the higher sample rate correspond to a shorter time interval. Also, allowing N=1 (w/o up-sampling) would help to reduce the unwanted lowpass effect (but not so much as with up-sampling).
Yes, it works still the same. As I’ve already stated back then for the SDS2000X HD, the resulting pulse shape and parameters do not depend on the dx parameter – well, at least not for a square wave and up to dx = 20. It seems obvious that it would be different on a sine.

I guess that we don’t get n < 4, simply because the operation gets really noisy then. On the 8-bit machines (where the math results were 8 bits as well), differentiation with low dx parameters was next to useless.


Btw, may I ask you to post .bin files of your pulse train signal and your square wave signal from the SDG, captured on the SDS800X at full BW and 2GSa/s, and if possible also a captured Bodnar square wave? [ Please not too few samples. If you don't mind, then even 100M points. In case of aliasing, there is a chance that a huge FFT can still separate folded aliases from the spectral lines coming from the 1st Nyquist zone, if the signal frequency does not correlate exactly with the sampling clock. The smaller the frequency deviation, the more FTT points are required for this separation. ]
As mentioned several times already, I don’t have a fast pulser like the one from Leo Bodnar. I would order one, but they are sold out at the moment. I would be able to create square waves with faster edges, but only at higher frequencies. But then again, I don’t think that it makes much of a difference for a 200 MHz device.

In fact, the amplitude of the pulse train is already significantly reduced to about 50% by the SDS824X HD frontend.

Well, here you go:

SDS824X_HD_Bin_Pulse_W1n_TR500p_C4

SDS824X_HD_Bin_Square_10M_TR500p_C4


« Last Edit: March 19, 2024, 06:42:22 pm by Performa01 »
 
The following users thanked this post: gf

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #62 on: March 19, 2024, 07:30:42 pm »
So it really doesn't seem to work like the 2000X HD...
I tried to recreate this, using the bodnar pulser as a signal.
It may be too "steep" with its 40 hp rise time, but I can't get your result - well, I could have overlooked something, but I don't want to rule it out.

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #63 on: March 19, 2024, 08:48:39 pm »
Furthermore, there is now a zero at 500 MHz, which shouldn’t be there and is in none of my previous screenshots.

Hmmm. A d/dt finite difference approximation with 4 samples interval (w/o up-sampling) is basically expected to have zeros at 500 and 1000 MHz. That's what I meant with "unwanted lowpass". However, with prior 20x up-sampling, I would expect the zeros to shift to 10GHz and 20 GHz. And obviously, you did up-sample. Was the d/dt possibly nevertheless calculated with a 2ns interval instead of 4 samples of the higher (40Gs/s) sample rate?

Quote
and since you seem to prefer spectrum analyzers...

I just thought it might be an option, too. Looks a bit rippled, though. Not so nice. Reflections?
You convinced me - it's obviously not the better option.

Thanks for the .bin files. I did take a first look. The differentiated square wave edges (doing my own differentiation) definitively contain more high frequency contents than the impuse train - which was to be expected. The difference is roughly what to be expected from a 1ns impulse width if I assume that the signals have been generated by applying the same ~500ps edge shaper to a) an ideal 1ns pulse train, and b) to an ideal square wave.

EDIT:

Quote
I guess that we don’t get n < 4, simply because the operation gets really noisy then. On the 8-bit machines (where the math results were 8 bits as well), differentiation with low dx parameters was next to useless.

n=1 works nicely with your data. Welch's method estimates a confidence interval of less than 0.1dB up to 500 MHz. So it is not very noisy for this particular use case. Also tried to truncate the data to 8 bits. Still worked nicely.

EDIT:

Added images (calculated from your data):
- figure1.png: comparison pulse train vs. differentiated square wave
- figure{3,4,5}.png: comparison pulse train vs. differentiated square wave, zoon-im to 100, 200, 244 MHz
- figure2.png: comparison of different d/dt methods w/o upsampling

About -3.1dB @244MHz with the square wave seems to be almost spot on :)

« Last Edit: March 19, 2024, 10:48:18 pm by gf »
 
The following users thanked this post: Performa01

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #64 on: March 19, 2024, 10:09:01 pm »
So it really doesn't seem to work like the 2000X HD...
I tried to recreate this, using the bodnar pulser as a signal.
It may be too "steep" with its 40 hp rise time, but I can't get your result - well, I could have overlooked something, but I don't want to rule it out.

Yes, does not look right :( But no idea what might be wrong.
Does it work better with a slower timebase? (just a random guess)
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #65 on: March 19, 2024, 10:19:02 pm »
No....

F1 is the (20x) interpolation of Ch1, F2 is the diff of F1(4), F3 is the FFT of F2.
At least that's how I interpreted Performa01's settings.
Of course, this may not be entirely correct and I may have overlooked something.
Edit:
The formula that was "correct" for the 2000X HD was FFT(int(d(C1)/dt)), plus average 32 in the acquisition.
The result (without Avg32) of the 800X HD, see second picture.

« Last Edit: March 19, 2024, 10:26:41 pm by Martin72 »
 

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #66 on: March 20, 2024, 12:57:23 pm »
Hmmm. A d/dt finite difference approximation with 4 samples interval (w/o up-sampling) is basically expected to have zeros at 500 and 1000 MHz. That's what I meant with "unwanted lowpass". However, with prior 20x up-sampling, I would expect the zeros to shift to 10GHz and 20 GHz. And obviously, you did up-sample. Was the d/dt possibly nevertheless calculated with a 2ns interval instead of 4 samples of the higher (40Gs/s) sample rate?
Yes, there is most definitely something wrong.

I’ve filed a bug report and talked to Siglent R&D this morning. Here’s in brief what’s going on:

The math works with the original sample data, except for the Averaging acquisition mode, where there is no Dots display available, hence the interpolated data at time bases <50 ns/div have to be used. This is where the advantage for the SDS2000X HD came from.

Since the various Acquisition modes should behave identical when used as a math source, this is a platform bug and is already fixed (math will always use the interpolated data at fast time bases), so we’ll get that sorted with the next FW releases.

The other issue is that the Intrp() math function changes the visual appearance of the data on the screen (a lot more points), but quite obviously doesn’t make any difference when used as an argument for d(x)/dt. This is under investigation right now – maybe it’s already fixed as well…


Thanks for the .bin files. I did take a first look. The differentiated square wave edges (doing my own differentiation) definitively contain more high frequency contents than the impuse train - which was to be expected. The difference is roughly what to be expected from a 1ns impulse width if I assume that the signals have been generated by applying the same ~500ps edge shaper to a) an ideal 1ns pulse train, and b) to an ideal square wave.
Many thanks for the effort!

Yes, as I said, the SDS800X HD frontend cut the pulse train amplitude to one half already. And even so, a 10-90% rise time of 500 ps doesn’t quite fit a pulse width of 1 ns. Apart from that, I can only repeat one more time that with rise times below 1 ns, I’m operating the generator outside its specifications, which might also result in increased overshoot.


n=1 works nicely with your data. Welch's method estimates a confidence interval of less than 0.1dB up to 500 MHz. So it is not very noisy for this particular use case. Also tried to truncate the data to 8 bits. Still worked nicely.
Well, yes. I’ve looked up my old notes and the test back then has been with slow edges, like from a triangle wave. No wonder I’ve required a rather high dx parameter value to get a reasonable result. It worked beautifully in case of generating pulses from a square wave though, even with the old 8-bit SDS1104X-E.

Maybe I will suggest a lower limit of 1 to Siglent – even if it’s noisy in some use cases, there is still no harm done as we still have the full range up to 20 available.


About -3.1dB @244MHz with the square wave seems to be almost spot on :)
It’s always nice when theory meets exercise, isn’t it? 😉
« Last Edit: March 20, 2024, 03:27:07 pm by Performa01 »
 
The following users thanked this post: egonotto, gf

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #67 on: March 20, 2024, 01:04:44 pm »
Last attempt:
Can you please name the settings that produced the result on your 824 ?
If my result looks so clearly different, I must have set something wrong.
 
The following users thanked this post: egonotto

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #68 on: March 20, 2024, 03:23:58 pm »
Last attempt:
Can you please name the settings that produced the result on your 824 ?
If my result looks so clearly different, I must have set something wrong.
Sorry, I have thought it should be obvious by now.

As stated in my last posting, it cannot work as it should, because there is a platform problem: upsampling (interpolation) quite obviously doesn't have any effect on the d(x)/dt math function. It still did work somehow on the SDS2000X HD, but only for time bases faster than 50 ns/div and Average acquisition mode, because the latter forced the math to use interpolated data - this time not coming from the intrp() function but from the acquisition engine directly. With the already confirmed fixes, this would work on the SDS800X HD too, because we'd get interpolated data and increased sample rate even in normal acquisition mode.

The other problem is that intrp() has not the desired effect on math functions that use it as argument. We get a higher sample rate on the FFT, but the result is not any different from differentiating the input channel directly. If this can be solved, then the method discussed here will also work at slower time bases.

My test worked somehow, albeit with huge errors, but that is only the result from 2 GSa/s, even when he FFT states 40 GSa/s, but this isn't true, at least not for the differentiation. Consequently, the result is like it was with just 2 GSa/s and this is also why we get the null at 500 MHz. And all this ruins accuracy of course.

I never had any special settings, everything is in plain view. Most striking difference: the time base. What abut trying 100 ns/div or even slower, like I did with all my previous attempts?
 
The following users thanked this post: egonotto, Martin72

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #69 on: March 20, 2024, 08:53:13 pm »
With your settings* I´ll get these results, depending on the timebase..
I could try it again with the fast pulse (approx. 400ps risetime, approx. 200khz) from the batronix demoboard, but I don't believe that this will change anything.

* = https://www.eevblog.com/forum/testgear/math-problems-on-sds2k-(trying-to-display-bandwith)/msg5401265/#msg5401265
« Last Edit: March 20, 2024, 08:58:14 pm by Martin72 »
 
The following users thanked this post: egonotto, gf

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #70 on: March 20, 2024, 10:26:58 pm »
With your settings* I´ll get these results, depending on the timebase..

100ns and 50ns look basically OK, the others not.
[ In order to see more details, vertical scale adjustment would be nice, say 5dB/div and ~150db (?) reference level. ]

EDIT: When I look at the levels of the peaks, then they seem to suffer from the same problem as Performa01's plot.

Quote
I could try it again with the fast pulse (approx. 400ps risetime, approx. 200khz) from the batronix demoboard, but I don't believe that this will change anything.

The lower the frequency, the denser the spacing of the teeth of the comb spectrum. But that needs more FFT points, too.
Do you mean a square wave, or a train of narrow impulses? (if the latter, what's the pulse width?)
« Last Edit: March 20, 2024, 11:39:47 pm by gf »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #71 on: March 20, 2024, 10:48:43 pm »
Afaik its a square wave, will look at it tomorrow.

I wonder why I don't get the same result with the same settings.
However, there are 2 things that are different with my attempts than with Performa01.
First of all the signal, which comes from the 40ps/10Mhz bodnar pulser.
Secondly, and you can definitely think this through, the scope model.
Performa01 has a "real" 824X HD, I have an 804X HD, which was turned into an 824 by a "trick".
That shouldn't really matter.
Actually.

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #72 on: March 20, 2024, 11:34:15 pm »
Look at Performa01's square wave frequency -> 20x lower.

EDIT: When I look at the levels of your peaks, then they seem to suffer from the same problem as Performa01's plot.
« Last Edit: March 20, 2024, 11:39:22 pm by gf »
 

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #73 on: March 21, 2024, 08:18:45 pm »
Today with a much lower frequency (197kHz, the demo board can send different frequencies to the fast schmitt-trigger), this looks quite different - apparently it does not seem to "work" with "high" frequencies/smaller time bases.



The following is interesting:
I wanted to make the other signals visible for the screenshot, which were hidden by the marker window and turned the timebase to the left outside zero, nothing else changed...

 
The following users thanked this post: egonotto

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #74 on: March 22, 2024, 07:38:16 am »
TThe following is interesting:
I wanted to make the other signals visible for the screenshot, which were hidden by the marker window and turned the timebase to the left outside zero, nothing else changed...
What you see is probably the effect of windowing.

I hate it to say, but for this kind of special measuement, the Rectangle window is the right choice. Try it and the position-dependance should be gone.

In general you need to keep in mind that the FFT doesn't process the entire screen width. In your example it is 8192 out of 10000 points, hence ~82%. But there are many scenarios where it's just 51.2%.

Therefore, whenever you want to analyze a single event like e.g. a transition, be aware that the FFT might be completely blind for the right half of the screen. As a consequence, do the following:

1. place the event between 20-30% of the screen width.
2. to get identical resuts independent of the position, use the Rectangle window.

EDIT: to get a smooth line, try a faster time base, like 200 ns/div.
« Last Edit: March 22, 2024, 07:40:27 am by Performa01 »
 
The following users thanked this post: egonotto, 2N3055, Martin72

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #75 on: March 22, 2024, 12:01:25 pm »
For a single impulse (differentiated edge) inside the FFT window, definitively use a rectangular window function.

If multiple periods of the pulse train are within the FFT window, you still need to use a non-rectangular windowing function. And you need to make sure that you have at least (say) 10 periods of the pulse train inside the FFT window to keep the amplitude error of the resulting comb teeth within the scalloping loss of the window function. A rectangular window is not suitable in this case. See attachment.

EDIT: With a huge number of FFT points, the leakage of the rectangular window no longer has such a strong effect as demonstrated, but the scalloping loss remains, and it is still worse than with a flattop window.
« Last Edit: March 22, 2024, 04:46:21 pm by gf »
 
The following users thanked this post: Performa01, egonotto

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #76 on: March 22, 2024, 06:51:58 pm »
I found an application note by Lecroy that is enlightening for me, at least on the first three pages.
I'm slowly understanding more and more, it takes a while, but still. ;)
 
The following users thanked this post: Performa01, egonotto

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD
« Reply #77 on: March 24, 2024, 10:56:24 am »

SA44_Pulsetrain_1MHz_W1ns_RT500ps

@Performa01, I was thinking about that again.

The spectrum of rectangular impulses is not flat, but is expected to have a sinc-shaped roll-off. And the tapering of the edges introduces additional roll-off. So they are not well suited for an application that requires a flat stimulus spectrum (unless they are so narrow that the roll-off can be neglected -- but then they can no longer be generated by the AWG).

What do you think about using a train of sinc-like pulses instead of rectangular pulses? They are bandwidth limited (so they can be reproduced by an AWG based on Shannon-Nyquist reconstruction from samples), and they still have a flat spectrum up to a certain frequency (with a sharp roll-off beyond this corner).

Plots of two example pulses are attached, designed for a 950-1000MHz transition band and for a 1000-1250MHz transition band. According to the specs, I assume that the SDG7000A should be able to reproduce these waveforms well. [By the way, does the SDG7000A promise 0.3dB amplitude flatness up to 1GHz?]
 
The following users thanked this post: Performa01, egonotto

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #78 on: March 24, 2024, 04:17:55 pm »
What do you think about using a train of sinc-like pulses instead of rectangular pulses? They are bandwidth limited (so they can be reproduced by an AWG based on Shannon-Nyquist reconstruction from samples), and they still have a flat spectrum up to a certain frequency (with a sharp roll-off beyond this corner).
It certainly is a good idea and I have done a few experiments with this, as described below.


Plots of two example pulses are attached, designed for a 950-1000MHz transition band and for a 1000-1250MHz transition band. According to the specs, I assume that the SDG7000A should be able to reproduce these waveforms well. [By the way, does the SDG7000A promise 0.3dB amplitude flatness up to 1GHz?]
Thanks a lot for your effort again! The SDG7102A “promises” +/- 0.3 dB flatness up to 1 GHz, you can find an actual frequency response measurement (SDG7102A_1000MHz_-10dBm) attached.

This is for sine waves though; we cannot expect the spectrum of a pulse to be that accurate.

I had a quick go at it and found a pre-defined Sinc pulse amongst the built-in arbitrary waveforms. This is 32768 points though and the pulse width is some microseconds. Of course, I can downsample it, yet the shortest possible length is 64 points. At 2.5 GSa/s, the resulting frequency was much too high at ~39 MHz, yet I still did a first check with the SA:


SDG7102A_AWG_Sinc_64pts

This is the corresponding peak table:

1,39.071413 MHz,-15.08 dBm,0.000000 Hz,0.00 dB
2,78.128540 MHz,-15.39 dBm,39.057127 MHz,-0.32 dB
3,117.185668 MHz,-15.49 dBm,78.114255 MHz,-0.42 dB
4,156.271366 MHz,-15.38 dBm,117.199953 MHz,-0.30 dB
5,195.299922 MHz,-15.42 dBm,156.228509 MHz,-0.35 dB
6,234.357050 MHz,-15.49 dBm,195.285637 MHz,-0.42 dB
7,273.442748 MHz,-14.99 dBm,234.371335 MHz,0.09 dB
8,312.499876 MHz,-15.38 dBm,273.428463 MHz,-0.31 dB
9,351.557003 MHz,-14.72 dBm,312.485590 MHz,0.36 dB
10,390.642702 MHz,-14.80 dBm,351.571289 MHz,0.28 dB
11,429.699829 MHz,-14.60 dBm,390.628416 MHz,0.47 dB
12,468.728385 MHz,-14.61 dBm,429.656972 MHz,0.47 dB
13,507.814084 MHz,-14.80 dBm,468.742671 MHz,0.28 dB
14,546.871211 MHz,-15.11 dBm,507.799798 MHz,-0.04 dB
15,585.928338 MHz,-15.06 dBm,546.856925 MHz,0.02 dB
16,625.014037 MHz,-16.12 dBm,585.942624 MHz,-1.05 dB
17,664.071164 MHz,-15.14 dBm,624.999751 MHz,-0.07 dB
18,703.128292 MHz,-16.35 dBm,664.056879 MHz,-1.28 dB
19,742.185419 MHz,-15.12 dBm,703.114006 MHz,-0.04 dB
20,781.271118 MHz,-22.15 dBm,742.199705 MHz,-7.08 dB

It can be seen that the harmonics should be accurate to 0.5 dB up to at least 586 MHz. Generally, the pretty accurate odd harmonics up to 742 MHz are quite striking, just like the fact that even the 64 points sinc-pulse at 2.5 GSa/s can still produce such strong harmonics up to 742 MHz.

Of course, there is no point in trying to display bandwidth with a high frequency like 39 MHz. Even though it would have been tempting to generate my own version of a Sinc pulse, maybe getting the real pulse a little faster with still enough “padding” samples to achieve a reasonably low repetition frequency when played back, I’ve rather utilized the sequence-function of the AWG, by just adding 2436 samples of a zero signal to the 64 points Sinc.

With this, the time domain signal looks like this:


SDS6204_Pro_H12_Sinc_Pulse

The pulse width is 772 ps and the rise time should be around 360 ps (assuming ~230 ps rise time of the SDS6204).

With the padding, the pulse is now played back at a rate of 1 MHz at 2.5 GSa/s.

The result on the SDS800X HD is not too bad – certainly much better than all the previous attempts to measure its bandwidth using a pulse train.


SDS824X HD_FFT_Sinc_1MHz

This looks about right, including the cable reflections because of less than perfect impedance matching.
« Last Edit: March 24, 2024, 04:19:48 pm by Performa01 »
 
The following users thanked this post: egonotto, gf, KungFuJosh, Martin72

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #79 on: March 24, 2024, 04:25:38 pm »
Quote
The SDG7102A “promises” +/- 0.3 dB flatness up to 1 GHz

According to your picture, this is once again a typical siglent understatement.
Nice generator btw.... 8)
« Last Edit: March 24, 2024, 04:50:41 pm by Martin72 »
 
The following users thanked this post: Performa01, egonotto, 2N3055, KungFuJosh

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #80 on: March 24, 2024, 11:22:47 pm »
The SDG7102A “promises” +/- 0.3 dB flatness up to 1 GHz, you can find an actual frequency response measurement (SDG7102A_1000MHz_-10dBm) attached. This is for sine waves though; we cannot expect the spectrum of a pulse to be that accurate.

Why? if it can reproduce sine waves up to 1GHz, then I would expect that it can reproduce any bandwidth limited signal up to 1GHz. Why is a sine wave special in this regard? Would be interesting, though, if AWG vs. AFG makes a difference.

Quote
Even though it would have been tempting to generate my own version of a Sinc pulse, maybe getting the real pulse a little faster

I tried to make custom .csv files. The data are flat (0.1%) up to 950 MHz. One is for AWG mode, with 2500 samples for 1:1 output @2.5GSa/s, and the second one with 32k AFG samples which is supposed to be sent at a repeat rate of 1MHz, and which needs to be resampled by the DDS (unavoidable if the AFG wants a wavetable with exactly 32k samples for a period). I just don't know if I got the CSV format correct.

Quote
...with still enough “padding” samples to achieve a reasonably low repetition frequency when played back

I also got only 183 AWG samples for the FIR, the rest up to 2500 samples are zero-padding. AFG has more samples, due to the higher effective sample rate of 32768MSa/s for the wavetable.


Octave code:

Code: [Select]

pkg load signal

function generate(sample_rate, transition_band, filename)

  [n,Wn,beta,ftype] = kaiserord(transition_band,[1 0],[0.001 0.001],sample_rate)
  impulse = fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');
  impulse *= 1/max(impulse);
 
  % zero-pad to get 1MHz repeat rate
  samples = [ impulse zeros(1,sample_rate-length(impulse)) ];

  % quantize
  samples = floor(samples*8192+0.5)/8192;

  % time axis
  t = [0:length(samples)-1]/sample_rate/1e6;

  % write CSV file
  f = fopen(filename, "w");
  fprintf(f,"data length,%d\n", length(samples))
  fprintf(f,"frequency,1.0E+6\n")
  fprintf(f,"amp,2\n")
  fprintf(f,"offset,0\n")
  fprintf(f,"phase,0\n")
  fprintf(f,"\n\n\n\n\n\n\n")
  fprintf(f,"xpos,value\n")
  fprintf(f,"%.8E,%15.13f\n",[t; samples])
  fclose(f);

  figure
  plot(1e9*t(1:length(impulse)), impulse);
  grid on; xlabel("ns")

  figure
  [H,f] = freqz(impulse/sum(impulse),1,100000,sample_rate);
  plot(f,(abs(H))); grid on; xlabel("Mhz")

endfunction

close all
transition_band = [950 1000] % MHz
generate(2500,transition_band,"AWG.csv")
generate(32768,transition_band,"AFG.csv")

« Last Edit: March 24, 2024, 11:24:22 pm by gf »
 
The following users thanked this post: Performa01, egonotto, 2N3055

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #81 on: March 25, 2024, 09:28:27 am »
The SDG7102A “promises” +/- 0.3 dB flatness up to 1 GHz, you can find an actual frequency response measurement (SDG7102A_1000MHz_-10dBm) attached. This is for sine waves though; we cannot expect the spectrum of a pulse to be that accurate.

Why? if it can reproduce sine waves up to 1GHz, then I would expect that it can reproduce any bandwidth limited signal up to 1GHz. Why is a sine wave special in this regard? Would be interesting, though, if AWG vs. AFG makes a difference.
I agree with that, yet my statement was meant more general. The much more popular DDS-technique (which Siglent’s AFG-mode effectively is) is well known for its problems with pulse reproduction, particularly jitter. It should be obvious that a jittery pulse will waste energy in sidebands, hence its harmonics cannot be accurate.

Being aware of this, I’ve used Siglent’s AWG-mode and the tools offered by the instrument (decimating, padding) to tweak the internally stored arbitrary waveform (Sinc).


I tried to make custom .csv files. The data are flat (0.1%) up to 950 MHz. One is for AWG mode, with 2500 samples for 1:1 output @2.5GSa/s, and the second one with 32k AFG samples which is supposed to be sent at a repeat rate of 1MHz, and which needs to be resampled by the DDS (unavoidable if the AFG wants a wavetable with exactly 32k samples for a period). I just don't know if I got the CSV format correct.
Excellent work, thank you very much! Both files worked beautifully right away – but then again, what else to expect from someone who figured out Siglent’s binary format without further assistance – just with the not so fool-proof documentaton?

I tried the AFG version of the Sinc pulse first and I think it is not much different from the internal one.

As expected, your AWG version of the Sinc pulse is quite a bit better than the decimated internal version, just look at the parameters:


SDS6204_Pro_H12_PR-Sinc_Gf-AWG

The pulse width is even narrower at just 650 ps now, and the rise time is less than 250 ps!  I think this is going to be at the absolute limit of what to expect from an SDG7000A output.

Of course, I was curious how well the theory meets practice this time and did a FFT with the SDS6204, to check the frequency response of the generated pulse.


SDS6204_Pro_H12_FFT_Sinc_Gf-AWG

The frequency response pretty much meets the expectations. Of course, we don’t get 0.1% accuracy even for DC, let alone up to 1 GHz, yet max. 0.31 dB deviation up to 500 MHz and <0.7 dB up to 1 GHz is not bad, taking the combined tolerances of both the AWG and (particularly) the DSO into account.

We actually see a steep cut-off beyond 950 MHz, but the noise floor is already pretty close at about 25 dB below. This is just because of the very low energy in the wanted signal. We need to acknowledge that this is a 650 ps wide 1 volts high pulse occurring once every microsecond, hence the duty cycle is just 0.065%.
« Last Edit: March 25, 2024, 09:29:58 am by Performa01 »
 
The following users thanked this post: egonotto, 2N3055, gf, Martin72

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #82 on: March 25, 2024, 01:34:49 pm »
The much more popular DDS-technique (which Siglent’s AFG-mode effectively is) is well known for its problems with pulse reproduction, particularly jitter.

The one sample period edge jitter of some DDS generators (when they generate pulses or square wave) is usually an aliasing artifact. It happens if the samples in the wavetable are not properly bandwidth-limited for the down-sampling done by the DDS. It does not happen with properly bandwidth-limited samples. You cannot fill the wavetable with [ -1 -1 ... -1 -1   1 1 ... 1 1 ] and expect a jitter-free resampling at any frequency, but you must pre-filter the wavetable according to the desired waveform repeat rate and DDS sample rate. Then this jitter is gone.

The phase truncation errors of a traditional DDS are a different issue, but they are usually much lower, and they can be reduced to a negligible amount by either using a huge wavetable (say > 1Mpts), or by interpolationg the wavetable instead of truncating the phase to the nearest wavetable entry. With a 32k wavetable, linear interpolation is quite sufficient. And I would expect a €€€€€ AWG to do that. So DDS does not need to be bad per se. But TrueArb (or however it is called by different manufacturers) offers more flexibility, of course.

Quote
I tried the AFG version of the Sinc pulse first and I think it is not much different from the internal one.

You did play it with 1MHz, right? Up to which frequency was it spectrally flat? If it starts rolling off below 950MHz, then the generator was obviously rather "conservative" when it did pre-filter the wavetable.

Quote
SDS6204_Pro_H12_PR-Sinc_Gf-AWG

The pulse width is even narrower at just 650 ps now, and the rise time is less than 250 ps!  I think this is going to be at the absolute limit of what to expect from an SDG7000A output.

We could go up to say 1200MHz with a steep transition band to 1250MHz. Then you could see the generator's intrinsic roll-off up to 1200 MHz.

For measuring a scope's frequency response (which is the topic of this thread), it's IMO better to keep the impulse bandwidth below the half sample rate of the scope in order to avoid aliasing (just in case). That's why I did choose 950MHz in this example, leaving 50MHz for the transition band, and virtually no power beyond 1GHz.

Btw, I find it interesting that the impulse is no longer symmetric. So the phase response already suffers somewhat at 950MHz. I guess that's mostly due to the analog reconstruction filter.

Quote
Of course, I was curious how well the theory meets practice this time and did a FFT with the SDS6204, to check the frequency response of the generated pulse.

SDS6204_Pro_H12_FFT_Sinc_Gf-AWG

The frequency response pretty much meets the expectations.
...
Of course, we don’t get 0.1% accuracy even for DC, let alone up to 1 GHz, yet max. 0.31 dB deviation up to 500 MHz and <0.7 dB up to 1 GHz is not bad, taking the combined tolerances of both the AWG and (particularly) the DSO into account.

The performance of this gear is amazing :-+

With 0.1% I just meant that the impulse was designed for 0.1% (0.01dB) passband ripple and -60dB stopband ripple. The samples are indeed within these limit. I did not expect the analog reproduction to be within this limit as well. The impulse is, btw, not an exact sinc, but it is truncated and windowed to achieve the given ripple and transition band width with a finite number of samples.

Quote
We actually see a steep cut-off beyond 950 MHz, but the noise floor is already pretty close at about 25 dB below. This is just because of the very low energy in the wanted signal. We need to acknowledge that this is a 650 ps wide 1 volts high pulse occurring once every microsecond, hence the duty cycle is just 0.065%.

Sure, peak-to-average power ratio (PAPR) is almost 2500. You could of course use a larger FFT size to lower the noise floor, but then you'll see the individual comb teeth again. You can't have everything in life ;)
« Last Edit: March 25, 2024, 01:37:58 pm by gf »
 
The following users thanked this post: Performa01, egonotto, newbrain, 2N3055

Online Martin72Topic starter

  • Super Contributor
  • ***
  • Posts: 5841
  • Country: de
  • Testfield Technician
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #83 on: March 25, 2024, 06:17:25 pm »


 ;)
 
The following users thanked this post: Performa01, egonotto, tautech, newbrain, gf, KungFuJosh

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #84 on: March 25, 2024, 06:19:17 pm »
The much more popular DDS-technique (which Siglent’s AFG-mode effectively is) is well known for its problems with pulse reproduction, particularly jitter.
… So DDS does not need to be bad per se. But TrueArb (or however it is called by different manufacturers) offers more flexibility, of course.
Well, yes, I’ve seen early DDS-generators, with 10 bits resolution, 10 MHz bandwidth and max. 1024 Samples memory for the ARB-mode, which didn’t sound too optimistic with regard to the predefined waveforms either. That was also the time when embedded systems used some 8051/2 MCU derivates at best, whose performance couldn’t even match a today’s Arduino.

These things have burned into my brain and of course I’ve not seen any serious problems of this kind with the Siglent SDG6052X and SDS7102A that I have here. Yet I’m still a bit wary whenever I’m using an AWG in DDS-mode close to its limits.


Quote
I tried the AFG version of the Sinc pulse first and I think it is not much different from the internal one.

You did play it with 1MHz, right? Up to which frequency was it spectrally flat? If it starts rolling off below 950MHz, then the generator was obviously rather "conservative" when it did pre-filter the wavetable.
Sorry, I’ve been sloppy once again. I just loaded the AFG-version while the generator still was in AWG-mode and got the usual ~76.3 kHz. For the reasons given above, I didn’t look more closely but hurried to get the AWG-version of the Sinc pulse instead. Yes, there is indeed a huge difference, as I will show later.


We could go up to say 1200MHz with a steep transition band to 1250MHz. Then you could see the generator's intrinsic roll-off up to 1200 MHz.
Maybe you feel like providing such a waveform, so we could have a go at it?


Btw, I find it interesting that the impulse is no longer symmetric. So the phase response already suffers somewhat at 950MHz. I guess that's mostly due to the analog reconstruction filter.
That was already the case with the decimated version of the internal waveform. But not with the unmodified original at 2.5 GSa/s, where I’ve now measured 400 ns pulse width and 216 ns rise time...


With 0.1% I just meant that the impulse was designed for 0.1% (0.01dB) passband ripple and -60dB stopband ripple. The samples are indeed within these limit. I did not expect the analog reproduction to be within this limit as well. The impulse is, btw, not an exact sinc, but it is truncated and windowed to achieve the given ripple and transition band width with a finite number of samples.
Yes, of course. And I forgot to mention another source of inaccuracies at higher frequencies – it is the impedance matching. The output impedance of the SDS7102A isn’t particularly close to a pure 50 Ω resistor, so there we could lose the occasional tenth of a dB at certain frequencies.

Speaking of accuracy, I’ve of course wondered if I could improve the result by providing a better match at the generator output. At first I just grabbed a cheap 6 dB BNC-inline attenuator and connected it directly at the generator output. This degraded the frequency response quite a bit – no wonder, these attenuators most likely have ½ W through hole resistors inside, so we cannot expect 0.1 dB accuracy up to 1 GHz.

Okay, I have much better attenuators, rated for up to 18 GHz, but of course they are SMA. So I’ve tried such an attenuator together with several SMA-cables, one of them the same quality as the previous BNC-cable, just 100 cm instead of 50. Unfortunately, all these experiments led to nothing. If anything, accuracy was at least 0.3 dB worse.

In the end, the original setup, i.e. a short (50 cm) low-loss Hyperflex 5 BNC-cable between generator and DSO worked best after all.


Sure, peak-to-average power ratio (PAPR) is almost 2500. You could of course use a larger FFT size to lower the noise floor, but then you'll see the individual comb teeth again. You can't have everything in life ;)
How true! 😉


Now for a closer look at the AFG-variant of the Sinc pulse. First in the time domain to obtain the precise measurements:


SDS6204_Pro_H12_PR-Sinc_Gf-AFG

We can conclude that the measurements are essentially the same as the AWG-version. One would expect there are also no differences in the frequency domain, yet there were some, with the AFG-version of the Sinc pulse performing slightly worse by at least 0.1 dB.

I noticed that there were still minor fluctuations of the measurements in the marker table, so I decided to repeat the measurements with both versions of the pulse, this time with 1024x averaging to get really stable readings.

First the AFG-version:


SDS6204_Pro_H12_FFT_Sinc_Gf-AFG

This is up to 0.2 dB worse than the measurement in the previous posting with AWG-version and 64x averaging.

And now the AWG-version with 1024x averaging:


SDS6204_Pro_H12_FFT_Sinc_Gf-AWG

The results are even better than in the first run.

So we actually have deviations of ~0.4 dB up to 500 MHz and <0.85 dB up to 1 GHz with the AFG version, yet ~0.35 dB up to 500 MHz and <0.65 dB up to 1 GHz with the AWG version. I’m pleased with both versions! 😉
« Last Edit: March 25, 2024, 06:31:38 pm by Performa01 »
 
The following users thanked this post: egonotto, 2N3055, gf, Martin72

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #85 on: March 25, 2024, 07:59:13 pm »
We could go up to say 1200MHz with a steep transition band to 1250MHz. Then you could see the generator's intrinsic roll-off up to 1200 MHz.
Maybe you feel like providing such a waveform, so we could have a go at it?

Sure. See attachment.

Quote
So we actually have deviations of ~0.4 dB up to 500 MHz and <0.85 dB up to 1 GHz with the AFG version, yet ~0.35 dB up to 500 MHz and <0.65 dB up to 1 GHz with the AWG version. I’m pleased with both versions! 😉

So the AFG works nicely too 8)
 
The following users thanked this post: Performa01, egonotto, 2N3055

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #86 on: March 26, 2024, 07:39:31 am »
Many thanks to member gf, who provides the arbitrary waveforms that give me the opportunity to get the most out of my Siglent gear. I was really curious what we’d get from the 1200 MHz version of the Sinc pulse. And yes, this is going to be spectacular, fasten your seat belts!

As always, I’ve analyzed it in the time domain at a fast time base first, to obtain the precise pulse parameters.


SDS6204_Pro_H12_PR-Sinc_Gf-AWG1200

The pulse width is narrower again and has now finally landed at just 500 ps, while the rise time is less than 200 ps. My calculation says ~188 ps, but this is rather uncertain territory, as the numbers are now even below the rise time of the DSO. Yes, we can still calculate the signal rise time from the measured value and the DSO’s own rise time – as I did, but we cannot absolutely rely on the specification and I suspect that the rise time of the SDS6204 might actually be a little faster than 230 ps. If that’s the case, the signal rise-time is correspondingly higher. For instance, if the DSO rise time actually is just 200 ps, then the generated Sinc pulse would have a rise time of 220 ps. Either way, we’re dealing with pretty fast edges here.

Now we expect a rather spectacular result for the frequency domain analysis, and I can state in advance that the result managed to surprise and impress me at the same time…


SDS6204_Pro_H12_FFT-Sinc_Gf-AWG1200

Above is the frequency response graph with measured values at strategic frequency values from 10 MHz to 1.2 GHz. And this is the summary of it:

Up to 200 MHz, the deviations are <0.1 dB.
Up to 1.12 GHz, the deviations are <0.3 dB.
At 1.2 GHz the deviation is about -3 dB, so that appears to be the actual bandwidth of the generator.

I can only repeat over and over again that we see the combined tolerances of AWG, cabling and DSO here.
« Last Edit: March 26, 2024, 07:51:26 am by Performa01 »
 
The following users thanked this post: Electro Fan, egonotto, gf, KungFuJosh, Martin72

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #87 on: March 26, 2024, 09:23:56 am »
So it is approximately flat up to 1.1 GHz :-+

Another aspect which limits the maximum "usable" frequency is the image rejection in the 2nd Nyquist band. We do not want frequencies beyond 1.25 GHz in the generated signal. Still they are present. The image of 1200MHz (at 1300MHz) is attenuated by ~15dB, and the image of 1100MHz (at 1400 MHz) is attenuated by ~25dB. But that's already the noise floor of your FFT, and that's also the point where your frequency scale ends. Could you connect it also to your SA and swep from say 1GHz to 2.5GHz, hoping that you can get a better dynamic range if you use a small enough RBW? At which frequencies beyond 1.3GHz do we get say -30dB, -40dB, -50dB, -60dB?

EDIT: And what's the attenuation at 1500MHz, since this is the image frequency of the nominal 1GHz bandwidth.

EDIT: And where does the spur at 1.25GHz come from? Is it from the siggen or from the scope? Iguess the latter. The SA will reveal.
« Last Edit: March 26, 2024, 09:28:57 am by gf »
 
The following users thanked this post: Performa01, egonotto

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #88 on: March 26, 2024, 03:53:20 pm »
Could you connect it also to your SA and swep from say 1GHz to 2.5GHz, hoping that you can get a better dynamic range if you use a small enough RBW? At which frequencies beyond 1.3GHz do we get say -30dB, -40dB, -50dB, -60dB?
I don’t have a high-end spectrum analyzer and while my SA44 is clearly better than average at low frequencies and narrow spans, it doesn’t provide narrow RBW-settings at wider spans, and above 1.5 GHz its noise floor starts rising considerably. Consequently, I can only provide a scan over 1-2.5 GHz with 6.5 kHz RBW:


SA44_Sinc_Gf-AWG1200_2-1-2.5GHz

This first scan however already shows pretty much everything relevant. The signal doesn’t seem to get any lower than -45 dBc. I still feel more comfortable with the DSO, even though it has lots of spurs at these low levels. For a more detailed view, I divided the spectrum in several 500 MHz wide sections. First is the critical part around the Nyquist frequency of the AWG at 1.25 GHz:


SDS6204_Pro_H12_FFT-Sinc_Gf-AWG1200_1-1.5GHz

We see the first minimum at 1.25 GHz – unfortunately the DSO generates a spurious signal there, so we have to measure the level at a 1 MHz higher frequency and get -36.46 dBc. At 1.29 GHz, the maximum level beyond Nyquist is measured as -13.25 dBV. At a random frequency of 1.462 GHz, the level is -40.7 dBc and we won’t see much less as the initial spectrum has already hinted on.

Here is the frequency range around 1.5 GHz:


SDS6204_Pro_H12_FFT-Sinc_Gf-AWG1200_1.25-1.75GHz

There is absolutely nothing special to see, except for the pulse spectrum at levels between approximately -42 and -47 dBc extending to 2 GHz.

In the range from 1.75 – 2.25 GHz the spectrum decreases in level very slowly, yet not falling below -48 dBc.


SDS6204_Pro_H12_FFT-Sinc_Gf-AWG1200_1.75-2.25GHz


EDIT: And where does the spur at 1.25GHz come from? Is it from the siggen or from the scope? Iguess the latter. The SA will reveal.
Yes, even without SA I could verify that this stronger spur comes from the SDS6204. But here is the proof from the SA:


SA44_Sinc_Gf-AWG1200_1.5GHz

« Last Edit: March 26, 2024, 07:33:53 pm by Performa01 »
 
The following users thanked this post: egonotto, gf

Online gf

  • Super Contributor
  • ***
  • Posts: 1182
  • Country: de
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #89 on: March 26, 2024, 08:04:32 pm »
Thanks for trying. My conslusions are:

1) We cannot go higher than 1000-1050 MHz if we want to avoid the "hill" between 1250 and 1000 1400 MHz (i.e. we should not see this hill with the previous 950 MHz impulse).

2) The stopband attenuation of the digital upsampling/reconstruction filter seems to be not more than about 40 dB.

The next point of interest would be the region around 3900 MHz (say +-300 MHz). That's where the analog reconstruction filter is mostly challenged.

I think you'll understand what I mean if you look at the attached figure, which shows what the (continuous) staircase output of an ideal DAC is expected to look like after 2x upsampling to 5 GSa/s with a digital reconstruction filter. This staircase is the signal going into the analog reconstruction filter.

And the second figure shows the spectrum of this staircase (and yes, it is not bandwidth-limited, but repeats periodically, decaying proportionally to 1/f). The "valley" up to 3600 MHz was already suppressed by the digital reconstruction filter (which is very helpful), but anything we see in this spectrum beyond 3600 MHz must still be eliminated (or sufficiently attenuated) by the analog filter. I have also drawn in orange what the frequency response of an example analog filter might look like.

EDIT:

Yes, even without SA I could verify that this stronger spur comes from the SDS6204. But here is the proof from the SA:

Looks like typical interleaving spurs (offset spurs). Calibration may help, but I guess that the resolution of the calibration is limited to integral ADC codes, while fractional resolution might be required to get rid of the spurs.
« Last Edit: March 26, 2024, 08:19:28 pm by gf »
 
The following users thanked this post: Performa01, egonotto

Online Performa01

  • Super Contributor
  • ***
  • Posts: 1645
  • Country: at
Re: Trying to display bandwith via Math on Siglent SDS2k+/2kHD/800X HD
« Reply #90 on: March 26, 2024, 08:57:13 pm »
Okay, we are slowly getting a bit off-topic here (discussing the output filtering in an SDG7000A AWG instead of displaying bandwidth on an entry level DSO), but then again, the problems that led to the actual topic will be solved at one point. In the meantime, we can look at noisy spectra, e.g. from 3.6 to 4.2 GHz for our trusty old Sync pulse, designed by gf:


SA44_Sinc_Gf-AWG1200_3.9GHz

As we can see, we can see nothing...

 
The following users thanked this post: egonotto


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf