-
Recent Posts
Archives
Categories
- Digital Audio (35)
- Aliasing (7)
- Convolution (3)
- Dither (4)
- Filters (14)
- DC Blocker (1)
- FIR Filters (5)
- IIR Filters (8)
- Biquads (5)
- Fourier (2)
- FFT (2)
- Impulse Response (5)
- Jitter (2)
- Oscillators (7)
- Phase (2)
- Reverb (2)
- Sample Rate Conversion (8)
- Sampling Theory (1)
- MIDI (2)
- Synthesizers (1)
- Uncategorized (3)
- Digital Audio (35)
Category Archives: Filters
A one-pole filter
Here’s a very simple workhorse of DSP applications—the one-pole filter. By comparison, biquads implement two zeros and two poles. You can see that our one-pole simply discards the zeros (the feed-forward delay paths) and the second pole (feedback path): We … Continue reading
Posted in DC Blocker, Digital Audio, IIR Filters
6 Comments
Biquad C++ source code
I don’t want to get into the business of teaching people how to code—there are a huge number of free resources available on the internet to that do that. But I’ll give a small taste for those trying to get … Continue reading
Posted in Biquads, Digital Audio, Filters, IIR Filters
10 Comments
Convolution—in words
Convolution is a convoluted topic—and that’s what it means (convoluted, from Merriam-Webster : “Extremely complex and difficult to follow. Intricately folded, twisted, or coiled.”). Really, it’s more difficult to explain why you would want to use convolution than it is … Continue reading
Posted in Convolution, Digital Audio, FIR Filters, Impulse Response, Reverb
Leave a comment
Biquad formulas
For fixed filters, we can plug biquad coefficients into our programs. But often, we need to calculate them on the fly, to user settings or changes in sample rate. As a companion to the biquad calculator, here are the formulas … Continue reading
Posted in Biquads, Digital Audio, Filters, IIR Filters
26 Comments
A biquad calculator
Something useful: a biquad filter coefficient calculator… Continue reading
Posted in Biquads, Digital Audio, Filters, IIR Filters
11 Comments
Sample rate conversion: down
In doubling the sample rate, we inserted zeros between existing samples, then used a lowpass filter to remove the resulting alias in the audio band. To resample at half the current rate, we use a lowpass filter to remove audio … Continue reading
Posted in Aliasing, Digital Audio, Filters, Sample Rate Conversion
Leave a comment
A closer look at upsampling filters
Interpolation type: None Zero-order hold Linear Sinc 1 Sinc 2 Sinc 3 Show impulse response Sweep! In this demonstration, we generate a sine wave sweep from low in the audio band to near the Nyquist Frequency, which is half the … Continue reading
Sample rate conversion: up
Once we have a suitable set of FIR filter coefficients from our windowed sinc calculator, it’s time to apply them. Again, our recipe for doubling the sample rate: 1) Insert a zero between existing samples. (This is the upsampling step, … Continue reading
Posted in Aliasing, Convolution, Digital Audio, Filters, FIR Filters, Sample Rate Conversion
4 Comments
Building a windowed sinc filter
As promised, here’s our windowed sinc calculator for building a 2x oversampling filter: Factor Length Rejection Gain Notes: Use the Tab or Enter keys to effect changes (most browsers), or press Calculate. The frequency axis is in multiples of the … Continue reading
Towards practical resampling
In a previous article, we looked at sample rate conversion in the frequency domain. Let’s take a quick second look in the time domain as reinforcement of principles behind sample rate conversion, before developing a practical rate convertor. In an … Continue reading