Author Topic: Bode Plot Computational Time for various DSOs  (Read 5534 times)

0 Members and 1 Guest are viewing this topic.

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7462
  • Country: hr
Re: Bode Plot Computational Time for various DSOs
« Reply #25 on: November 08, 2022, 01:20:59 am »
When at 100Hz, one period is 10ms. You need many of those for calculations..  60 points in 9 seconds from 100Hz to 100kHz, not very likely..
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 
The following users thanked this post: Performa01, Someone

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1847
  • Country: ca
Re: Bode Plot Computational Time for various DSOs
« Reply #26 on: November 08, 2022, 01:23:50 am »
When I'm tweaking a circuit, I don't want to wait for over a minute to see the results of the changes.
Fair enough.

I imagine though that if you're tweaking a circuit you could limit the sweep to around the area of concern.  Back in the stone age, that's how we did it, especially since it was usually done with pen and paper.

Still, it would behoove Siglent to let the user select the number of averaging readings.  I wonder how difficult that would be?
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
 

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1847
  • Country: ca
Re: Bode Plot Computational Time for various DSOs
« Reply #27 on: November 08, 2022, 01:27:52 am »
When at 100Hz, one period is 10ms. You need many of those for calculations..
True, but at 10KHz one period is 100us so that last decade goes pretty quick compared to the first one .. 100 times faster .. theoretically.

So, if the first decade took 8s, then the following 2 decades would easily be done in the next 1s.
« Last Edit: November 08, 2022, 01:30:24 am by BillyO »
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: Bode Plot Computational Time for various DSOs
« Reply #28 on: November 08, 2022, 01:35:20 am »
When at 100Hz, one period is 10ms. You need many of those for calculations..  60 points in 9 seconds from 100Hz to 100kHz, not very likely..
A real network analyser does the same sweep in less than a second.

The same network as used in the 'torture test' thread measured using an Anritsu MS4630B:
« Last Edit: November 08, 2022, 01:54:33 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #29 on: November 08, 2022, 01:35:28 am »
When at 100Hz, one period is 10ms. You need many of those for calculations..
True, but at 10KHz one period is 100us so that last decade goes pretty quick compared to the first one .. 100 times faster .. theoretically.
Nctnico is simultaneously claiming fast capture and good noise rejection (pointing to the other thread) which is inherently impossible. As you say it would be nice to have a richer UI for the user so they can select the trade-offs for their particular application, but this is a minor feature with few real practical uses so it hasn't seen that much investment.

Which is why I keep pointing back to the obvious answer, if you want more control just script/code it to suit your situation. Instrument automation is easy and accessible these days. But I'm sure we'll see yet another endless blah blah blah from people wanting to promote XXX brand and say YYY brand is no good by picking their favourite corner case uses, rather than any real progress in helping people do things better.
 
The following users thanked this post: Performa01, jasonRF

Offline BillyO

  • Super Contributor
  • ***
  • Posts: 1847
  • Country: ca
Re: Bode Plot Computational Time for various DSOs
« Reply #30 on: November 08, 2022, 01:43:16 am »
from people wanting to promote XXX brand and say YYY brand is no good by picking their favourite corner case
Of course!

BTW, the best brand is the one I have.
Bill  (Currently a Siglent fanboy)
--------------------------------------------------
 
The following users thanked this post: Performa01, Someone, jasonRF

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #31 on: November 08, 2022, 02:07:48 am »
When at 100Hz, one period is 10ms. You need many of those for calculations..  60 points in 9 seconds from 100Hz to 100kHz, not very likely..
61 points log spaced from 100Hz to 100kHz would need just under 100ms to capture a single cycle of each, of course with zero noise suppression. Compare to a chirp that could squeeze a flat (or shaped) 100-100k Hz spectrum into a single 10ms period, less energy so even more noise sensitive.

This thread is not contributing much as the runtime of the measurement is presented without knowing how much of that time was actually spent capturing data, not comparable at all. Back to the numbers I do know, getting the measurements (not the raw data) to plot this sort of thing under the conditions here:
https://www.eevblog.com/forum/testgear/faster-fra-from-scope-by-external-control-over-visa/
The actual data captured was less than 1% of the total time spent from pressing start to seeing the result, you can increase the averaging/noise rejection amount and barely affect the total run time. Offloading data captures for FFT or other frequency selective filtering can become more time efficient, entirely dependent on the specific measurement conditions/noise present. But to get those sorts of numbers people need to reverse engineer exactly what these onboard bode/FRA measurement tools are doing.
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #32 on: November 08, 2022, 02:17:00 am »
When at 100Hz, one period is 10ms. You need many of those for calculations..  60 points in 9 seconds from 100Hz to 100kHz, not very likely..
A real network analyser does the same sweep in less than a second.

The same network as used in the 'torture test' thread measured using an Anritsu MS4630B:
Gee, how much more confusion and distraction do you want to add to this thread? That's a sweep with 21 points (not 61 as compared to the other examples) and a RBW of 30Hz, how long was the actual capture? and sweep time? since they arent shown on the plot or mentioned by you. Log sweep? non-constant RBW? plenty of tricks to pull to make your one sided and misleading claims.
 
The following users thanked this post: Performa01

Online gf

  • Super Contributor
  • ***
  • Posts: 1425
  • Country: de
Re: Bode Plot Computational Time for various DSOs
« Reply #33 on: November 08, 2022, 06:34:09 am »
61 points log spaced from 100Hz to 100kHz would need just under 100ms to capture a single cycle of each, of course with zero noise suppression.

Not with zero noise suppression. At 2GSa/s the processing gain at 100Hz can be up to 70dB, and at 100kHz up to 40dB, if one cycle is captured.
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #34 on: November 08, 2022, 06:46:11 am »
61 points log spaced from 100Hz to 100kHz would need just under 100ms to capture a single cycle of each, of course with zero noise suppression.
Not with zero noise suppression. At 2GSa/s the processing gain at 100Hz can be up to 70dB, and at 100kHz up to 40dB, if one cycle is captured.
in-band noise suppression is guaranteed to be zero for a single cycle capture. Yet some scopes are using nothing more than the cursor measurements, so even out of band suppression can be zero for a single capture! GSa/s have nothing to do with it, any frequency selective suppression is relative to the steepness of the filter + settling (and therefore total period of capture).

It is an absolute constraint, more filtering and noise rejection requires more periods captured (one way or another).
 

Online gf

  • Super Contributor
  • ***
  • Posts: 1425
  • Country: de
Re: Bode Plot Computational Time for various DSOs
« Reply #35 on: November 08, 2022, 03:43:35 pm »
GSa/s have nothing to do with it, any frequency selective suppression is relative to the steepness of the filter + settling (and therefore total period of capture).

It is an absolute constraint, more filtering and noise rejection requires more periods captured (one way or another).

Signal: 1kHz sine wave with peak amplutide = 1, polluted with Gausian noise with standard deviation = 0.0039763 (SNR = 45dBc)

Measurement interval/window: 10ms

1) signal sampled at 100kSa/s -> 1000 samples, detector ENBW=100Hz
2) signal sampled at 10MSa/s -> 100000 samples, detector ENBW=100Hz

If you look at the attached images, the noise floor of (1) is already lower than 45dBc, and the noise floor of (2) is clearly even lower.
Note that the filter shape and bandwidth is the same for (1) and (2), and the total measurement interval is the same, too.
How do you come to the conclusion that sample rate would not matter for noise floor reduction if the filter and the measurement interval are the same?

[ What really matters is the number of samples, and at a higher sample rate a larger number of samples fit into the same measurement interval. ]

EDIT:

"Settling" is a good point. After presenting a new stimulus frequency to the DUT it is of course necessary to wait until the DUT has settled to s stationary state, before the measurement interval can begin. Hard to predict the required settling time in advance if the DUT is unknown. The implied filter of a DFT-based detector does not need additional settling time, but only a window of N samples need to be captured and processed once the DUT has settled. If an explicit filter (FIR or IIR) in front of the detector were used, it will require some additional settling time.
« Last Edit: November 08, 2022, 04:35:20 pm by gf »
 
The following users thanked this post: Fgrir, 2N3055

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #36 on: November 08, 2022, 09:47:28 pm »
GSa/s have nothing to do with it, any frequency selective suppression is relative to the steepness of the filter + settling (and therefore total period of capture).

It is an absolute constraint, more filtering and noise rejection requires more periods captured (one way or another).

Signal: 1kHz sine wave with peak amplutide = 1, polluted with Gausian noise with standard deviation = 0.0039763 (SNR = 45dBc)

Measurement interval/window: 10ms

1) signal sampled at 100kSa/s -> 1000 samples, detector ENBW=100Hz
2) signal sampled at 10MSa/s -> 100000 samples, detector ENBW=100Hz

If you look at the attached images, the noise floor of (1) is already lower than 45dBc, and the noise floor of (2) is clearly even lower.
Note that the filter shape and bandwidth is the same for (1) and (2), and the total measurement interval is the same, too.
How do you come to the conclusion that sample rate would not matter for noise floor reduction if the filter and the measurement interval are the same?
Now repeat the same with some aggressor signal that is contained in a small bandwidth (extreme case an adjacent sine), adding more sample points does not improve the attenuation of signals the same distance apart, that attenuation is set by the FFT + window function.

You are applying synthetic signals with varying bandwidth. Although the gaussian noise has constant energy, that energy is spread over a wider bandwidth as you increase the number of samples. A purely mathematical/simulation effect that is not matched with real systems as are being discussed here. So it is not the FFT length that is making that difference, but the different noise you added to the signal.

If you could make a steeper filter by interpolating more points in-between you could make an infinitely steep FIR in a finite length (obviously impossible).
 

Online gf

  • Super Contributor
  • ***
  • Posts: 1425
  • Country: de
Re: Bode Plot Computational Time for various DSOs
« Reply #37 on: November 09, 2022, 12:07:22 am »
You are applying synthetic signals with varying bandwidth. Although the gaussian noise has constant energy, that energy is spread over a wider bandwidth as you increase the number of samples. A purely mathematical/simulation effect that is not matched with real systems as are being discussed here. So it is not the FFT length that is making that difference, but the different noise you added to the signal.

Sure, what happens at the end is: When the analog wideband noise is sampled, then all noise frequencies beyond Nyquist are folded into the 0...Nyquist range. And Nyquist is of course higher when the sample rate is higher, therefore a higher sample rate distributes the sampled noise over a larger bandwidth, resulting in a lower power density per Hz. Consequently a bandpass filter with a given ENBW extracts less noise power from the high-sample-rate signal than from the low-sample-rate signal. Still the higher sample rate helps to push down the random noise floor w/o increasing the measurement time.

I don't agree that random noise is of no practical importance. Of course it won't be perfectly white, but It is certainly a nasty issue in practice, too, which needs to be addressed if we don't want that a measured high dynamic range transfer function of a DUT gets buried in the noise floor. OTOH, a small amount of dithering noise is even useful if we want to sqeeze out more than 50dB dynamic range from an 8-bit ADC (improves SFDR, INL,...).

Quote
Now repeat the same with some aggressor signal that is contained in a small bandwidth (extreme case an adjacent sine), adding more sample points does not improve the attenuation of signals the same distance apart, that attenuation is set by the FFT + window function.

If you could make a steeper filter by interpolating more points in-between you could make an infinitely steep FIR in a finite length (obviously impossible).

When you initially wrote "with zero noise suppression", I did intpret it it as random (wideband) noise, and not as arbitrary "agressor signal".

I fully agree that a narrower filter bandwidth requires a longer measurement interval. And if a filter with a better selectivity than the (rather lousy) sinc response of a rectangular window is desired, then a longer measurement interval is required as well.

[ However, if only harmonics of the stimulus need to be eliminated, and if a frequency plan can be arranged, such that the window size is an exact integral multiple of the stimulus period, then a rectangular window is still fine (transfer function has zeros at all harmonics), and it has the lowest ENBW among all window functions for a given window size (measurement interval). ]
 

Offline mawyattTopic starter

  • Super Contributor
  • ***
  • Posts: 4116
  • Country: us
Re: Bode Plot Computational Time for various DSOs
« Reply #38 on: November 09, 2022, 12:43:16 am »
OTOH, a small amount of dithering noise is even useful if we want to sqeeze out more than 50dB dynamic range from an 8-bit ADC (improves SFDR, INL,...).
Yes, often used to get a little more out of the lower bits in many ADCs!!

Quote
[ However, if only harmonics of the stimulus need to be eliminated, and if a frequency plan can be arranged, such that the window size is an exact integral multiple of the stimulus period, then a rectangular window is still fine (transfer function has zeros at all harmonics), and it has the lowest ENBW among all window functions for a given window size (measurement interval). ]

Often utilized to reduce/eliminate Mains signal corruption in low speed SD ADCs.

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #39 on: November 09, 2022, 02:05:58 am »
You are applying synthetic signals with varying bandwidth. Although the gaussian noise has constant energy, that energy is spread over a wider bandwidth as you increase the number of samples. A purely mathematical/simulation effect that is not matched with real systems as are being discussed here. So it is not the FFT length that is making that difference, but the different noise you added to the signal.
Sure, what happens at the end is: When the analog wideband noise is sampled, then all noise frequencies beyond Nyquist are folded into the 0...Nyquist range. And Nyquist is of course higher when the sample rate is higher, therefore a higher sample rate distributes the sampled noise over a larger bandwidth, resulting in a lower power density per Hz. Consequently a bandpass filter with a given ENBW extracts less noise power from the high-sample-rate signal than from the low-sample-rate signal. Still the higher sample rate helps to push down the random noise floor w/o increasing the measurement time.
Change the sample rate setting of a scope under these conditions, not in some simulation of perfect signals. The std-deviation of the noise is not a constant. Practical real world scopes include anti-aliasing filters ahead of the sampling, at lower sample rates (bandwidths) the measured broadband noise reduces as the bandwidth has been reduced.

Simplified Simulation /= Real World

The statement is still very true, I can keep rewording it: the only way to increase the attenuation of a noise component is to capture more periods, adding more samples (that have been captured with an antialias filter) does not improve the attenuation of any given signal.

You have only shown that a signal with noise energy spread across more bandwidth has less noise energy within a specific bandwidth. The FFT shows that, but the changed parameters of the FFT did not cause that.
 

Offline Fgrir

  • Regular Contributor
  • *
  • Posts: 164
  • Country: us
Re: Bode Plot Computational Time for various DSOs
« Reply #40 on: November 09, 2022, 07:31:56 pm »
Practical real world scopes include anti-aliasing filters ahead of the sampling
Do they? My RTB2004 happily aliases whatever I throw at it while my MSOX3024A appears to do some kind of sample rate dithering unless you turn on FFT in which case it happily aliases whatever I throw at it. Not trying to prove a point, just genuinely curious whether other scopes are anti-aliasing by default.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: Bode Plot Computational Time for various DSOs
« Reply #41 on: November 09, 2022, 08:19:32 pm »
Practical real world scopes include anti-aliasing filters ahead of the sampling
Do they? My RTB2004 happily aliases whatever I throw at it while my MSOX3024A appears to do some kind of sample rate dithering unless you turn on FFT in which case it happily aliases whatever I throw at it. Not trying to prove a point, just genuinely curious whether other scopes are anti-aliasing by default.
They don't. None of the mainstream oscilloscopes I have seen (and I have had a lot of different models through my hands) adjust the anti-aliasing filter depending on the samplerate. The anti-aliasing filter is part of the analog front-end and consists of components soldered to the board. So what gf wrote is right: any signal & noise components beyond fs/s (nyquist) are folded / aliased back to frequencies between 0 and fs/2.

Now some oscilloscopes are sold with the same hardware for different bandwidth models and use an adjustable filter to set the bandwidth according to what it says on the badge but again, the bandwidth is not adjusted when the samplerate is lower. It is entirely up to the user to set the oscilloscope's bandwidth limit to what is appropriate for the measurement at hand.

Besides that, for maximum effect of getting extra bits from an ADC you'll need enough Gaussian noise to make it work. On the Tektronix TDS700 series high-res will actually works worse when the 20MHz bandwidth limit is turned on.
« Last Edit: November 09, 2022, 08:21:27 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline mawyattTopic starter

  • Super Contributor
  • ***
  • Posts: 4116
  • Country: us
Re: Bode Plot Computational Time for various DSOs
« Reply #42 on: November 09, 2022, 08:22:50 pm »
Practical real world scopes include anti-aliasing filters ahead of the sampling
Do they? My RTB2004 happily aliases whatever I throw at it while my MSOX3024A appears to do some kind of sample rate dithering unless you turn on FFT in which case it happily aliases whatever I throw at it. Not trying to prove a point, just genuinely curious whether other scopes are anti-aliasing by default.

Apparently our SDS2104X+ doesn't either!! It's easy to get under-sampled aliased artifacts just viewing a single channel without any additional "Signal Processing" taking place, or other channels active!!

Best,
Curiosity killed the cat, also depleted my wallet!
~Wyatt Labs by Mike~
 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 5154
  • Country: au
    • send complaints here
Re: Bode Plot Computational Time for various DSOs
« Reply #43 on: November 09, 2022, 09:11:39 pm »
Practical real world scopes include anti-aliasing filters ahead of the sampling
Do they? My RTB2004 happily aliases whatever I throw at it while my MSOX3024A appears to do some kind of sample rate dithering unless you turn on FFT in which case it happily aliases whatever I throw at it. Not trying to prove a point, just genuinely curious whether other scopes are anti-aliasing by default.
Sure, you can find ways to cause aliasing, how about the ways to not do that? Do the high-resolution modes suppress that out of band noise?

Taking measurements from the display (as the Keysight does) continues to capture the amplitude of the original signal even when undersampled, that's using random decimation to make the display look nice (no visible aliasing). Upsides and downsides. If you're trying to reduce the number of samples offloaded from the scope for measurement, that's really not the mode to use.
 

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 7011
  • Country: ro
Re: Bode Plot Computational Time for various DSOs
« Reply #44 on: November 09, 2022, 09:29:50 pm »
Haw fast?  Challenge accepted.
A single chirp should be plenty!  ;D

This is the first I want to try:
- sample the DUT output
- get a 90* phase shifted DUT signal (here approximated by a delay looking at the 1/4 of the wavelength behind)
- that would be as if it were a quadrature sin and cos of the measured signal
- square each one and sum them together to get instantaneous
- because sin2x + cos2x = 1 at any x, we get a DC voltage representing the frequency response
- square each ADC sample, then square the ADC sample from 1/4 wavelength behind, then add the two results, and that will give the A2 as a DC along the chirp frequency sweep
- can be computed on-the-fly, sample by sample while reading from the ADC  :D

These are LTspice simulation of an RC and an RLC implementing my method above:





Not the final method, only a simulation I happen to post in https://www.eevblog.com/forum/programming/extract-precise-amplitude-and-phase-from-a-frequency-sweep-(vna-from-dsoawg)/

So far the idea is work in progress, the speed was not addressed yet.  It feels like it should be possible to do all in a single chirp of a continuous frequency sweep.  In terms of speed, this would mean less than a second for the audio range, and for RF chirps it would be faster than the refresh rate of the display.  ;D

Online Martin72

  • Super Contributor
  • ***
  • Posts: 7018
  • Country: de
  • Testfield Technician
Re: Bode Plot Computational Time for various DSOs
« Reply #45 on: November 10, 2022, 12:49:28 am »
I´m playing with the thought to do the test which I did before not only with my scope, but also with my Neutrik A1 analyzer and with my PC plus Scarlet audio interface.
Not for checking the time but for the results in general.
Only limitation was that the neutrik won´t go up to 100Khz.

Online gf

  • Super Contributor
  • ***
  • Posts: 1425
  • Country: de
Re: Bode Plot Computational Time for various DSOs
« Reply #46 on: November 10, 2022, 09:37:44 am »
Haw fast?  Challenge accepted.
A single chirp should be plenty!  ;D

This is the first I want to try:
[...]


Note that RG and the DUT's input impedance form a voltage divider, so it is not granted that the voltage at the DUT input is the same as the voltage generated by your VCO.

What do you mean with "get a 90* phase shifted DUT signal (here approximated by a delay looking at the 1/4 of the wavelength behind)"? 1/4 wavelength behind what? And which wavelength? How would you get a 90° phase shifted signal without a proper Hilbert filter?

At each point in time, you need to determine not only instantaneous amplitude, but also instantaneous frequency, in order to draw a Bode Plot. Note that the DUT's group delay can be frequency-dependent. If the chirp at the DUT input is linear, i.e. f(t)=f_start+k*t, then don't expect the same linear relation at the DUT output. You can't determine the instantaneous frequency any more alone from the point in time. The total duration of the response can also be longer than the duration of the chirp stimulus.

Since the transfer function is a function of frequency (not time), why not do it purely in the frequency domain, i.e. capture DUT input and DUT response to the complete chirp simultaneously, FFT both, and divide the two complex spectra to obtain the transfer function?

You can taper the chirp with a tukey window in order to reduce the ringing in the chirp spectrum and make it flatter, as explained in the 1st answer here.
« Last Edit: November 10, 2022, 09:44:00 am by gf »
 
The following users thanked this post: Performa01, RoGeorge

Offline RoGeorge

  • Super Contributor
  • ***
  • Posts: 7011
  • Country: ro
Re: Bode Plot Computational Time for various DSOs
« Reply #47 on: November 10, 2022, 01:49:22 pm »
What do you mean with "get a 90* phase shifted DUT signal (here approximated by a delay looking at the 1/4 of the wavelength behind)"? 1/4 wavelength behind what? And which wavelength? How would you get a 90° phase shifted signal without a proper Hilbert filter?

- 1/4 wavelength behind the moment of the current ADC sample, in time domain
- the wavelength can be deduced because the start moment of a chirp is known (the oscilloscope is triggered by the generator's "start of a new sweep" signal), and the variation (lin or log) of the chirp is also known, so the expected instantaneous frequency can be deduced
- it's not a proper 90° shifted signal, only an approximation of it

Now I see this topic is about the performance of existing instruments, and not about finding a faster way.  Sorry for my offtopic here.  I don't want to hijack this thread, but will be glad to talk more about pitfalls or new methods in the other thread, where I was trying to figure out a better way:  https://www.eevblog.com/forum/programming/extract-precise-amplitude-and-phase-from-a-frequency-sweep-(vna-from-dsoawg)/msg4514039/#msg4514039

Offline TopQuark

  • Frequent Contributor
  • **
  • Posts: 326
  • Country: hk
Re: Bode Plot Computational Time for various DSOs
« Reply #48 on: November 10, 2022, 06:56:04 pm »
Read this first, it is about doing bode plots with FFT:
https://www.eevblog.com/forum/testgear/siglent-sds2000x-hd-12bit-(published-for-chinese-domestic-market-only)/msg4489057/#msg4489057

So I spent some time rewriting this in Rust instead of Python, decreased the sample points (20M -> 2M), and saw the execution time drop from 30 seconds to 1.844 seconds for single data capture and bode plotting. The Rust program uses multithreading and SIMD acceleration.

https://github.com/TopQuark12/siglentRust/tree/bode

With this bump in speed, I can now do averages to reduce the bode plot trace noise, with 10 averages + plotting taking 13.558 seconds. I've attached the resulting graphs.
 
The following users thanked this post: RoGeorge, teddychn

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7462
  • Country: hr
Re: Bode Plot Computational Time for various DSOs
« Reply #49 on: November 10, 2022, 07:23:48 pm »
Read this first, it is about doing bode plots with FFT:
https://www.eevblog.com/forum/testgear/siglent-sds2000x-hd-12bit-(published-for-chinese-domestic-market-only)/msg4489057/#msg4489057

So I spent some time rewriting this in Rust instead of Python, decreased the sample points (20M -> 2M), and saw the execution time drop from 30 seconds to 1.844 seconds for single data capture and bode plotting. The Rust program uses multithreading and SIMD acceleration.

https://github.com/TopQuark12/siglentRust/tree/bode

With this bump in speed, I can now do averages to reduce the bode plot trace noise, with 10 averages + plotting taking 13.558 seconds. I've attached the resulting graphs.

What dynamic range you have here? I said many times, there are many ways to do FRA, but they have their own problems. Single frequency sweep is for a reason. It allows variable stimulus and amplification for every single frequency.
What happens to a switcher when you insert broadband noise in it's feedback loop?

Also is this a Bode plot on a scope? How is that connected to the topic? Please don't dilute the thread.
Rogeorge has a topic where they discuss making a software FRA separate from the scope in different variants.
There your post would be very much appreciated and on topic.
« Last Edit: November 10, 2022, 07:40:46 pm by 2N3055 »
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 
The following users thanked this post: Someone


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf