A Beginner's Guide To Cascaded Integrator-Comb (CIC) Filters

Rick Lyons

This article discusses the behavior, mathematics, and implementation of cascaded integrator-comb filters.


A Free DSP Laboratory

Stephen Morris

Getting Started In Audio DSPImagine you're starting out studying DSP and your particular interest is audio. Wouldn't it be nice to have access to some audio signals and the tools to analyze and modify them? In the old days, a laboratory like this...


Plotting Discrete-Time Signals

Neil Robertson

A discrete-time sinusoid can have frequency up to just shy of half the sample frequency. But if you try to plot the sinusoid, the result is not always recognizable. For example, if you plot a 9 Hz sinusoid sampled at 100 Hz, you get the result shown in the top of Figure 1, which looks like a sine. But if you plot a 35 Hz sinusoid sampled at 100 Hz, you get the bottom graph, which does not look like a sine when you connect the dots. We typically want the plot of a sampled sinusoid to resemble its continuous-time version. To achieve this, we need to interpolate.


Interpolation Basics

Neil Robertson

This article covers interpolation basics, and provides a numerical example of interpolation of a time signal. Figure 1 illustrates what we mean by interpolation. The top plot shows a continuous time signal, and the middle plot shows a sampled version with sample time Ts. The goal of interpolation is to increase the sample rate such that the new (interpolated) sample values are close to the values of the continuous signal at the sample times [1]. For example, if we increase the sample rate by the integer factor of four, the interpolated signal is as shown in the bottom plot. The time between samples has been decreased from Ts to Ts/4.


Stereophonic Amplitude-Panning: A Derivation of the "Tangent Law"

Rick Lyons

This article presents a derivation of the "Tangent Law"


A Brief Introduction To Romberg Integration

Rick Lyons

This article briefly describes a remarkable integration algorithm, called "Romberg integration." The algorithm is used in the field of numerical analysis but it's not so well-known in the world of DSP.


An IIR 'DC Removal' Filter

Rick Lyons
2 comments

It seems to me that DC removal filters (also called "DC blocking filters") have been of some moderate interest recently on the dsprelated.com Forum web page. With that notion in mind I thought I'd post a little information, from Chapter 13 of my "Understanding DSP" book, regarding infinite impulse response (IIR) DC removal filters.


Linear Feedback Shift Registers for the Uninitiated, Part XVI: Reed-Solomon Error Correction

Jason Sachs

Last time, we talked about error correction and detection, covering some basics like Hamming distance, CRCs, and Hamming codes. If you are new to this topic, I would strongly suggest going back to read that article before this one. This time we...


Two Easy Ways To Test Multistage CIC Decimation Filters

Rick Lyons
2 comments

This article presents two very easy ways to test the performance of multistage cascaded integrator-comb (CIC) decimation filters. Anyone implementing CIC filters should take note of the following proposed CIC filter test methods.


FFT Interpolation Based on FFT Samples: A Detective Story With a Surprise Ending

Rick Lyons
4 comments

This blog presents several interesting things I recently learned regarding the estimation of a spectral value located at a frequency lying between previously computed FFT spectral samples. My curiosity about this FFT interpolation process was triggered by reading a spectrum analysis paper written by three astronomers.