Bode Plotter Mode improvement suggestion

Hi All,

The magnitude part of the response in CH1 is referred to a fixed level, e.g. 1 Vrms. That means it implicitly assumes the input signal has a constant level along the whole analyzed frequency range.

Now, this is not automatically the case if the input impedance of the DUT is not very high relative to the output impedance of the generator: if the latter is 50 Ohm, the DUT must have at least, say Zin = 50 kOhm.

So, with this configuration, it is not possible to correctly characterize simple passive networks such as an R L C circuit, whose input impedance varies vs. the frequency.

Since the input signal is already available on CH2 to measure the relative phase of the signals, it should be easy, I believe, to normalize CH1 magnitude by CH2 magnitude; in other word, to compute and display the true magnitude gain of the DUT, whatever the actual level at the generator output.

Of course, it is possible to get the same result by separately recording CH2 magnitude, using the same frequency samples as for CH1, then transfering both sets of value into a spreadsheet and finally dividing CH1 magnitude values by corresponding CH2 ones.

But it would be much less cumbersome if directly done by Pc_Lab2000se as an option!

Alain

Thank you for this idea. This improvement was considered since the phase plot option was added. For some reason it was “forgotten” to implement.
Now it will be added to the next release of the PcLab2000SE software. (Will be released in a couple of days.)

To the option menu of the Bode Plotter will be added option: “Normalize CH1 magnitude by CH2 magnitude” I hope this is enough self-explanatory - at least for advanced users.

The software modification was very simple.
CH2 is monitored and the level compared to the CH2 level at the start of the scan.
The CH1 values are corrected according to the variations of the CH2 level.

I made some tests with a simple low impedance RLC circuit whos input impedance varies a lot vs. the frequency.
Here is the circuit diagram.

Here the Bode Plot with and without the normalization.

Here the simulated result of the same circuit.

This clearly shows how the normalized result of the PCSU1000/PCGU1000 Bode Plotter corresponds to the real frequency response of this circuit.

This will be nice VEL255 :smiley:. Available soon in Velleman’s website Download section?

Yes - it will be there very soon. Still some testing to do…
You may also do some beta testing if you like.
This is a link to the latest version of the program:
vel255.diinoweb.com/files/PcLab2000SE_3.1.zip

Modifications:
v3.1
PCSU1000:
Added Logic Analyzer functionality to display long sequences of digital data.
PCGU1000:
Added Waveform Repetition functionality to repeat one cycle of signal waveform with selectable interval time. Click “More Funct.” button to get access to the interval time setting.
PCGU1000, PCG10, K8016:
Added an option to normalize the magnitude of the Bode Plot by the input magnitude of the device under test.

Please note: The new software needs new drivers to install.
This new PCGU1000 driver is not compatible with the FGULink.DLL - if you are using FGULink.DLL you should wait for its update too. Coming next week.

Here some instructions from readme.txt:

How to upgrade to the PcLab2000SE v3.1

To run PcLab2000SE version 3.1 on Windows 2000, XP, Vista or Windows 7 you have to update the device drivers for the PCSU1000 and PCGU1000. The new PCSU1000 driver can be installed and used on 32-bit and 64-bit operating systems. The new PCGU1000 driver can be installed and used on 32-bit operating systems and 64-bit Windows XP but not on 64-bit Vista or Windows 7.

How to update the driver

The new device drivers are in the following folder, if you installed the PcLab2000SE to the default drive and folder:
C:\Program Files\Velleman\PcLab2000SE\Drivers\PCSU1000
C:\Program Files\Velleman\PcLab2000SE\Drivers\PCGU1000
The instructions are in the folder:
C:\Program Files\Velleman\PcLab2000SE\Drivers

Hi,

The possibility to normalize the magnitude of the Bode Plot by the input magnitude is a great enhancement ! Thank you !

I am using an old K8016 that provides very uneven signal amplitudes with frequency. I was - up to now - using the trick described in the beginning of the thread which is to export the input and output signals and then compute the normalized magnitude in a spreadsheet. It works but it is very clumsy.

Question 1: can we get a function able to calibrate the generator so that for every frequency in the sweep the amplitude is adjusted in the Bode plotting ?

Question 2: is there a way to calibrate electronically the PSCU1000 as well as the K8016 ?

Thanks very much for the continuous improvement of your products,

Gilles.

Thank you for the comment concerning the new Bode Plot normalization option coming to the next release of the PcLab2000SE software.

[quote]I am using an old K8016 that provides very uneven signal amplitudes with frequency.[/quote]Do you have uneven amplitude if there is no load?
Here is the output magnitude plot from 1Hz to 1MHz.
There is only 0.24dB variations (peak to peak) over the whole frequency span.

[quote]Question 1: can we get a function able to calibrate the generator so that for every frequency in the sweep the amplitude is adjusted in the Bode plotting ?[/quote]This is not possible without quite large software modifications. The signal magnitude should be measuret on every frequency and then adjusted to fixed magnitude. The new normalization option does this with simpler way. The signal on every frequency is measured and the output is corrected according to the measured input magnitude.

[quote]Question 2: is there a way to calibrate electronically the PSCU1000 as well as the K8016 ?[/quote]At the moment the Fine Tune option is the only way to calibrate the generator output level.

[quote=“VEL255”]Yes - it will be there very soon. Still some testing to do…
You may also do some beta testing if you like.[/quote]
Thanks VEL255: I downloaded the beta version and made some tests on it.

IMHO, the present normalization option is a first step, but it is not yet satisfactory.

Let’s analyze the data in an actual example (only 2 samples are shown: the “Start” sample and another one):

U1		                           U2		                            U1 norm.		                      U1/U2
Hz	 mVrms	  dBV	   deg		 Hz	mVrms	   dBV	   deg		  Hz	mVrms	  dBV	     deg		 Gain	   dB	     phi (°)
10	210.618	-13.53	-42.3		10	268.796	-11.412	-16.4		10	210.507	-13.535	-42.3		0.78356	-2.118	-25.9
100	89.863	-20.928  -50.7		100  329.901	 -9.632	-3.2		100	 68.588	-23.275	-50.7		0.27239  -11.296	-47.5

3 Bode Plots (with Phase Plot) were successively run.The first output of the generator (PCGU1000) was always connected to the input of the DUT.

  1. Data under U1 are given in the standard (un-normalized) mode, i.e. with (PCSU1000) CH1 at the output of the DUT and CH2 at the second generator output.

  2. Data under U2 are given in the standard (un-normalized) mode, i.e. with CH1 at the input of the DUT and CH2 at the second generator output.

  3. Data under U1 norm. are given in the normalized mode, i.e. with CH1 at the output of the DUT and CH2 at the input of the DUT.

The math operation performed by the Normalization option is

replace CH1 amplitude with CH1 / CH2 * CH2start, so

  • for the 1st line: level = 210.618 /268.796 * 268.796 = 210.618 (unchanged by the normalization, as expected)

  • for the 2st line: level = 89.863 /329.901 * 268.796 = 73.218 - which somewhat differs from the actual result (68.588) due to noise and conversion resolution, but this is not the point.

If one prefers keeping the normalized level in mV, the “natural” normalization level is not the input level at start (which is itself affected by the generator source impedance): it is the level which has been set on the generator regardless of the frequency (in the example, it was 1 Vpp = 0.354 mVrms)

The phase also is affected by the generator source impedance, so it should be corrected too!

With the alternate normalization algorithm used under U1/U2, which simply computes the amplitude ratio and the phase difference of output and input DUT signals, one directly gets the DUT transfer function :slight_smile:

Am I wrong ?

Thank you for the test results and suggestions to improve this normalization option.
BTW: In the PCGU1000 the both output connectors are parallel connected. The other output is mainly intended to monitor the real output level of the generator. The output resistor is common for both connectors.
So, to perform the Bode Plot with phase measurement and/or this normalization function you just need to connect the other generator output to CH2 of the oscilloscope.

[quote]If one prefers keeping the normalized level in mV, the “natural” normalization level is not the input level at start (which is itself affected by the generator source impedance): it is the level which has been set on the generator regardless of the frequency (in the example, it was 1 Vpp = 0.354 mVrms)[/quote]You are right. Better to use the expected output level as a reference!

[quote]The phase also is affected by the generator source impedance, so it should be corrected too![/quote]I think the phase is correctly measured. The phase difference between CH1 (connected to the output of the DUT) and CH2 (connected to the input of the DUT) is measured.

[quote]With the alternate normalization algorithm used under U1/U2, which simply computes the amplitude ratio and the phase difference of output and input DUT signals, one directly gets the DUT transfer function[/quote]This is nice idea for the future release… !

Here some results with slightly more complex circuit and with modified software.
This new circuit attenuates the generator output at low frequencies. The expected (not measured) generator output is compared to the real generator output and the output magnitude of the DUT is corrected according to this calculation result.
There is really visible difference in the Bode Plot magnitude curve if the normalization is on or off.
By using 1Vrms input you’ll get the transfer function plot of the circuit.

Simulation gives quite similar result as the real world circuit tested.

Ahhh! OK. Well, I should have checked before :blush:
BTW: mentioning this point in the manual could be useful :wink:

Thank you VEL255 :slight_smile:

Indeed, there is just nothing in the manual how the connectors are internally connected.
It should be useful to mention, especially now when the normalization option will be added to the Bode Plotter.

BTW: There is now updated version of the software available for testing.
This is the link to the file: vel255.diinoweb.com/files/PcLab2000SE_v3.1(2).zip

Just downloaded :slight_smile: Thank you!

After some tests, this release looks OK. But normalization using the first sample of a sweep as refernce still bothers me!

In my example, I try to characterize a winding of Velleman’s toroidal transformer 3018:

  • One terminal is connected to the generator (PCGU1000) and to CH2 of the scope (PCSU1000).
  • The other terminal is connected to a 100 Ohm grounded resistor and to CH1 of the scope.

I want to “Bode Plot” this quadripole from 10 Hz to 1 MHz. Unfortunately, the Bode Plotter cannot sweep more than 3 decades at once. So I first plot (with the Normalization option checked) from F = 10 Hz to 10000 Hz, then from 1000 Hz to 1 MHz with the same 1Vpp amplitude - frequency ranges overlap for comparison purpose.

Although both recorded plots show the same vertical scale and same “Top: 400.00Vrms”, the curves do not fit in their common frequency range (100 to 1000 Hz): the 2nd curve is shifted about 1.5 dB above the first.

Explanation: Since CH2 did not find the same level @ 10 Hz and 1000 Hz (because the DUT input impedance varies with F) the normalization operation (CH1*CH2start/CH2) is not consistent among the plots.

This argues, I think, in favor of using the dimensionless ratio CH1/CH2 (optionally in dB).

In this new software version the normalization does not (should not) use the first sample as a reference.
It uses the voltage setting (e.g. 1Vrms) as a reference and compares the CH2 value to this setting value.

It is strange that there is difference between the two plots.

I try to find out why.

Thank you for your comment.

This may be one reason to the plot level changes:
Oscilloscope V/div scale changed due to using the “Automatic Voltage Scale” option in the Bode plotter.
I made some test with a transformer (not the same type as you tested) and I didn’t get any level changes between the plots.

This is measured with the “Automatic Voltage Scale” setting on.

[quote=“VEL255”]It uses the voltage setting (e.g. 1Vrms) as a reference and compares the CH2 value to this setting value.
It is strange that there is difference between the two plots.[/quote]Here is the beginning of the overlapping region for both plots:

[code] Plot 10 Hz…10 kHz Plot 1 kHz…1 Mhz
Hz | mVrms dBV deg | mVrms dBV deg

980 | 43.56 -27.22 -46.0 |
990 | 43.40 -27.25 -45.9 |
1000| 42.84 -27.36 -45.4 | 55.30 -25.15 -46.7
1100| 41.22 -27.70 -44.3 | 50.08 -26.01 -46.6
1200| 39.62 -28.02 -45.5 | 47.01 -26.56 -46.5
1300| 38.28 -28.32 -44.8 | 46.85 -26.59 -48.5
1400| 37.45 -28.51 -45.7 | 44.94 -26.95 -48.6
1500| 35.77 -28.91 -45.6 | 44.03 -27.12 -49.8[/code]“Automatic Voltage Scale” was active. No changes between plot except frequency range.

You can easily notice the shift in the dBV columns (it is not constant, but the level - around 40 mVrms - is rather low).

[quote=“VEL255”]I made some test with a transformer (not the same type as you tested) and I didn’t get any level changes between the plots.[/quote]In my case, I was not measuring the transformer bandwidth from primary to secondary, but only the impedance of one of its secondaries (with other windings unloaded). So it was connected in series with a grounded resistor R.

In [color=#0040FF]this image[/color], both plots have been superimposed to see the common zone.

Strange thing is that there seems to be some difference only at the beginning of the overlapping region. At the end of the region both of the plots are aligned.
Looking your plot as a total, it seems that the lower magnitude trace is the “truth”. It makes a solid curve from left to right.

I have been following this thread with some interest as I have also made some of these same observations.

As an only somewhat related issue, yet since we are talking about the bode plotter function, I will “go there”. I do a bit of work in the audio frequency bands and have thought it would be nice to have plotting capability that covered the typical 20Hz to 20kHz range–say DC or 10Hz, to 30kHz or even 50kHz.

Currently in order to capture audio response I must plot 10Hz to 100kHz, obviously using less than 1/4 of that range to gather the data I seek.

[quote=“VEL255”]Strange thing is that there seems to be some difference only at the beginning of the overlapping region. At the end of the region both of the plots are aligned.
Looking your plot as a total, it seems that the lower magnitude trace is the “truth”. It makes a solid curve from left to right.[/quote]Yes, the 2nd plot progressively “rejoins” the 1st one. I’ll make new experiments to confirm if this behavior is permanent.