DSPRelated.com

Computing FFT Twiddle Factors

Rick LyonsRick Lyons August 8, 201019 comments

Rick Lyons gives two compact algorithms to compute individual twiddle factors for radix-2 DIF and DIT FFTs, handy when you need only a subset of outputs such as in pruned FFTs. He explains stage indexing, provides closed-form formulas including the bit-reversal step for DIT, and walks through N=8 examples so you can implement the twiddle-angle calculations directly.


Knowledge Mine for Embedded Systems

Sami AldalahmehSami Aldalahmeh June 25, 20101 comment

A little-known interactive portal makes learning embedded systems surprisingly practical and visual. The site is organized into four main areas: embedded systems design, design lifecycle, design methods, and design tools. Each section uses clickable system block diagrams so you can jump from a block, for example a MAC unit, to a focused page with detailed explanations. It’s a handy, ready reference for DSP and embedded engineers.


Hidden Linear Algebra in DSP

Sami AldalahmehSami Aldalahmeh June 17, 20105 comments

Linear algebra is hiding in plain sight inside many DSP techniques, not just abstract theory. By treating linear systems as matrix operators y = A x you reveal Toeplitz structure in LTI systems, connect to covariance matrices, and gain geometric intuition via eigenvalues and eigenvectors. This matrix viewpoint complements convolution-based thinking and offers practical tools for filter and channel analysis.


Accelerating Matlab DSP Code on the GPU

Seth Seth March 25, 20102 comments

Seth Benton spent a few days testing Jacket to accelerate MATLAB on NVIDIA GPUs, and found it surprisingly easy to speed up DSP code. He ran 2D FFT and interp2 benchmarks on a MacBook Air with a GeForce 9400M, seeing impressive speedups for large images while hitting GPU memory and precision limits at high sizes. The post shares practical tips on casting to GPU types, minimizing CPU-GPU transfers, and when GPU acceleration is most useful.


Googling: a now-required skill

Seth Seth March 7, 2010

Finding the right DSP answer often starts with finding the right search term, not the right textbook. Seth Benton shares the web resources he leans on, from comp.dsp and the MATLAB File Exchange to Google tricks like related searches and the tilde operator. It is a practical reminder that better keywords can cut straight through the rabbit hole.


OpenCV for DSP/GPU, MSDN equivalent for CCS, and more

Shehrzad Shehrzad February 17, 20108 comments

Porting OpenCV to DSPs could be a real business opportunity, but it is far from trivial, writes Shehrzad Qureshi. He highlights major obstacles: the engineering scale, mixed open-source licenses, and hard-to-parallelize primitives like connected components. He also criticizes Code Composer Studio's help system compared with MSDN, notes an ATI Stream talk, and announces a CUDA walkthrough on FFT-based image filtering.


Computing an FFT of Complex-Valued Data Using a Real-Only FFT Algorithm

Rick LyonsRick Lyons February 9, 20103 comments

Rick Lyons shows a compact trick to get an N-point complex FFT using only real-input FFT routines by transforming the real and imaginary parts separately and recombining their outputs. The post presents a one-line recombination formula, Xc(m) = real[Xr(m)] - imag[Xi(m)] + j{imag[Xr(m)] + real[Xi(m)]}, and an algebraic derivation based on the two-real-in-one-complex FFT identity. Useful for systems that only provide real-only FFTs.


Random GPGPU Musings

Shehrzad Shehrzad January 20, 2010

Shehrzad Qureshi argues that general-purpose GPU computing is poised to reshape engineering workloads, and contrasts Nvidia's CUDA ecosystem with ATI's Stream and OpenCL. He points out that GPU architectures and programming models are similar across vendors, but Nvidia's head start in sample code and developer community gives CUDA a practical advantage. Read for a concise industry perspective on choosing a GPGPU platform.


GPGPU DSP

Shehrzad Shehrzad January 16, 20101 comment

Shehrzad Qureshi kicks off his DSP blog by championing GPGPU, focusing on Nvidia's CUDA and real-product experience. He argues that with CPU clock speeds stalled, large-scale parallelism on GPUs is the practical path forward for many signal-processing tasks. The post traces GPGPU history from shader 'hacks' to modern APIs and previews future posts comparing CUDA vs OpenCL, Intel's Larrabee, and Nvidia Fermi.


Some Thoughts on a German Mathematician

Rick LyonsRick Lyons January 11, 20106 comments

Rick Lyons revisits the remarkable career of Carl Friedrich Gauss, mixing memorable anecdotes with technical highlights. The post links Gauss’s work on the Gaussian curve, complex-plane representation, orbit prediction, and early telegraph experiments to ideas familiar to DSP engineers, and notes historical evidence that he developed trigonometric series before Fourier. It’s a short, engaging reminder of Gauss’s broad influence.


Polynomial calculations on an FIR filter engine, part 1

Kendall Castor-PerryKendall Castor-Perry October 1, 20192 comments

FIR filter blocks can be repurposed as fast polynomial evaluators, offering hardware acceleration for non-linear compensation, function approximation, and harmonic synthesis, but they require careful scaling and coefficient management. This article outlines when to use binomial or fitted polynomials, compares Horner's nested evaluation with the direct power-sum approach, and highlights precision and overflow pitfalls on fixed-point engines like the Cypress DFB.


[Book Review] Numpy 1.5 Beginner's Guide

Christopher FeltonChristopher Felton January 7, 2012

Christopher Felton's review gives a pragmatic take on Ivan Idris's Numpy 1.5 Beginner's Guide, praising its hands-on, exercise-driven approach while flagging several shortcomings. He finds the book a useful starting point for newcomers to Python numerical computing thanks to practical examples and a chapter on testing, but warns the title, incomplete installation guidance, and some factual errors may mislead readers.


Polar Coding Notes: A Simple Proof

Lyons ZhangLyons Zhang November 8, 2018

Lyons Zhang presents a compact, elementary derivation of channel polarization for binary-input discrete memoryless channels. The note leverages Mrs. Gerber's Lemma to bound conditional entropies and follows the Alsan-Telatar averaging argument to show mediocre channels vanish. The proof sidesteps martingale convergence and recovers the standard result that the fraction of good channels approaches the channel capacity.


The Nature of Circles

Peter KootsookosPeter Kootsookos February 21, 20093 comments

Averaging angles the usual way can produce nonsense: the mean of 0 and 359 degrees is not 179.5 when working with circular data. Peter Kootsookos shows the correct approach using vectorial or phasor averaging, converting angles to unit complex numbers and taking the argument of their sum. The short post points to directional statistics and a related IEEE paper for deeper details.


Smaller DFTs from bigger DFTs

Aditya DuaAditya Dua January 22, 20198 comments

A neat DFT puzzle turns into a tour of three useful spectral tricks. Given only an N point DFT black box, the post shows how to recover the N/2 point DFT of a shorter sequence by zero padding, zero interlacing, or repeating the data. Along the way, it highlights why some methods smooth the spectrum, why others replicate it, and how these operations relate to FFT fundamentals.


Update to a Narrow Bandpass Filter in Octave or Matlab

Paul LovellPaul Lovell March 29, 2021

Paul Lovell presents an updated, compact Octave/Matlab implementation of a narrow bandpass FIR that runs about four times faster and uses float32 to cut processing cost. The design combines a single matrix IFIR stage with three moving-sum (RRS) stages per baseband, auto-calculates the IFIR expansion factor, and adds easier parameter setup plus WAV I/O and FFT plots. A TensorFlow Colab demo is also provided.


Microprocessor Family Tree

Rick LyonsRick Lyons January 10, 20195 comments

Rick Lyons shares a compact, nostalgic microprocessor family tree that highlights early integrated circuits and his fondness for the Intel 8080. The post invites engineers to spot classic chips they remember, pairing brief commentary with a scanned image from Creative Computing, June 1985, copied without permission. It’s a short historical snapshot for anyone interested in vintage CPU lineage.


Signal Processing Summit - Cancellation Policy

Stephane BoucherStephane Boucher September 10, 2025

The post announces a flexible cancellation policy for the inaugural Signal Processing Summit, an intimate DSP event limited to 70 seats and scheduled in Silicon Valley this October. It explains refundable options designed to give attendees confidence when registering early: a full refund minus a $95 processing fee for cancellations before the end of September, a 50% refund for cancellations in October before October 6, and no refunds after that date. The policy is positioned to help prospective attendees lock in the Early Bird rate, secure discounted hotel accommodations, and plan travel with reduced risk. The announcement frames the policy as a way to remove barriers to commitment and encourages readers who have been undecided to register now and attend the Summit.


Improved Three Bin Exact Frequency Formula for a Pure Real Tone in a DFT

Cedron DawgCedron Dawg November 6, 2017

Cedron Dawg extends his two-bin exact frequency formulas to a three-bin DFT estimator for a pure real tone, and presents the derivation in computational order for practical use. The method splits complex bin values into real and imaginary parts, forms vectors A, B, and C, applies a sqrt(2) variance rescaling, and computes frequency via a projection-based closed form. Numerical tests compare the new formula to prior work and show improved accuracy when the tone lies between bins.


Finding the Best Optimum

Tim WescottTim Wescott November 4, 2013

Optimization is seductive but often misleading, especially when mathematical models don't match messy reality. Tim Wescott shares stories from circuits and communications to show how chasing the theoretical global optimum can waste time and money. He recommends framing 'best' in practical terms, validating models, and optimizing for cost and impact so products ship on time and actually work in the real world.