Skip to Content

Time Constants + Bandwidth

Bandwidth is one of those words that gets tossed around a lot today, often in places where it doesn’t belong. Most people have a vague understanding of the idea, relating it as some maximum rate limit. Or maybe they can understand in the power context, translating it to a 3dB point. Putting the two together and then being able to visualize it as a system response is the tricky part, so let’s try and do that.

Let’s start by defining what a time constant actually means. The definition we’ve been using for our filters so far means that the time domain system will take on an exponential response. If our state equation is:

$$C\dfrac{dV}{dt} + \dfrac{V}{R} = 0 $$

Then our steady state output will take the form:

$$ V(t) = V_0 e^{-t/\tau } $$

With an RC filter, $\tau = RC $, so each “time constant” here is measured in RC-increments. Rather than having to deal with that large and ugly exponent, we can know look at it as a simple integers. I ran the first time constants through with Octave and got the table below.

    <td> 2 </td>
    <td> 13.53%</td>
    <td> 86.46%</td>

    <td> 3 </td>
    <td> 4.97%</td>
    <td> 95.02%</td>

    <td> 4 </td>
    <td> 1.83%</td>
    <td> 98.16%</td>

    <td> 5 </td>
    <td> 0.67%</td>
    <td> 99.32%</td>

For our two results columns, the left hand one deals with discharing situations (going from higher to lower voltages), and the right hand deals with charging ones (going from lower to higher voltages). Each percentage represents the change in output, assuming the initial voltage is held constant through the entire time period. To show what this means visually, we’ll test it with pulses of varying frequency. Pulse trains (or square waves) are always used, because they represent a kind of “worst case” scenario for the circuit. If it takes t seconds to go from the lowest to highest voltage, it should be faster for any smaller jump.

We’ll start by taking our classic RC Filter from before and simulating it with different input frequencies. If test it with a very slow waveform, we expect to get all the power and should be able to track the waveform quite smoothly. In this case, the circuit has a time constant of RC = 10k*1u = 1ms. Let’s try it with something much slower, around 10ms. After that, we try it right on the time constant at 1ms, then much faster at around 200$\mu$s.

time-constant-slow time-constant-med time-constant-fast

As you can see, the slow input gets tracked nearly perfectly, imitating the square wave fairly accurately. When we go right at the bandwidth limit, we can look up the percentages in the table and we’ll find we’re right on them. It takes the entire cycle and we get just over halfway there each time. Any faster and we find it impossible to do anything. We basically turned our lowpass filter into an integrator, as our square input comes out as a near-triangle wave. It also has a bit of a "ramp-up" at the beginning, as we can only jump so high each time. We finally average around with small jumps around the average at 2.5V.