The DFT Magnitude of a Real-valued Cosine Sequence
Rick Lyons proves a simple but often-missing result: the N-point DFT peak magnitude of a real cosine with an integer number of cycles equals A·N/2. He uses Euler's formula and geometric-series summation, shows a neat shortcut that avoids l'Hôpital's rule, and connects the math to practical fixed-point FFT sizing and overflow prevention on two's-complement hardware. The post also notes conjugate symmetry and the same result for sine inputs.
Specifying the Maximum Amplifier Noise When Driving an ADC
You can quantify how much amplifier noise is acceptable before adding gain actually hurts an ADC's output SNR. Rick Lyons presents a compact rule showing the amplifier input-referred noise power must be less than (1 - 1/α^2) times the ADC's q^2/12 quantization noise power, with Eq. (8) and a pair of figures that make it easy to pick or specify the right amplifier for a given gain α.
A Remarkable Bit of DFT Trivia
Rick Lyons highlights a surprising equality: the DFT's worst-case scalloping loss equals 2/π, the same probability that a toothpick crosses a floorboard seam in Buffon's needle problem when the toothpick equals board width. The post sketches the DFT bin-intersection derivation and connects the math to the classic probability puzzle, offering a playful insight that sharpens intuition about bin responses.
Computing Translated Frequencies in Digitizing and Downsampling Analog Bandpass Signals
Textbooks rarely give ready formulas for tracking where individual spectral lines land after bandpass sampling or decimation. Rick Lyons provides three concise equations, with Matlab code, that compute translated frequencies for analog bandpass sampling, real digital downsampling, and complex downsampling. Practical examples show how to place the sampled image at fs/4 and how to translate a complex bandpass to baseband for efficient demodulation.
Goertzel Algorithm for a Non-integer Frequency Index
Rick Lyons demonstrates how to run the Goertzel algorithm with a non-integer frequency index k, letting you target DTFT frequencies that do not align with DFT bin centers. He interprets Rajmic and Sysel's generalization, provides a simple implementation, and presents a real-valued reformulation that reduces the final multiplies for real inputs. Example Matlab code is included to reproduce and adapt the technique.
Is It True That j is Equal to the Square Root of -1 ?
A viral YouTube video claimed that saying j equals the square root of negative one is wrong. Rick Lyons shows the apparent paradox comes from misusing square-root identities with negative arguments, not from the usual definition of j. He argues it is safer to define j by j^2 = -1 and illustrates how careless root operations produce contradictions in two appendices.
A Table of Digital Frequency Notation
Rick Lyons compiles a compact, practical table that untangles the many algebraic frequency notations used in DSP. The reference lines up continuous and discrete sinusoid forms, shows the frequency variable names and units, and lists valid ranges and conversions like Ω = 2πf and normalized forms with fs. A printable PDF of the table is available for easy desk reference.
A Quadrature Signals Tutorial: Complex, But Not Complicated
Quadrature signals are essential in modern communications, yet complex numbers and the j operator intimidate many engineers. In this tutorial Rick Lyons uses phasor geometry, three-dimensional time and frequency plots, and practical I/Q sampling examples to demystify complex exponentials, negative frequency, and how to generate baseband complex signals. Read to get physical intuition and hands-on rules you can apply to modulation, demodulation, and DSP implementations.
Beat Notes: An Interesting Observation
Rick Lyons overturns a common intuition about beat notes, showing that adding two nearby audio tones yields an average-frequency tone whose amplitude fluctuates, rather than a separate low-frequency sinusoid. He contrasts multiplication and summation of sines, provides simple trigonometric insight, and includes Matlab audio demos to explain why aircraft engine "whump" sounds are amplitude fluctuations of the average engine frequency.
Using the DFT as a Filter: Correcting a Misconception
Some sources claim the DFT, when used as a filter, shifts spectral energy down to DC. Rick Lyons shows that this is not true for consecutive DFT-bin outputs and explains the cause of the confusion: the FIR interpretation requires reversing the usual twiddle-factor order. He derives the DFT-bin frequency response, shows the bandpass center at 2πm/N, and explains when decimation does produce a translation to zero Hz.
Frequency Translation by Way of Lowpass FIR Filtering
Rick Lyons shows how you can translate a signal down in frequency and lowpass filter it in a single operation by embedding cosine mixing values into FIR coefficients. The post explains how to build the translating FIR, how to choose the number of coefficient sets, and how decimation can dramatically reduce storage needs while noting practical constraints like the requirement that ft be an integer submultiple of fs.
Do Multirate Systems Have Transfer Functions?
Multirate systems can fool you into thinking standard z-domain analysis always applies. Rick Lyons shows why CIC decimation and Hogenauer implementations do not have a single z-domain transfer function from the input to the downsampled output, because downsampling breaks the one-to-one frequency mapping of LTI systems. Use the cascaded-subfilter H(z) up to the decimation point, then explicitly account for aliasing when predicting the decimated spectrum.
A Simple Complex Down-conversion Scheme
Recently I was experimenting with complex down-conversion schemes. That is, generating an analytic (complex) version, centered at zero Hz, of a real bandpass signal that was originally centered at ±fs/4 (one fourth the sample rate). I managed to obtain one such scheme that is computationally efficient, and it might be of some mild interest to you guys. The simple complex down-conversion scheme is shown in Figure 1(a).It works like this: say we have a real xR(n) input bandpass...
Two Easy Ways To Test Multistage CIC Decimation Filters
Rick Lyons shows that you can validate multistage CIC decimation filters with just two obvious tests, no elaborate spectral setup required. Apply a unit-sample impulse to check a combinatorial yout(1) value when D ≥ S, or feed an all-ones step to confirm an S-sample transient followed by a DS steady state; the Appendix ties both checks to Pascal's triangle and binomial math.
Online DSP Classes: Why Such a High Dropout Rate?
Rick Lyons digs into a startling statistic: online DSP courses reported a 97% dropout rate. He argues the main culprits are math-heavy curricula that overwhelm beginners and rigid, non-self-paced schedules that demand sustained 8-10+ hours per week. Rick urges course creators to rethink pacing and mathematical depth to improve completion rates and student engagement.
Computing Translated Frequencies in Digitizing and Downsampling Analog Bandpass Signals
Textbooks rarely give ready formulas for tracking where individual spectral lines land after bandpass sampling or decimation. Rick Lyons provides three concise equations, with Matlab code, that compute translated frequencies for analog bandpass sampling, real digital downsampling, and complex downsampling. Practical examples show how to place the sampled image at fs/4 and how to translate a complex bandpass to baseband for efficient demodulation.
The Risk In Using Frequency Domain Curves To Evaluate Digital Integrator Performance
Frequency-response curves can be misleading when selecting a digital integrator, Rick Lyons shows, and he proves it with counterexamples using seven test signals. By comparing methods such as Simpson's 1/3 rule, Al-Alaoui, and Tick's rule on definite-integral tasks, Lyons demonstrates that a close match to the ideal frequency response does not guarantee accurate integrals, because input signal traits strongly affect results.
A New Contender in the Digital Differentiator Race
Rick Lyons presents a compact FIR differentiator that widens the usable linear-frequency range while remaining simple to implement. The five-tap impulse response boosts the linear operating band by roughly 33% over his earlier design, offers exact two-sample group delay and linear phase, and can be realized in a folded multiplier-free form using binary right shifts. The design targets signals below pi/2 radians per sample.
A New Contender in the Quadrature Oscillator Race
Rick Lyons highlights a compact quadrature oscillator introduced by A. David Levine and Martin Vicanek, offering guaranteed stability, accurate low-frequency tuning, and modest computational cost. The post walks through the simple u, v, w recurrences used for software implementation. Appendices provide transfer functions and an algebraic stability proof for engineers who want formal verification before deployment.
Coupled-Form 2nd-Order IIR Resonators: A Contradiction Resolved
Rick Lyons resolves a long-standing confusion about the coupled-form 2nd-order IIR resonator by deriving its correct z-domain transfer function and explaining why textbooks can appear to contradict pole plots. He shows that with infinite precision the coupled and standard denominators match, but finite-bit quantization of rcos(Θ) and rsin(Θ) changes the z^-2 coefficient and shifts pole positions. Read to learn the correct H(z) to predict quantized behavior and when the coupled form outperforms the standard design.
Multiplying Two Binary Numbers
Ancient math gives a modern trick for integer multiplication that uses only shifts, parity checks, and additions. Rick Lyons demonstrates the Russian peasant method, shows why it maps to binary right shifts and least-significant-bit tests, and supplies a MATLAB snippet to run the loop. The post also points out a practical tip: put the smaller operand in the halving register to reduce iterations.
Somewhat Off Topic: Deciphering Transistor Terminology
Rick Lyons unpacks a small linguistic mystery in electronics, revealing why the transistor's middle terminal is called the "base". He traces the name to the 1949 Bell Labs "semiconductor triode", where the device sat on a metal base plate described as a large-area low-resistance contact, and notes that later transistor sandwich designs kept the name for historical reasons. The post includes original references and a few trivia nuggets.
Two Easy Ways To Test Multistage CIC Decimation Filters
Rick Lyons shows that you can validate multistage CIC decimation filters with just two obvious tests, no elaborate spectral setup required. Apply a unit-sample impulse to check a combinatorial yout(1) value when D ≥ S, or feed an all-ones step to confirm an S-sample transient followed by a DS steady state; the Appendix ties both checks to Pascal's triangle and binomial math.
Computing Chebyshev Window Sequences
Rick Lyons gives a compact, practical recipe for building M-sample Chebyshev (Dolph) windows with user-set sidelobe levels, not just theory. The post walks through computing α and A(m), evaluating the Nth-degree Chebyshev polynomial, doing an inverse DFT, and the simple postprocessing needed to form a symmetric time-domain window. A worked 9-sample example and an implementation caveat for even-length windows make this immediately usable.
Multiplierless Exponential Averaging
Rick Lyons shows how to implement exponential averaging without multiplies by exploiting a rearranged leaky-integrator form and binary shifts. He demonstrates reducing the standard two-multiply averager to a single-multiply form, then eliminating the multiply entirely when the weighting α equals reciprocals or differences of reciprocals of powers of two. The post catalogs practical α choices for fixed-point filters and flags quantization as an open issue.
A Fast Guaranteed-Stable Sliding DFT Algorithm
Rick Lyons presents a compact, computationally efficient sliding DFT that computes a single N-point DFT bin output for each input sample in real time. The design replaces the traditional complex resonator with a 2nd-order real resonator and uses pole/zero cancellation to match the DFT bin response. Crucially, the resonator poles remain on the z-plane unit circle even with quantized coefficients, guaranteeing numerical stability.
A Brief Introduction To Romberg Integration
Romberg integration delivers dramatic accuracy gains for definite integrals by combining multiple trapezoidal approximations into a single highly accurate result. Rick Lyons demonstrates how just five samples can achieve 0.0038% error versus a trapezoidal rule needing 100 samples, and a 17-sample example hits 3.6×10−4% error. The post outlines the N-segment procedure, cost scaling, and links to MATLAB code.
How Not to Reduce DFT Leakage
Rick Lyons debunks a proposed 'data-flipping' fix for DFT spectral leakage, demonstrating with MATLAB that it can produce higher sidelobes and a troubling mainlobe dip for some input frequencies. He explains that windowing's goal is to reduce amplitude discontinuities in a periodic extension, not merely to force end samples to zero, and concludes the method is frequency-dependent and not recommended.
A Simpler Goertzel Algorithm
Rick Lyons presents a streamlined Goertzel algorithm that simplifies computing a single DFT bin by removing the textbook method's extra shift and zero-input steps. The proposed network changes the numerator so you run the main stage N times then perform one final output stage, making the implementation cleaner and slightly cheaper computationally. Rick also points out that common textbook forms differ from Gerald Goertzel's 1958 original.
Computing Translated Frequencies in Digitizing and Downsampling Analog Bandpass Signals
Textbooks rarely give ready formulas for tracking where individual spectral lines land after bandpass sampling or decimation. Rick Lyons provides three concise equations, with Matlab code, that compute translated frequencies for analog bandpass sampling, real digital downsampling, and complex downsampling. Practical examples show how to place the sampled image at fs/4 and how to translate a complex bandpass to baseband for efficient demodulation.










