DSPRelated.com

The Discrete Fourier Transform and the Need for Window Functions

Neil Robertson

The Discrete Fourier Transform (DFT) is used to find the frequency spectrum of a discrete-time signal.  A computationally efficient version called the Fast Fourier Transform (FFT) is normally used to calculate the DFT.  But, as many...


Modeling Anti-Alias Filters

Neil Robertson

Digitizing a signal using an Analog to Digital Converter (ADC) usually requires an anti-alias filter, as shown in Figure 1a.  In this post, we’ll develop models of lowpass Butterworth and Chebyshev anti-alias filters, and compute the time...


Simulink-Simulation of SSB demodulation

Josef Hoffmann

Simulink-Simulation of SSB demodulation or modulation from the article “Understanding the ‘Phasing Method’ of Single Sideband Demodulation” by Richard Lyons Josef Hoffmann The article “Understanding the ‘Phasing Method’ of Single...


Setting Carrier to Noise Ratio in Simulations

Neil Robertson

When simulating digital receivers, we often want to check performance with added Gaussian noise.  In this article, I’ll derive the simple equations for the rms noise level needed to produce a desired carrier to noise ratio (CNR or...


Update to a Narrow Bandpass Filter in Octave or Matlab

Paul Lovell

Following my earlier blog post (June 2020) featuring a Narrow Bandpass Filter, I’ve had some useful feedback and suggestions. This has inspired me to come up with an updated version, incorporating the following changes compared to the earlier...


An Efficient Full-Band Sliding DFT Spectrum Analyzer

Rick Lyons

In this blog I present two computationally efficient full-band discrete Fourier transform (DFT) networks that compute the 0th bin and all the positive-frequency bin outputs for an N-point DFT in real-time on a sample-by-sample basis. An Even-N...


Add a Power Marker to a Power Spectral Density (PSD) Plot

Neil Robertson

Perhaps we should call most Power Spectral Density (PSD) calculations relative PSD, because usually we don’t have to worry about absolute power levels.  However, for cases (e.g., measurements or simulations) where we are concerned with...


A Simpler Goertzel Algorithm

Rick Lyons

In this blog I propose a Goertzel algorithm that is simpler than the version of the Goertzel algorithm that is traditionally presented DSP textbooks. Below I very briefly describe the DSP textbook version of the Goertzel algorithm followed by a...


60-Hz Noise and Baseline Drift Reduction in ECG Signal Processing

Rick Lyons

Electrocardiogram (ECG) signals are obtained by monitoring the electrical activity of the human heart for medical diagnostic purposes [1]. This blog describes a very efficient digital filter used to reduce both 60 Hz AC powerline noise and...


Find Aliased ADC or DAC Harmonics (with animation)

Neil Robertson

When a sinewave is applied to a data converter (ADC or DAC), device nonlinearities produce harmonics.  If a harmonic frequency is greater than the Nyquist frequency, the harmonic appears as an alias.  In this case, it is not at once...