Bode Plots On An Oscilloscope


Bode plots – or frequency response graphs – are found in just about every piece of literature for high-end audio equipment. It’s a simple idea, graphing frequency over amplitude, but making one of these graphs at home usually means using a soundcard, an Excel spreadsheet and a multimeter, or some other inelegant solution. Following a neat tutorial from [Dave Jones], [Andrew] came up with a very simple way to make a Bode plot in real-time with an oscilloscope, a microcontroller, and a few off-the-shelf parts.

The basic idea behind [Dave Jones]’ impromptu Bode plotter is to configure a frequency generator to output a sine wave that ramps up over a period of time. Feed this sine wave through a filter, and you have amplitude on the vertical axis of your ‘scope and frequency on the horizontal axis. Boom, there’s your Bode plot.

[Andrew] did [Dave] one better by creating a small circuit with an Arduino and an AD9850 sine wave generator. Properly programmed, the AD9850 can ramp up the frequency of a sine wave with the Arduino outputting sync pulses every decade or octave of frequency, depending if you want a linear or log Bode plot.

It’s a nifty little tool, and when it comes to building test equipment from stuff that just happens to by lying around, we’ve got to give it up for [Andrew] for his really cool implementation.


9 thoughts on “Bode Plots On An Oscilloscope

  1. It’s not actually a Bode plot unless it’s logarithmic in both axes – that’s what causes the straight lines of the Bode approximations to appear in plots of linear filters. Still a nicely executed project though.

    1. How are you liking the DSO Quad. I don’t have a lot of space and am really needing a scope as I’m learning to play with some analog circuitry (Been all digital/cmos stuff for years) and I’m finding that I have nothing even close to adequate as far as reasoning goes about some of it, and know a scope would help me understand much better (Used to have access to a good 200 mhz scope, but have since moved away from it) and the specs on the DSO quad look like it’d be adequate for what I’m wanting to do (<10 Mhz signals, mostly audio frequency ranges, the nano i suppose would work also, but for the difference in price i think i'd be happier with the quad). But I'm wary of the quality of the output and everything since I've only ever used nice sensitive bench top ones with bnc connectors for everything, so I don't know much about the portables.

  2. Back in university days, I had to measure the frequency response of a
    30A current sensor. I very quickly realized that generating a “pure” 30A
    sine wave isn’t the way to go.

    Now the sprectrum analyzer I used has a nice transfer function button,
    it basically does a FFT on the input & output channels, normalized them
    and does a plot on that. So the input waveform in my case doesn’t need
    to be a “pure” sine wave in the first place. So I wired up a MOSFET and
    the bench supply as a ghetto current source to a function generator and
    modulate its frequency with a 2nd one. It plots out a nice transfer
    function graph.

    All the upper harmonics of the waveform are processed by the circuit as
    if they were sinewaves.

    tl;dr Fourier series saved the day.

  3. The idea is not new but it is nice to hear about it here. My mind was blown the first time I heard about this procedure. Note that it can be done using a proper function generator and an oscilloscope. Most function generators come with an auxiliary output which provides either a synchronization signal or a voltage proportional to the frequency when they do automatic frequency sweeps. This was an exercise the undergrads had to do as part of a signal processing course I used to teach.

  4. You ignorant liberal millenials always try to make yourself look so brilliant.This bode plot on the scope has been done for years by who really know electronics. That’s the liberal way, make yourself look good and who is there to contest it.I will call your hand bud.No liberal her

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.