EEVblog Electronics Community Forum

Products => Test Equipment => Topic started by: mawyatt on November 07, 2022, 08:35:49 pm

Title: Bode Plot Torture Test
Post by: mawyatt on November 07, 2022, 08:35:49 pm
This is an extension of this thread, so review first!!

https://www.eevblog.com/forum/testgear/bode-plot-computational-time-for-various-dsos/ (https://www.eevblog.com/forum/testgear/bode-plot-computational-time-for-various-dsos/)

To add some additional information regarding the Bode Plotting capability we decided to conjure up an experiment to "see" just how good the frequency selectivity of the Bode implementation behaves with large interference sources. This was done with a simple RC LPF  (1K and 0.01uF) as DUT.

We directly connected two separate AWGs (SDG2042X & SDG6022X) outputs relying on the 50 ohm output Z to create a summation signal, one AWG (2042X) is controlled by the DSO (SDS2104X+) by LAN and the other AWG (6022X) is Independent.

First off we set the Independent AWG as a Noise Source (PRNS) with Standard Deviation of 1V, and the Dependant AWG to 0.1Vrms.

The Bode Parameters were Decade Sweep from 100Hz to 100KHz, 20pts/dec, 0.1Vrms, with CH1 and CH2 using 10X DSO Probes and 20MHz BW DSO limitation.

First image shows the Bode result without any disturbance from the Noise Source.

Second Image shows result with Noise Source active.

Third shows Time Domain Plot, note the level of the Bode Signal to the Noise Signal (buried within the Noise)!!

Next we changed the Independent "Noise" AWG to 1KHz SineWave at 1Vrms, Bode signal still at 0.1Vrms.

Fourth shows with 1KHz "Noise" Source

Next shows Time Domain Plot, note the level of the Bode Signal (smaller signal) to the 1KHz "Noise" Signal!!

Anyway, this was quickly done just to "See" how things behave, and much more work/effort needs to be applied. Maybe some others might find this useful/interesting and post some results they've achieved.

Edit: Added:

6th with "Noise" source at 10KHz @ 1Vrms

7th with "Noise" source at 10KHz @ 5Vrms!!

8th Time Domain plot of 7th, note the small signal is the Bode signal of interest!!

Best,
Title: Re: Bode Plot Torture Test
Post by: balnazzar on November 07, 2022, 09:01:15 pm
Dave should do a shootout  >:D
Title: Re: Bode Plot Torture Test
Post by: TopQuark on November 07, 2022, 09:33:01 pm
My contribution to "cursed" bode plot measurements.  >:D

Two diodes in parallel but of opposite direction, in series with a resistor. Drive the DUT with enough amplitude (5v p-p in my case) to activate the diode clamps and introduce non-linearities.

The bode plot is now tracking the first harmonic of the distorted signal. The gain plot should be flat but of lower amplitude, the phase plot should stick close to 0. The Siglent performs well in this test.
Title: Re: Bode Plot Torture Test
Post by: nctnico on November 07, 2022, 09:55:27 pm
I did a similar test with the RTM3004 (converted 100mV rms to 282mVpp). I used an external function generator with an RF splitter but didn't compensate for the 3dB loss in the splitter. Also I used an 820 Ohm resistor with 10nf (measures 9.-something-) so the -3dB cut-off point is a bit higher. Couldn't find a through hole 1k resistor quickly.

(https://www.eevblog.com/forum/testgear/bode-plot-torture-test/?action=dlattach;attach=1634311;image)

(https://www.eevblog.com/forum/testgear/bode-plot-torture-test/?action=dlattach;attach=1634317;image)

(https://www.eevblog.com/forum/testgear/bode-plot-torture-test/?action=dlattach;attach=1634323;image)

I agree with TopQuark though; using non-linear devices is a much more realistic torture test because that is what you can expect when doing real life measurements and likely the signal processing used for the bode plot is optimised to deal with harmonics.
Title: Re: Bode Plot Torture Test
Post by: Someone on November 07, 2022, 10:49:45 pm
The built in bode/FRA/sweep functions are effectively "toys" for the educational market. As black boxes of mystery its not possible to practically compare the different implementations without a huge amount of reverse engineering (over to you lot if you really want to do that rather than just the apples to grapes to bricks comparisons that usually end up). When you know what the noise/aggressor/non-ideal components that need to be avoided are then you select/design-in a suitable capture and processing method to minimise those effects, but that needs the flexibility of scripting/programming.

100dB of displayed dynamic range is easy when exploiting the front end attenuation and a benign DUT. But 100dB of dynamic range below the noise? that need some effort but is still possible. That level of interference/noise in the plot from mawyatt's first post would be "very poor"/low-effort from my experience.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 08, 2022, 01:53:34 pm
My contribution to "cursed" bode plot measurements.  >:D

Two diodes in parallel but of opposite direction, in series with a resistor. Drive the DUT with enough amplitude (5v p-p in my case) to activate the diode clamps and introduce non-linearities.

The bode plot is now tracking the first harmonic of the distorted signal. The gain plot should be flat but of lower amplitude, the phase plot should stick close to 0. The Siglent performs well in this test.

Good contribution!! Like the idea to "see" the effects of Odd order distortion!!

Just confirmed that the Even order distortion (single diode) rejection is also good!! An interesting observation when using a 1K shunt R and series 1N4148 diode, was when the diode was a 1N4007 rather than a 1N4148, the reverse recovery of the 1N4007 creates an effective signal bleed-thru on the reverse bias voltage causing the response to begin to rise ~ 10KHz up to from -7dB.

First plot is CH2 Time Domain Signal.

Best,
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 08, 2022, 02:14:01 pm
The built in bode/FRA/sweep functions are effectively "toys" for the educational market. As black boxes of mystery its not possible to practically compare the different implementations without a huge amount of reverse engineering (over to you lot if you really want to do that rather than just the apples to grapes to bricks comparisons that usually end up). When you know what the noise/aggressor/non-ideal components that need to be avoided are then you select/design-in a suitable capture and processing method to minimise those effects, but that needs the flexibility of scripting/programming.

100dB of displayed dynamic range is easy when exploiting the front end attenuation and a benign DUT. But 100dB of dynamic range below the noise? that need some effort but is still possible. That level of interference/noise in the plot from mawyatt's first post would be "very poor"/low-effort from my experience.

Won't discount the Educational value, but we've found this feature quite useful in our home lab. Sure, would prefer a "Proper" lower frequency Network Analyzer, which would have normally been available in our labs before retiring (can't recall the model tho), but now with a limited out-of-pocket budget and less funded work to support such equipment we'll have to do with what's available.

Like someone said the "The Best Equipment is what you have!!".

100dB below the noise environment is quite difficult indeed, altho the Miles Signal Processor (MSP) and the GPS "Deep Fade Algorithm" did such many decades ago.

Anyway, for now quite happy with the Bode capability of the SDS2000X+, altho wish as mentioned the processing speed could be altered by means of user selectable features, and the "Black Box" was opened to let us "see" what's inside ;)

Best,
Title: Re: Bode Plot Torture Test
Post by: nctnico on November 08, 2022, 02:37:47 pm
I wouldn't be so quick to label features as 'toys' or 'educational'. For example: having digital inputs on DSOs (=MSO) has helped to kill the market for logic analysers even though an MSO is a far cry from a real logic analyser. In the past I have done lots of FPGA development primarily using an MSO for debug / verification. The logic analyser only got pulled (literally) in when things got really complicated.

I can see FRA in an oscilloscope being a useful replacement for a low frequency network analyser. Especially when an external generator can be used which brings the frequency range in the 100MHz region. That brings it in the realm where you can do power distribution network analysis -for example-. HF VNAs typically don't work very well at low frequencies so there is a nice overlap.

Last but not least, the oscilloscope is typically already on your bench so the more you can do with it, the less other equipment you need for day-to-day work. I find myself using the internal function generator of the DSO on my desk regulary.
Title: Re: Bode Plot Torture Test
Post by: rf-loop on November 08, 2022, 07:20:30 pm
To add some additional information regarding the Bode Plotting capability we decided to conjure up an experiment to "see" just how good the frequency selectivity of the Bode implementation behaves with large interference sources.

Here is very tiny simple example about selectivity.
Selectivity depends also frequency, it is not fixed width "RBW"
Also, if look this image there happen selectivity step changes. (always when oscilloscope samplerate change)

In this image bode plot AGC is OFF. 
CH4 display base noise level when most sensitive, 500uV/div
CH2 is set for 100mV/div and it is fixed over sweep because AGC is OFF.
As can see base noise level is lot of higher but still there is nice dynamic range. With this fixed 100mV/div max signal level is around 2dBm (with AGC ON of course this max level is lot of higher and also lot of lower, down to same where now is Ch4)

What is this peak in image. It can think it is FRA "RBW filter shape" in this place of frequency axis.

How to get this FRA RBW figure.  Well it is simple as...     Very extremely simple way to do it.

There is not DUT at all. Just one fixed signal.

During sweep, in this case signal to Ch2 is fixed 350kHz sinewave and amplitude is fixed 2dBm (roughly full scale when 100mV/div)
Nice detail is that there can also see signal 2nd harmonic and there in 700kHz FRA  RBW is bit more wide.

Of course, I have lot of more details about this thing also done with some other ways etc.

It also tells that in many cases we can get enough dynamic range with AGC Off (Automatic Gain Control) for get bit more speed. It need only carefully select right signal levels and with these things "know your equipment" is one master rule.

(https://www.eevblog.com/forum/testgear/bode-plot-torture-test/?action=dlattach;attach=1634945;image)
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 08, 2022, 11:13:13 pm
Ran similar test with the fixed signal at 300KHz at 0.1Vrms on CH2 and the center at 600KHz and span 1MHz, and with all channels at 1Meg rather than 50 ohms (DSO Probes at 1X tho). This was done to allow the 3rd harmonic to be fully visible, as well as the 2nd.

First with AGC OFF.

Then with AGC ON.

Best,
Title: Re: Bode Plot Torture Test
Post by: Someone on November 09, 2022, 03:16:57 am
The built in bode/FRA/sweep functions are effectively "toys" for the educational market. As black boxes of mystery its not possible to practically compare the different implementations without a huge amount of reverse engineering (over to you lot if you really want to do that rather than just the apples to grapes to bricks comparisons that usually end up). When you know what the noise/aggressor/non-ideal components that need to be avoided are then you select/design-in a suitable capture and processing method to minimise those effects, but that needs the flexibility of scripting/programming.

100dB of displayed dynamic range is easy when exploiting the front end attenuation and a benign DUT. But 100dB of dynamic range below the noise? that need some effort but is still possible. That level of interference/noise in the plot from mawyatt's first post would be "very poor"/low-effort from my experience.

Won't discount the Educational value, but we've found this feature quite useful in our home lab. Sure, would prefer a "Proper" lower frequency Network Analyzer, which would have normally been available in our labs before retiring (can't recall the model tho), but now with a limited out-of-pocket budget and less funded work to support such equipment we'll have to do with what's available.

Like someone said the "The Best Equipment is what you have!!".

100dB below the noise environment is quite difficult indeed, altho the Miles Signal Processor (MSP) and the GPS "Deep Fade Algorithm" did such many decades ago.

Anyway, for now quite happy with the Bode capability of the SDS2000X+, altho wish as mentioned the processing speed could be altered by means of user selectable features, and the "Black Box" was opened to let us "see" what's inside ;)
Without controls to adjust the trade-offs it is great if it does what you want, and useless if not. It is a toy as you have so few controls over it, people dont decide if their scope is good or not from what is shown when you press the "autoscale" button. The bode plot is like that, few controls, and it only puts up a pretty picture if the system is well behaved/normal. You claim how it works great on your torture test, but that can easily be chosen to show off the particular implementation (ignoring that implementations downsides, slow speed as in the other thread).

Why push people to consider if the built in "toy" is good or bad, when they can use the scope with more flexibility and power by automation? All the scopes can do that, quickly and easily. Other people complain the sweep speed of the Siglent is too slow, which is required for your demonstration of suppressing noise. I say the built in bode/FRA/sweeps are not worth wasting time on, particularly when your demands get more specific.

What would be interesting to find out is how much filtering and what filtering types are being employed by the different implementations, so that people can recreate them and consider what is best for their application. But so far this thread is more promotion than testing, the configurations and signals arent reproducible:
how much bandwidth did your noise source have for its 1Vrms level?
what was its distribution?
how long did the scope take to complete the whole sweep?

change up any of those parameters and the result is radically different (so much so its impossible to reproduce anything comparable) then nctnico goes add more of the same pretty pictures with no context/information:
what were the relative amplitudes and noise signals? they dont even look the same as the first post.
Title: Re: Bode Plot Torture Test
Post by: pdenisowski on November 09, 2022, 11:07:05 am
I wouldn't be so quick to label features as 'toys' or 'educational'. For example: having digital inputs on DSOs (=MSO) has helped to kill the market for logic analysers even though an MSO is a far cry from a real logic analyser

That's putting it mildly :)  The T&M instrument company I previously worked for sold lots of very large and very expensive logic analyzers back in the day, and the stand-along logic analyzer market seems to have almost completely disappeared. 
Title: Re: Bode Plot Torture Test
Post by: nctnico on November 09, 2022, 12:20:54 pm
@Someone: feel free to pitch ideas on what you think would be a valid test.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 09, 2022, 01:53:47 pm
The built in bode/FRA/sweep functions are effectively "toys" for the educational market. As black boxes of mystery its not possible to practically compare the different implementations without a huge amount of reverse engineering (over to you lot if you really want to do that rather than just the apples to grapes to bricks comparisons that usually end up). When you know what the noise/aggressor/non-ideal components that need to be avoided are then you select/design-in a suitable capture and processing method to minimise those effects, but that needs the flexibility of scripting/programming.

100dB of displayed dynamic range is easy when exploiting the front end attenuation and a benign DUT. But 100dB of dynamic range below the noise? that need some effort but is still possible. That level of interference/noise in the plot from mawyatt's first post would be "very poor"/low-effort from my experience.


Without controls to adjust the trade-offs it is great if it does what you want, and useless if not. It is a toy as you have so few controls over it, people dont decide if their scope is good or not from what is shown when you press the "autoscale" button. The bode plot is like that, few controls, and it only puts up a pretty picture if the system is well behaved/normal. You claim how it works great on your torture test, but that can easily be chosen to show off the particular implementation (ignoring that implementations downsides, slow speed as in the other thread).

Why push people to consider if the built in "toy" is good or bad, when they can use the scope with more flexibility and power by automation? All the scopes can do that, quickly and easily. Other people complain the sweep speed of the Siglent is too slow, which is required for your demonstration of suppressing noise. I say the built in bode/FRA/sweeps are not worth wasting time on, particularly when your demands get more specific.


You "think" these are "toys" within your capability and of limited value, however in the capable hands of others they can be quite useful "toys". As shown on other threads plotting the Closed Loop Characteristics of a Feedback System, an Oscillator, a SMPS, or the Injection Locking Characteristics of an Oscillator, might be quite useful to those with an understanding/need of such! However, these might be "pretty plots" to someone else which is fine, but doesn't deter the fundamental inherent value to others!!

Why would someone want to program code and use a computer to create and display a Bode Plot which is "Built-in" the stand alone DSO, and then have to do this over and over for different measurements, setups and DUT? Sure the DSO Built-In Bode Function is limited in user tailoring, but certainly simpler than the coding/computer route even with the slow performance!! Often one can adjust setup/DUT to work around the Bode limitations, which we did with the "pretty plots" of the Injection Locking Peltz Oscillator. BTW we've never seen this type of Bode use for creating Injection Locking plots, would have been useful in our distant past work!!

https://www.eevblog.com/forum/projects/injection-locked-peltz-oscillator-with-bode-analysis/ (https://www.eevblog.com/forum/projects/injection-locked-peltz-oscillator-with-bode-analysis/)

rf-loop has cleverly shown how to "extract" the effective BW utilized within the "Black Box" Bode function, we've confirmed this result.

So maybe Siglent is "listening" and will open the "Black Box" and/or allow more user parameter adjustments!!

Anyway, YMMV as to the Bode Plot Functionality, and we'll keep using our "Toy"  ;)

Best,
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 09, 2022, 02:04:27 pm
I wouldn't be so quick to label features as 'toys' or 'educational'. For example: having digital inputs on DSOs (=MSO) has helped to kill the market for logic analysers even though an MSO is a far cry from a real logic analyser

That's putting it mildly :)  The T&M instrument company I previously worked for sold lots of very large and very expensive logic analyzers back in the day, and the stand-along logic analyzer market seems to have almost completely disappeared.

We also found this built-in MSO LA feature quite useful recently when debugging a 128 Independent Channel +-100V 16 bit AWG for use with a new Phased Array Technology. We needed to "See" the relative timing between digital and analog channels and the built-in LA proved highly useful.

Best,
Title: Re: Bode Plot Torture Test
Post by: balnazzar on November 09, 2022, 05:28:11 pm
I wouldn't be so quick to label features as 'toys' or 'educational'. For example: having digital inputs on DSOs (=MSO) has helped to kill the market for logic analysers even though an MSO is a far cry from a real logic analyser

That's putting it mildly :)  The T&M instrument company I previously worked for sold lots of very large and very expensive logic analyzers back in the day, and the stand-along logic analyzer market seems to have almost completely disappeared.

We also found this built-in MSO LA feature quite useful recently when debugging a 128 Independent Channel +-100V 16 bit AWG for use with a new Phased Array Technology. We needed to "See" the relative timing between digital and analog channels and the built-in LA proved highly useful.

Best,

Mh, one could object that you don't need a MSO for that. You could trigger the LA with the scope trig out (or vice versa).
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 09, 2022, 05:40:39 pm

Mh, one could object that you don't need a MSO for that. You could trigger the LA with the scope trig out (or vice versa).

Missing the point, having everything required within a single instrument like an MSO is very advantageous, just like with the Bode Function, and especially true with limited bench top space!!

Best,
Title: Re: Bode Plot Torture Test
Post by: balnazzar on November 09, 2022, 06:02:01 pm

Mh, one could object that you don't need a MSO for that. You could trigger the LA with the scope trig out (or vice versa).

Missing the point, having everything required within a single instrument like an MSO is very advantageous, just like with the Bode Function, and especially true with limited bench top space!!

Best,

I share your view, I just bought a MSO's logic probe. Wanted to hear the counterbell though!
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 09, 2022, 06:18:21 pm
Great DIY Logic Probe by Thomas here:

https://www.eevblog.com/forum/testgear/diy-logic-analyzer-probe-and-pods-for-siglent-scopes/ (https://www.eevblog.com/forum/testgear/diy-logic-analyzer-probe-and-pods-for-siglent-scopes/)

We made one (check above thread) and it works well for our needs. Delinquent in "tuning" it for maximum performance tho ???

Best,
Title: Re: Bode Plot Torture Test
Post by: Someone on November 09, 2022, 08:42:19 pm
@Someone: feel free to pitch ideas on what you think would be a valid test.
Something with all the information that I already asked for? You two are just shovelling promotion into the forum, people can not reproduce or learn anything from it. But good news! if they buy XXXXX product of the month they can do it too without having to lift a finger. Despite that other equipment can do the same thing just fine (or better).

So maybe Siglent is "listening" and will open the "Black Box" and/or allow more user parameter adjustments!!
That's it, you post a generic topic and then push the particular upsides of the Siglent, no possible comparison, no discussion. This would be far better titled... Todays experiment with Siglent bode plot, adding synthetic noise.

We get it, you like the built in Siglent app and you find uses for it. But it pushes you to do that in very specific ways and is slow. You haven't pushed its limits or shown how/why/where it fails, so this smells like fanboy/boostering/astroturfing.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 10, 2022, 04:45:03 am

So maybe Siglent is "listening" and will open the "Black Box" and/or allow more user parameter adjustments!!
That's it, you post a generic topic and then push the particular upsides of the Siglent, no possible comparison, no discussion. This would be far better titled... Todays experiment with Siglent bode plot, adding synthetic noise.

We get it, you like the built in Siglent app and you find uses for it. But it pushes you to do that in very specific ways and is slow. You haven't pushed its limits or shown how/why/where it fails, so this smells like fanboy/boostering/astroturfing.

I'm sure if we had a Tek, R&S, KS, LeCroy or Rigol DSO we would also find the Bode Function useful, however we have the Siglent DSO, so that's what we use.

In your opinion, which BTW really doesn't matter, the title should be changed, maybe you should have started this thread!!

Regarding "smells like fanboy/boostering/astroturfing", think you've already done as masterful job on yourself regarding Anti-Aliasing & DSO behavior over here  ;)

https://www.eevblog.com/forum/testgear/bode-plot-computational-time-for-various-dsos/25/ (https://www.eevblog.com/forum/testgear/bode-plot-computational-time-for-various-dsos/25/)

Anyway, this topic is about DSO built-in Bode Plots and how they may be applied/beneficial in the presence of outside noise like influences/disturbances and not about any specific DSO brand or preference.

Personally think there have been some very useful and constructive posts by various folks, so instead of bashing everyone/thing here, if you don't have any useful constructive input then buzz off and go find another thread to distract!!

Best,
Title: Re: Bode Plot Torture Test
Post by: nctnico on November 10, 2022, 04:10:54 pm
IMHO noise is not the main problem for doing network analysis as most of the suitable algorithms get rid of noise anyway. And in some cases noise is good to get some extra bits from an ADC. The worst noise can do is swamp the DSO input and thus making it impossible to switch to a low enough range to acquire meaningfull data. What is more likely to be a problem are interfering signals (= external signals with a fixed frequency), harmonics and DUT behaviour.

It would be interesting to come up with a DUT that really tests the limits of FRA / network analysis.

Another thing I have not wrapped my head around entirely is calibration. On my network analyser I do an offset calibration before doing any measurement. Or to be more precise, I can choose from a variety of calibration methods depending on the type of measurement (reflection, pi-network or through). It would be nice to have some kind of zero-calibration in FRA on an oscilloscope as well. At least through would be nice. Then again I don't know how well the vertical (V/div) ranges are calibrated in respect to eachother. The frequency response can certainly differ at higher frequencies so a calibration cycle would need to test every range. OTOH with a typical DC error of 2% at most (say up to 1MHz) the error is less than 0.2dB but it could be much higher when going over -say- 50MHz.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 10, 2022, 04:30:44 pm
IMHO noise is not the main problem for doing network analysis as most of the suitable algorithms get rid of noise anyway. And in some cases noise is good to get some extra bits from an ADC. The worst noise can do is swamp the DSO input and thus making it impossible to switch to a low enough range to acquire meaningfull data. What is more likely to be a problem are interfering signals (= external signals with a fixed frequency), harmonics and DUT behaviour.

It would be interesting to come up with a DUT that really tests the limits of FRA / network analysis.

Oscillators and SMPS seem like good candidates!!

BTW you should consider doing the test that rf-loop performed with your DSO, this revels the Frequency Selective nature of the "Black Box" Bode Functions and helps one understand the effects and limitations imposed by such, same goes for the non-linear effects shown by TopQuark. Maybe others will also perform these on their respective DSOs, may revel the strengths and weaknesses of various implementations which is what this thread was originally intended to show.

Best,
Title: Re: Bode Plot Torture Test
Post by: Someone on November 10, 2022, 10:00:10 pm
How to get this FRA RBW figure.  Well it is simple as...     Very extremely simple way to do it.

There is not DUT at all. Just one fixed signal.

During sweep, in this case signal to Ch2 is fixed 350kHz sinewave and amplitude is fixed 2dBm (roughly full scale when 100mV/div)
Nice detail is that there can also see signal 2nd harmonic and there in 700kHz FRA  RBW is bit more wide.

Of course, I have lot of more details about this thing also done with some other ways etc.
This is interesting as it shows the detector being frequency selective, but having zero/no rejection of external signal. Which is the opposite of the example in the first post (external signal rejected). Do you know why this is so different? What options/methods/parameters can a user control to make such a difference?
Title: Re: Bode Plot Torture Test
Post by: switchabl on November 10, 2022, 11:13:41 pm
This is interesting as it shows the detector being frequency selective, but having zero/no rejection of external signal. Which is the opposite of the example in the first post (external signal rejected). Do you know why this is so different? What options/methods/parameters can a user control to make such a difference?

Unless I missed something, in the OP the spurious tone is simply added to the input. Its frequency is also conveniently located on a sweep point, where it will basically just increase stimulus power and maybe shift the phase (both of which is accounted for through the reference channel). And the step size is probably larger than the receiver BW, so adjacent points are hardly affected.
Title: Re: Bode Plot Torture Test
Post by: nctnico on November 10, 2022, 11:31:03 pm
IMHO noise is not the main problem for doing network analysis as most of the suitable algorithms get rid of noise anyway. And in some cases noise is good to get some extra bits from an ADC. The worst noise can do is swamp the DSO input and thus making it impossible to switch to a low enough range to acquire meaningfull data. What is more likely to be a problem are interfering signals (= external signals with a fixed frequency), harmonics and DUT behaviour.

It would be interesting to come up with a DUT that really tests the limits of FRA / network analysis.

Oscillators and SMPS seem like good candidates!!

BTW you should consider doing the test that rf-loop performed with your DSO, this revels the Frequency Selective nature of the "Black Box" Bode Functions and helps one understand the effects and limitations imposed by such,
I re-did the test rf-loop did. Applying a fixed 350kHz sine wave / +2dBm to the input that is supposed to come from the DUT. I tried various points /decade settings and the RBW depends on the number of points (which is logical). This is the result with 500pts/decade.

(https://www.eevblog.com/forum/testgear/bode-plot-torture-test/?action=dlattach;attach=1636397;image)

The result would suggest that frequencies close to the measurement frequency would affect the results but the earlier tests we did don't show that. Maybe that is due to the interfering signal being mixed into what is going into the DUT. Another interesting test would be to mix an interfering signal into the signal coming from the DUT only.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 11, 2022, 12:22:59 am
This is interesting as it shows the detector being frequency selective, but having zero/no rejection of external signal. Which is the opposite of the example in the first post (external signal rejected). Do you know why this is so different? What options/methods/parameters can a user control to make such a difference?

Unless I missed something, in the OP the spurious tone is simply added to the input. Its frequency is also conveniently located on a sweep point, where it will basically just increase stimulus power and maybe shift the phase (both of which is accounted for through the reference channel). And the step size is probably larger than the receiver BW, so adjacent points are hardly affected.

We had some time and repeated some tests using a "spurious tone" at 10KHz with a linear sweep of 500 points from 5KHz to 15KHz . Setup was 2 separate AWGs and DSO set to 10X probes and 20MHz BW. AWG spurious tone set to 10VPP and Stimulus AWG set at 1VPP. A second DSO was used to monitor the Input and Output waveforms.

First plot shows result with CH1 driven by AWG Stimulus and CH2 driven by Spurious AWG, no connection between CH1 and CH2. The Bode result appears to have a response to the Spurious Tone with a BW of ~ 1KHz.

2nd plot shows CH1 and CH2 now connected by a 1K Resistor. Edit: See 7th for better plot!

3rd shows CH1 disconnected (no Input signal).

4th shows both AWG summed together with 100 ohm resistors and connected to CH1, CH2 and CH1 still connected by 1K Resistor.

5th shows same as 4th but Spurious AWG frequency changed to 10.063KHz & 100 points Bode sweep.

6th shows same as 2nd (CH1 and 2 connected by 1K, Stimulus AWG to CH1, Spurious AWG to CH2) but with Spurious AWG frequency 10.063KHz & 100 point sweep.

Edit: 7th added for better display of 2nd plot!!

This seems to show that the Spurious signal when applied to the Input (CH1) along with the Stimulus doesn't affect the plots, and with the Spurious applied to the output (CH2) does affect the resulting plots. Changing the Spurious frequency to not land on one of the Stimulus points seems to have no effect.

No attempts were made to keep the signals "clean" nor shielded, just a quick clip lead setup with leaded resistors.

Best,
Title: Re: Bode Plot Torture Test
Post by: nctnico on November 11, 2022, 12:27:18 am
The effect is logical because the input and output signal amplitude & phase are subtracted from eachother. What isn't in the input, is not subtracted from the output so whatever is extra in the output will show up. They question is however whether this has an influence when doing a real sweep instead of using fixed frequencies.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 11, 2022, 12:47:05 am
That makes sense except what amplitude phase are they using since the Spurious and Stimulus are both present, how does the algorithm know which is which? There is some form of frequency selectivity going on that at least allows the separation of the Spurious signal when it's not close to the Stimulus, maybe just a simple FIR bandpass filter than follows the Stimulus. With Synchronous Sampling/Detection the input is frequency converted because of the BiPhase Modulation and the following LPF gets converted into a BPF of twice the LPF BW and centered around the BiPhase Modulation Toggle rate, but I don't think that's what's going on here.

Anyway, looks like your DSO is also doing something similar!!

Best,
Title: Re: Bode Plot Torture Test
Post by: Someone on November 11, 2022, 01:13:51 am
This is interesting as it shows the detector being frequency selective, but having zero/no rejection of external signal. Which is the opposite of the example in the first post (external signal rejected). Do you know why this is so different? What options/methods/parameters can a user control to make such a difference?
Unless I missed something, in the OP the spurious tone is simply added to the input. Its frequency is also conveniently located on a sweep point, where it will basically just increase stimulus power and maybe shift the phase (both of which is accounted for through the reference channel). And the step size is probably larger than the receiver BW, so adjacent points are hardly affected.
In which case adding noise to the stimulus should have minimal effect as a) noise has shown to be supressed by the frequency selective detector b) the detector for both sides of the measurement should be equally affected
So the original post may be mostly about the amplitude of the measurement on each side, which could be reproduced by adjusting the vertical gains.
Title: Re: Bode Plot Torture Test
Post by: mawyatt on November 11, 2022, 01:53:54 am
In which case adding noise to the stimulus should have minimal effect as a) noise has shown to be supressed by the frequency selective detector b) the detector for both sides of the measurement should be equally affected
So the original post may be mostly about the amplitude of the measurement on each side, which could be reproduced by adjusting the vertical gains.

The phase has shown more sensitivity to Noise or Spurious Signals in the measurements than the amplitude, which from past experience has generally been the case for corrupted signals.

Best,
Title: Re: Bode Plot Torture Test
Post by: 2N3055 on November 11, 2022, 08:09:43 am
Averaging will suppress only random signals and frequency selectivity can suppress only out of band signals. If you overlap tone agresor tone on top of stimulus, it will vector add to it and will either suppress or amplify the amplitude... No way to discriminate it.
But a single tone of significant amplitude will stand out on a plot as a discrete peak, obviously out of place..

In case of testing switcher PSU stability, for instance, Bode sweep would be performed in frequency range of regulation loop, well below switching frequency. In which case interference will be outside the swept range and suppressed well enough.

Good practice is to run FFT on input and output before FRA to check for both interference and spurs in system. With Bode plot most important part is gain/phase margin. A bit of error because of interference won't kill you because you need to have healthy margin anyways.. I would like a Nyquist polar plot for stability check, they are what I'm used to, and they make it easy to see problems with a quick look.

Very clean sweep results would be more important if used for impedance analysis. In which case de embedding and calibration would need to be added to scope so it can perform like a propper VNA/impedance analyser.

I took a closer look at how Keysight is doing FRA: they use averaging acquisition mode and grab a screen of data, several triggers, waiting for averaging to converge and use that data for calculations.. I also know they use Chirp-Z transform for it's internal spectral analysis (they say FFT on a scope, but it is not classic Cooley-Tukey FFT, but a Chirp-Z), so maybe they use it for calculations.. code is there in the scope... But they might be just using literal interchannel phase/amplitude measurements, because they get very little data, exactly 4 periods..
Title: Re: Bode Plot Torture Test
Post by: precaud on November 11, 2022, 02:13:02 pm
IMHO noise is not the main problem for doing network analysis as most of the suitable algorithms get rid of noise anyway....

It would be interesting to come up with a DUT that really tests the limits of FRA / network analysis.

Try using it to measure the output impedance of voltage regulators and power supplies. That will test the limits.