DSPRelated.com

Two Easy Ways To Test Multistage CIC Decimation Filters

Rick Lyons

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.


ADC Clock Jitter Model, Part 2 – Random Jitter

Neil Robertson

In Part 1, I presented a Matlab function to model an ADC with jitter on the sample clock, and applied it to examples with deterministic jitter.  Now we’ll investigate an ADC with random clock jitter, by using a filtered or unfiltered...


ADC Clock Jitter Model, Part 1 – Deterministic Jitter

Neil Robertson

Analog to digital converters (ADC’s) have several imperfections that affect communications signals, including thermal noise, differential nonlinearity, and sample clock jitter [1, 2].  As shown in Figure 1, the ADC has a sample/hold...


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

Rick Lyons

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.


Phase or Frequency Shifter Using a Hilbert Transformer

Neil Robertson

In this article, we'll describe how to use a Hilbert transformer to make a phase shifter or frequency shifter. In either case, the input is a real signal and the output is a real signal. We'll use some simple Matlab code to simulate these systems. After that, we'll go into a little more detail on Hilbert transformer theory and design.


An Efficient Linear Interpolation Scheme

Rick Lyons

This article presents a computationally-efficient linear interpolation trick that requires at most one multiply per output sample.


Simplest Calculation of Half-band Filter Coefficients

Neil Robertson

Half-band filters are lowpass FIR filters with cut-off frequency of one-quarter of sampling frequency fs and odd symmetry about fs/4 [1]*. And it so happens that almost half of the coefficients are zero. The passband and stopband bandwiths are equal, making these filters useful for decimation-by-2 and interpolation-by-2. Since the zero coefficients make them computationally efficient, these filters are ubiquitous in DSP systems. Here we will compute half-band coefficients using the window method. While the window method typically does not yield the fewest taps for a given performance, it is useful for learning about half-band filters. Efficient equiripple half-band filters can be designed using the Matlab function firhalfband [2].


Errata for the book: 'Understanding Digital Signal Processing'

Rick Lyons

Errata 3rd Ed. International Version.pdfErrata 3rd Ed. International Version.pdfThis blog post provides, in one place, the errata for each of the many different Editions/Printings of my book Understanding Digital Signal Processing. If you...


Feedback Controllers - Making Hardware with Firmware. Part I. Introduction

Steve Maslen

Introduction to the topic  This is the 1st in a series of articles looking at how we can use DSP and Feedback Control Sciences along with some mixed-signal electronics and number-crunching capability (e.g. FPGA), to create arbitrary...


How to Find a Fast Floating-Point atan2 Approximation

Nic Taylor

Context Over a short period of time, I came across nearly identical approximations of the two parameter arctangent function, atan2, developed by different companies, in different countries, and even in different decades. Fascinated...