Post Go back to editing

Network Analyzer in Scopy is inaccurate

Hi

After receiving ADLM200 yesterday I was excited to see if it would help our students in Analogue electronics. I had previously bought NI's ELVIS, which was riddled with practical issues, like needing fuses replaced on every overload (common in a student lab) and having a 'scope that only went to 60% of the power supply rails (and no proper AC mode).

Unfortunately a quick check reveals many (software fixable) problems with Scopy, which I hope you can address quickly.

1) The Network Analyzer was exciting, as I wanted to illustrate Poles and Zeros. Unfortunately:

a) It does not seem to have a proper detector - i.e. it does not reject DC. I would mixing the test channel with the reference channel before detection would be the way to go (Synchronous detection).

b) On my simple 4-resistor BJT transistor circuit (which I have been building for 50 years now), it plotted magnitude with 2dB up-down sporadically along the plot.  I assume this is  because the stimulus is wrong (too small or too large - I must 'scope it?). It may also be because of DC wander as the bias settles (overloaded?) Being able to set the stimulus (or having it the same as the Sig Gen settings would be advisable. 

c) As phases are usually negative and you want to see beyond -180 degrees, letting the user set the scales to -360deg would be great - otherwise there is wrap around.

d) The phase setting is labelled dB, not degrees.

2) It would be great to see multiple instruments simultaneously, then the students can alter levels, and immediately see the effects. This is a major disadvantage educationally.

3) The constant value of the sig gen does not add to the waveform (what does it do?). This is useful as a DC offset when biasing transistors (See 2)

4) The PSU should  show current, or at least "OVERLOAD". 

5) The NWA's default setting are really slow - most students would give up before seeing the first point on the graph.

6) The component kit is lovely as a Christmas present, and I enjoyed the new chips for future designs, but for student labs:

a) There aren't any BOB differential pairs, as used in the lab-notes

b) I cannot read the cap values (even with my glasses off)

c) the resistors are so small their legs bend all over the place

d) The 6-pin header strips shuold be 5-pin to  fix in the PSU rails of the breadboard

e) How about an 074 and a 555? (Yes, the 07x series oscillates on power down and is generally cheap and nasty, but it is used in textbooks)

f) a small roll of tinned wire and sideclippers would be good.

So, it's a great product, and much better than ELVIS, but unfortunately I cannot see how I can use it in next-year's labs, unless the software is fixed: particularly the network analyzer and signal generator. I'm happy to help here, at least on the algorithms, as it seems so close to being very useful.

Cheers

Arthur

Parents
  • Hello Arthur:

    First off just, so you are aware, I'm not one of the Scopy programmers, I wrote the software for the ADALM1000 (ALICE). But I have used / tested M2K / Scopy since development started.

    You make a number of valid points. Here are a few responses of my own. I'll let the actual programmers add their points.

    As to your question, "3) The constant value of the sig gen does not add to the waveform (what does it do?). This is useful as a DC offset when biasing transistors (See 2)" The 'constant' mode of the signal generator should be thought of as as adjustable DC voltage source. Think of it like setting the amplitude to 0 and using the offset to make a DC voltage from a function generator. In the waveform mode use the offset to change the DC level of the output signal. We could have reused the same controls in the waveform mode by just having a DC wave shape and not had the separate "constant" mode.

    The need to remove the DC component in the Network analyzer is more easily solved by having Scopy (optionally) simple subtract the DC average from the time domain samples before doing the FFT. ( That is how ALICE does it with the Cut-DC option ). Since the hardware generally uses bipolar signals and power rails (centered on ground) I don't think this possibility of a DC component occurred to the programmers.

    There is a way to click and drag each individual "instrument" to its own screen window. Which I think addresses your point number 2). Unless you have a very high resolution screen, even at their minimum allowed sizes, you can't fit them side-by-side on the screen without them overlapping so I still find it hard to see everything I would want at the same time.

    "a) There aren't any BOB differential pairs, as used in the lab-notes" There use to be matched pairs in the original production of the ALP2000 kit but those parts are no longer being manufactured so we can't include then any longer. Things like the SSM2212 just aren't in high demand anymore.

    "e) How about an 074 and a 555? (Yes, the 07x series oscillates on power down and is generally cheap and nasty, but it is used in textbooks)". We are Analog Devices after all and feel it is in our interest to, to the extent possible, include ADI manufactured silicon. Counting duals and quads, we include a total of 23 op-amps of many different varieties in the kit. The AD654 V-F converter can be substituted in some of the 555 use cases.

    "b) I cannot read the cap values (even with my glasses off) c) the resistors are so small their legs bend all over the place". I absolutely agree!. We should be using 1/4 W resistors not those 1/10 W ones. This is not a M1K / ALICE discussion but with those tools it is easy to measure the capacitors to sort them by value. It would be nice if Scopy had a simple to use "Cap Meter" soft instrument.

    "d) The 6-pin header strips should be 5-pin to fix in the PSU rails of the breadboard". The male pin header breaks apart easily and can be separated into as many or as few pins as needed. 6 pins is probably not enough so we probably should have included more headers.

    "f) a small roll of tinned wire and side clippers would be good.". Probably a good suggestion but I think adding wire cutters ( or long nose pliers)  would but us over the $45.00 budget of the ADALP2000.

    Doug

Reply
  • Hello Arthur:

    First off just, so you are aware, I'm not one of the Scopy programmers, I wrote the software for the ADALM1000 (ALICE). But I have used / tested M2K / Scopy since development started.

    You make a number of valid points. Here are a few responses of my own. I'll let the actual programmers add their points.

    As to your question, "3) The constant value of the sig gen does not add to the waveform (what does it do?). This is useful as a DC offset when biasing transistors (See 2)" The 'constant' mode of the signal generator should be thought of as as adjustable DC voltage source. Think of it like setting the amplitude to 0 and using the offset to make a DC voltage from a function generator. In the waveform mode use the offset to change the DC level of the output signal. We could have reused the same controls in the waveform mode by just having a DC wave shape and not had the separate "constant" mode.

    The need to remove the DC component in the Network analyzer is more easily solved by having Scopy (optionally) simple subtract the DC average from the time domain samples before doing the FFT. ( That is how ALICE does it with the Cut-DC option ). Since the hardware generally uses bipolar signals and power rails (centered on ground) I don't think this possibility of a DC component occurred to the programmers.

    There is a way to click and drag each individual "instrument" to its own screen window. Which I think addresses your point number 2). Unless you have a very high resolution screen, even at their minimum allowed sizes, you can't fit them side-by-side on the screen without them overlapping so I still find it hard to see everything I would want at the same time.

    "a) There aren't any BOB differential pairs, as used in the lab-notes" There use to be matched pairs in the original production of the ALP2000 kit but those parts are no longer being manufactured so we can't include then any longer. Things like the SSM2212 just aren't in high demand anymore.

    "e) How about an 074 and a 555? (Yes, the 07x series oscillates on power down and is generally cheap and nasty, but it is used in textbooks)". We are Analog Devices after all and feel it is in our interest to, to the extent possible, include ADI manufactured silicon. Counting duals and quads, we include a total of 23 op-amps of many different varieties in the kit. The AD654 V-F converter can be substituted in some of the 555 use cases.

    "b) I cannot read the cap values (even with my glasses off) c) the resistors are so small their legs bend all over the place". I absolutely agree!. We should be using 1/4 W resistors not those 1/10 W ones. This is not a M1K / ALICE discussion but with those tools it is easy to measure the capacitors to sort them by value. It would be nice if Scopy had a simple to use "Cap Meter" soft instrument.

    "d) The 6-pin header strips should be 5-pin to fix in the PSU rails of the breadboard". The male pin header breaks apart easily and can be separated into as many or as few pins as needed. 6 pins is probably not enough so we probably should have included more headers.

    "f) a small roll of tinned wire and side clippers would be good.". Probably a good suggestion but I think adding wire cutters ( or long nose pliers)  would but us over the $45.00 budget of the ADALP2000.

    Doug

Children
  • Thank you for your review Arthur. 

    dmercer answered some of your questions.

    Multiple instruments can be viewed by detaching the instruments like Doug mentioned. There's also an option in Preferences "double click to detach" which enables detaching by double clicking the instrument in the tool launcher tray.

    For the PSU , we don't measure current, only voltage. The best we can do is detect the difference between SET and READ.

    It did not occur to us that there can be a DC component that should be filtered out. The network analyzer has some inaccuracies and it works pretty slow right now. We're in the process of revamping it and we're going to consider the points you've made.

    -Adrian

  • Dear Adrian

    Thanks for your reply (and dmercer's). I had more of a play with Scopy and ADALM and I've ordered a whole set for our labs. One thing I can do is use it live in lectures to demonstrate the processes.

    I guess the NWA was designed for use with dual-rail op-amps, whereas it's also useful with discrete BJT/FET amplifiers (the first circuits that students build, to understand frequency responses), where the bias wanders all over the place. I also thought that there might be a problem even if I use DC-blocking caps, as it probably steps through frequencies and has to settle for a while before taking the measurement. (i.e. it needs a 'delay before measurement' setting), or sweep the frequency. Of course, if the NWA had a synchronous detector (with an integer number of cycles), then DC blocks would not be needed and this problem would go away. I've just repaired a 1970's microwave NWA from HP, and this had nice features like an overload meter for the reference channel (which would also be useful for the test channel). Maybe even a little 'scope display  in the top-right corner would help.

    If the NWA's lower frequency is huge, and you try to adjust something or stop it, the program tends to crash on Windows 10.

    I also tried to look at the open loop response of a TL074, which was sort of OK (maybe a dominant pole at 40 Hz), but the DC level wanders and I needed lots of attenuation, of course. The square-wave response was interesting, with capacitive loading to cause unity-gain instability, and then some compensation to get it back again. This would be a few lectures worth - backed by a nice lab if it was easier.

    Maybe you could calculate a current from Set and Read - perhaps adding a series 1-ohm current-sense resistor as a bit of a compromise. 

    I hope this helps. I am keen to make it as easy for students as possible, so they don't bug me too much! I've been developing student labs for 35 years, so this is almost a life-long mission. 

    Sincerely
    Arthur

  • Hello again:

    ADI has posted a large number of internally developed example Lab activities for the Active Learning M2k and M1k platforms. They can be found at these ADI Wiki pages:

    M2k

    https://wiki.analog.com/university/courses/electronics/labs

    M1k:

    https://wiki.analog.com/university/courses/alm1k/alm_circuits_lab_outline

    https://wiki.analog.com/university/courses/alm1k/alm-labs-list

    https://wiki.analog.com/university/courses/alm1k/alm-signals-labs-list

    I don't know if you might have seen these yet? We would be very interested in hearing your feedback on what we have done developing M1K and M2K, Analog Parts Kit specific activities up to this point..

    Since you mentioned measuring the frequency response of the CE amplifier, this example lab may be of particular interest:

    https://wiki.analog.com/university/courses/electronics/electronics-lab-5fr

    Thanks

    Doug

  • Dear Doug

    Thanks for the examples. I can see that an attenuator is used for some measurements, which I have followed.

    I have been using the MWA to re-measure one of my tube/valve amps. The old way was with an HP3575A Gain-Phase Meter and Excel. The new way is much faster! The advantage of a tube amp, here, is that is has a fairly low forward gain (46 dB) and some interesting parasitics, such as in the transformer. Still, the dominant pole can be at 8 kHz, and there overshoot is <5% and at 100 kHz.  

    Some observations about the NWA that might help future releases (and I'm observing its waveforms on a CRO):

    1) I never have success at low-frequency setting less than 10 Hz. It just sits there at the same frequency for 10 mins until I try to stop it and it crashes. 10Hz or above works fine.

    2) The NWA puts out 'bursts' of say 16-20 sinewave cycles, with gaps between the bursts. I think this might be problematic, as the amp sees a transient at the start, and this might cause poor results/glitches. I do see glitches at particular frequencies systematically. Doubling the burst duration and ignoring the first half is one solution.

    3) If a DC bias is used in the NWA settings, then this itself causes a large transient, as I don't think the bias is held between the bursts (I should look at this on a digital storage 'scope).

    4) The stimulation level (p-p) seems to change occasionally, by say -50%. 

    5) The sinewaves have distinct steps in them (staircase). I guess the full sampling rate capability of the DACs is not being used.

    6) I don't know what the output impedance of the sig-gens is. 50-ohms would be OK.

    7) The vertical scales on the NWA's graphs are mis-labelled. E.g. it seems to always divide the scale into 6 blocks, but it will label each tick with the nearest integer to the real value, so when the full scale is not divisible by 6, it's wrong. Maybe just one decimal place would help in the labels? I once had an algorithm that would sensibly divide the axis into n parts, with n say between 5 and 10. Then the tick markings were also sensible integers.

    Anyway, it's fun (and reasonably fast) to measure the relationships between forward-gain, feedback ratio, open and closed-loop gains, and also then check the overshoots.

    Sincerely

    Arthur

  • Hello Arthur:

    Thanks for the Scopy feedback. Again I'll leave the Scopy programmers to address your software related comments.

    I can comment on a few things in general related to the hardware capabilities of the M2k. Remember that it is a mostly digital system. This fact limits how we have to do things that make it act much differently than an analog network analyzer one might be use to using.

    Because the signal generator is playing back a digital record of a sine wave of fixed length from a memory buffer there will be certain limitations on frequency resolution. Also when the frequency changes the play back, by its very nature, must be stopped while the values for the next frequency are calculated and loaded into memory. I suppose you could have two buffers with one being loaded while the other plays back the sine wave. But I doubt there is enough memory in the FPGA to do that. Thus the "gaps" and I think the output driver either goes to 0 V or a high impedance state (off) during this time for safety reasons. The Scopy programmers would need to program in a different behavior for the output to remain at some DC value while the record updates.

    You might want to take a look at the Rev C hardware schematic at:

    https://wiki.analog.com/university/tools/m2k/hacking/hardware

    to better understand the capabilities of the M2k hardware. And Yes the AWG output drivers have 50 ohm series resistors so the output impedance is 50 ohms. This was done because the drivers are very high frequency and cannot drive even a small wiring capacitance let alone a 50 ohm coax cable.

    I'm not sure if this has been implemented in Scopy or not but there needs to be a user adjustable delay for settling time between frequency steps. This is critical if the network being analyzed has any amount of "state" that needs to settle out. There is a delay to hold off acquiring samples in the software I wrote (ALICE). If the user sets long delays this will of course slow down the sweep time.

    Again, because of the limits on the length of the memory buffer the DAC sample rate must be reduced  from the maximum for low frequency signals. I don't know if Scopy follows this scheme but based on the low level interface library (libiio) I use when programming the M2k the AWG sample rate can be one of the following, 75 MHz,  7MHz, 750KHz, 75KHz, 7KHz or 750 Hz. I think the actual DAC has a built in hardware 2X interpolation filter that is used to double the output sample rate.

    As I said thanks for the Scopy specific feedback which will be addressed by the programmers.

    Doug