Bode Plotting audio filters with a function generator, a benchtop DMM, and some extra software

In a recent project where I was looking at this bit of kit – one of the things I’d like to do is clone its audio output assembly, as one of the units I have is missing it. The frequency response of the analogue circuitry on this assembly is rather complicated, so I need to be able to sweep it to be sure I’ve successfully recreated it.

If you have the latest and greatest scope (I don’t) read no further. If you’ve got something older there is of course this trick for approximate analysis. I could do that, but I was interested to try a different way.

I knocked up a quick pyvisa Python script to see what the linearity is like when measuring with my Keithley 2001, sourcing from my unloved Agilent 33120A. With the Keithley having an absurd amount of AC voltage resolution, it’s got to be up to the job right? It turns to be very good from 10 Hz to several hundred kilohertz. Good enough to crack on and write something with a pretty interface.

The test setup. The audio output assembly is attached to an extender card, allowing me to attach the function generator to the test points. The Keithley 2001 is attached to the audio output connectors on the rear.

So after a few days I threw together an application written in C# which turns these two instruments into quite a nice bode plotter (LogMag only – no phase measurements).

It’s so pretty. The blue trace is the audio output assembly in its normal operating mode: de-emphasis on, red is de-emphasis off. There are two characteristics, a de-emphasis filter (the big downward slope), and an anti-aliasing filter (the sharp tail-off right at the end).

Basically it’s got a bunch of inputs, as pictured, you press go and it plots it out for you. Two traces can be shown, an “actual” i.e. what was just measured, and a “reference” for visual comparison which can be copied from the actual trace, or loaded from a saved plot.

Anyway, if a utility like this may be of use to you, get in touch. I can make the binaries available for it. In the meantime, I’ve uploaded the source to GitHub.

Posted in Bits and pieces, NICAM

Leave a Reply

Your email address will not be published. Required fields are marked *