DSPRelated.com

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

Rick LyonsRick Lyons April 16, 201841 comments

Rick Lyons follows a numerical mismatch from a published astronomy paper into a short detective story about FFT interpolation. He shows a commonly published interpolation formula produces large errors, explains why the algebraic approximations fail, and presents several correct alternatives with algebraic simplifications that greatly reduce computation. Engineers get both the debugging lesson and practical, lower‑cost formulas for evaluating X(k) between FFT bins.


ADC Clock Jitter Model, Part 1 -- Deterministic Jitter

Neil RobertsonNeil Robertson April 16, 201819 comments

Clock jitter on ADC sample clocks corrupts high-frequency signals, and this post builds a practical MATLAB model to show exactly how deterministic (periodic) jitter maps into phase modulation and discrete sidebands. The author explains a parabolic-interpolation approach using twice-rate samples, demonstrates examples from single tones to pulses, and matches simulation spectra to closed-form sideband formulas so engineers can predict jitter effects.


Crowdfunding Articles?

Stephane BoucherStephane Boucher April 12, 201828 comments

Technical writers in the embedded world often have the expertise, but not always the time or incentive to turn it into a post. Stephane Boucher explores a crowdfunding model for technical articles, where readers would pledge small amounts to back promising abstracts before the writing begins. It is an interesting attempt to create more high quality EE content by paying authors upfront.


How precise is my measurement?

Sam ShearmanSam Shearman March 28, 20183 comments

Precision is quantifiable, not guesswork. This post walks through practical, measurement-oriented statistics you can apply to static or dynamic signals to answer the question, "How precise is my measurement?" It focuses on using multiple samples, checking distribution assumptions, and constructing confidence intervals and levels so you can trade measurement time for a desired precision.


Embedded World 2018 - More Videos!

Stephane BoucherStephane Boucher March 27, 20181 comment

Two cinematic videos from Embedded World 2018 turn the show floor into slow-motion, stabilized footage using a Zhiyun Crane gimbal and a Sony a6300. One is a SEGGER booth highlights piece featuring Rolf Segger and Axel Wolf, the other is a roaming montage with appearances from Jacob Beningo, Micheal Barr, and Alan Hawse. Stephane asks viewers to enable audio and share feedback.


Phase or Frequency Shifter Using a Hilbert Transformer

Neil RobertsonNeil Robertson March 25, 201821 comments

A Hilbert transformer converts a real input into an analytic I+jQ pair, enabling phase shifts and frequency shifts while keeping real inputs and outputs. This article shows Matlab implementations (31-tap FIR with Hamming or Blackman windows), derives y = I cosθ - Q sinθ for phase and frequency shifting, and highlights practical limits from finite taps and coefficient/NCO quantization.


Feedback Controllers - Making Hardware with Firmware. Part 8. Control Loop Test-bed

Steve MaslenSteve Maslen March 21, 2018

Built around modest FPGA hardware, this post presents a practical test-bed for evaluating high-speed, low-latency feedback controllers. It covers ADC/DAC specifications, basic and arbitrary test signals, and an IFFT-based generator that can produce thousands of simultaneous tones for rapid Bode, phase, and latency measurements. The article also compares two IFFT strategies, explains turbo sampling, and shows open- and closed-loop test configurations.


Embedded World 2018 - The Interviews

Stephane BoucherStephane Boucher March 21, 2018

Stephane Boucher brought video gear to Embedded World 2018 and teamed up with Jacob Beningo to capture concise vendor interviews that focus on real product news. The videos showcase Percepio's new Tracealyzer with a drone demo, Intrinsic ID's method for creating device-unique IDs from manufacturing variations, and SEGGER's broader toolset including embOS now certified by TÜV SÜD. Watch for short demos and expert explanations.


Phase and Amplitude Calculation for a Pure Complex Tone in a DFT using Multiple Bins

Cedron DawgCedron Dawg March 14, 201812 comments

Cedron presents exact, closed-form formulas to extract the phase and amplitude of a pure complex tone from multiple DFT bin values, using a compact vector formulation. The derivation introduces a delta variable to simplify the sinusoidal bin expression, stacks neighboring bins into a basis vector, and solves for the complex amplitude q by projection. The phase and magnitude follow directly from q, and extra bins reduce leakage when the tone falls between bins.


Linear Feedback Shift Registers for the Uninitiated, Part XIII: System Identification

Jason SachsJason Sachs March 12, 20181 comment

Jason Sachs shows how the output of a linear feedback shift register can be used for active system identification, not just spread-spectrum testing. The article compares traditional sine-wave probing with LFSR-based PRBS methods, demonstrates a worked Ra-Rb-C example, and unpacks practical issues such as reflected pseudonoise, ADC quantization, sample counts, and noise-shaping tricks to improve estimates.


Sensors Expo - Trip Report & My Best Video Yet!

Stephane BoucherStephane Boucher August 3, 20183 comments

Stephane Boucher turns a first-time Sensors Expo visit into a fun travelogue and a polished conference highlights video. He mixes candid trip anecdotes from Moncton to San Jose, electric-scooter discoveries, Santa Cruz detours, Airbnb tips, and on-the-floor expo footage. The post culminates in what he calls his best highlights reel yet, plus a follow-up video focused on embedded and IoT.


Amplitude modulation and the sampling theorem

Allen DowneyAllen Downey December 18, 20156 comments

Amplitude modulation turns out to be a neat way to build intuition for the Nyquist-Shannon sampling theorem. In this draft chapter from Think DSP, the author shows how multiplying by a carrier shifts spectra, why sampling creates repeated copies in frequency, and how low-pass filtering can recover the original signal when those copies do not overlap.


Design IIR Band-Reject Filters

Neil RobertsonNeil Robertson January 17, 20182 comments

This post walks through designing IIR Butterworth band-reject filters and provides two MATLAB synthesis functions, br_synth1.m and br_synth2.m. br_synth1 accepts a null frequency plus an upper -3 dB frequency, while br_synth2 takes lower and upper -3 dB frequencies. The author demonstrates an example where a 2nd-order prototype yields a 4th-order H(z), prints b and a coefficients, and plots the response using freqz.


Linear Feedback Shift Registers for the Uninitiated, Part XV: Error Detection and Correction

Jason SachsJason Sachs June 12, 2018

CRCs and Hamming codes look a lot less magical when you view them as redundancy with a purpose. Jason Sachs walks from parity bits and checksums into finite-field polynomial arithmetic, then shows how CRCs map cleanly onto LFSRs and how Hamming codes use syndromes to locate single-bit errors. It is a practical tour of error detection and correction, with enough worked examples to make the theory feel usable.


DFT Bin Value Formulas for Pure Real Tones

Cedron DawgCedron Dawg April 17, 20151 comment

Cedron Dawg derives a closed-form expression for the DFT bin values produced by a pure real sinusoid, then uses that formula to explain well known DFT behaviors. The post walks through the algebra from Euler identities to a compact computational form, highlights the integer versus non-integer frequency cases, and verifies the result with C code and printed numeric output.


How the Cooley-Tukey FFT Algorithm Works | Part 4 - Twiddle Factors

Mark NewmanMark Newman December 2, 202410 comments

The beauty of the FFT algorithm is that it does the same thing over and over again. It treats every stage of the calculation in exactly the same way. However, this. “one-size-fits-all” approach, although elegant and simple, causes a problem. It misaligns samples and introduces phase distortions during each stage of the algorithm. To overcome this, we need Twiddle Factors, little phase correction factors that push things back into their correct positions before continuing onto the next stage.


Coupled-Form 2nd-Order IIR Resonators: A Contradiction Resolved

Rick LyonsRick Lyons November 23, 20127 comments

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.


Some Observations on Comparing Efficiency in Communication Systems

Eric JacobsenEric Jacobsen March 17, 2011

Efficiency in wireless communications is a multidimensional tradeoff, not a single metric. Eric Jacobsen walks through how transmit power, channel bandwidth, and FEC choices interact, showing when to judge systems by Eb/No versus SNR and how to read bandwidth-efficiency plots. The piece highlights a practical "sweet spot" of FEC code rates where power, spectrum, and decoder complexity are balanced, helping engineers choose MCS sets wisely.


Linear Feedback Shift Registers for the Uninitiated, Part XII: Spread-Spectrum Fundamentals

Jason SachsJason Sachs December 29, 20171 comment

Jason Sachs shows why LFSR-generated pseudonoise is a natural fit for direct-sequence spread spectrum, then walks through Fourier basics, spectral plots, and runnable Python examples. The article demonstrates how DSSS multiplies a UART bitstream with a chipping sequence to spread energy, how despreading concentrates the desired signal while scrambling narrowband interference, and how multiple transmitters can share bandwidth when using uncorrelated sequences.


A Recipe for a Common Logarithm Table

Cedron DawgCedron Dawg April 29, 2017

Cedron Dawg shows how to construct a base-10 logarithm table from scratch using only pencil-and-paper math. The recipe combines simple series for e and ln(1+x) with clever factoring and neighbor-based recurrences so minimal square-root work is required. Along the way the post explains a practical algorithm, high-accuracy interpolation and inverse-log reconstruction so you can reproduce published log tables by hand.