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.



  1. cooperised says:

    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.

  2. Ryan says:

    What about the phase? That’s important too!

  3. jpa says:

    Here is my take of it, using the DSO Quad:

    • Moser says:

      very awesome!

    • Ryan Voots says:

      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.

  4. tekkieneet says:

    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.

  5. Jimmy_Pop says:

    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.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s