Understanding and Implementing the Sliding DFT

Eric Jacobsen

Introduction In many applications the detection or processing of signals in the frequency domain offers an advantage over performing the same task in the time-domain.   Sometimes the advantage is just a simpler or more conceptually...

Why Time-Domain Zero Stuffing Produces Multiple Frequency-Domain Spectral Images

Rick Lyons

This blog explains why, in the process of time-domain interpolation (sample rate increase), zero stuffing a time sequence with zero-valued samples produces an increased-length time sequence whose spectrum contains replications of the original...

The Number 9, Not So Magic After All

Rick Lyons

This blog is not about signal processing. Rather, it discusses an interesting topic in number theory, the magic of the number 9. As such, this blog is for people who are charmed by the behavior and properties of numbers. For decades I've thought...

Signed serial-/parallel multiplication

Markus Nentwig

Keywords: Binary signed multiplication implementation, RTL, Verilog, algorithm Summary A detailed discussion of bit-level trickstery in signed-signed multiplication Algorithm based on Wikipedia example Includes a Verilog implementation with...

Goertzel Algorithm for a Non-integer Frequency Index

Rick Lyons

If you've read about the Goertzel algorithm, you know it's typically presented as an efficient way to compute an individual kth bin result of an N-point discrete Fourier transform (DFT). The integer-valued frequency index k is in the range of...

Adventures in Signal Processing with Python

Jason Sachs

Author’s note: This article was originally called Adventures in Signal Processing with Python (MATLAB? We don’t need no stinkin' MATLAB!) — the allusion to The Treasure of the Sierra Madre has been removed, in deference to being...

Polyphase Filters and Filterbanks


ALONG CAME POLY Polyphase filtering is a computationally efficient structure for applying resampling and filtering to a signal. Most digital filters can be applied in a polyphase format, and it is also possible to create efficient resampling...

Understanding and Relating Eb/No, SNR, and other Power Efficiency Metrics

Eric Jacobsen

Introduction Evaluating the performance of communication systems, and wireless systems in particular, usually involves quantifying some performance metric as a function of Signal-to-Noise-Ratio (SNR) or some similar measurement. Many systems...

Python scipy.signal IIR Filter Design

Christopher Felton

Introduction The following is an introduction on how to design an infinite impulse response (IIR) filters using the Python scipy.signal package.  This post, mainly, covers how to use the scipy.signal package and is not a thorough...

Python number crunching faster? Part I

Christopher Felton

Everyone has their favorite computing platform, regardless if it is Matlab, Octave, Scilab, Mathematica, Mathcad, etc.  I have been using Python and the common numerical and scientific packages available.  Personally, I have found this...