DSPRelated.com

Bayes meets Fourier

Allen DowneyAllen Downey October 26, 2015

Bayes filters and Fourier transforms turn out to have a neat symmetry: prediction uses convolution, while measurement update uses multiplication. In this post, Allen Downey shows how the characteristic function ties Bayes filtering to the Fourier domain, then uses that connection to sketch an FFT-based implementation that can speed up the predict-update cycle. If you like Bayesian estimation and signal processing, this is a satisfying crossover.


Number Theory for Codes

Mike RosingMike Rosing October 22, 20156 comments

If CRCs have felt like black magic, this post peels back the curtain with basic number theory and polynomial arithmetic over GF(2). It shows how fixed-width processor arithmetic becomes arithmetic in a finite field, how bit sequences are treated as polynomials, and why primitive polynomials generate every nonzero element. You also get practical insights on CRC implementation with byte tables and LFSRs.


Recruiting New Bloggers!

Stephane BoucherStephane Boucher October 16, 20157 comments

EmbeddedRelated is expanding its blogging team, and Stephane Boucher is inviting engineers, students, hobbyists, and researchers to contribute. He points to the success of earlier contributors and says the community has already read their articles more than 1,250,000 times. If you have knowledge to share, this post explains how to pitch a topic and get started.


A New Contender in the Digital Differentiator Race

Rick LyonsRick Lyons September 30, 20159 comments

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.


The Most Interesting FIR Filter Equation in the World: Why FIR Filters Can Be Linear Phase

Rick LyonsRick Lyons August 18, 201517 comments

Rick Lyons pulls back the curtain on a little-known coefficient constraint that makes complex-coefficient FIR filters exhibit linear phase. Rather than simple symmetry of real coefficients, the key is a conjugate-reflection relation involving the filter phase at DC, which collapses to ordinary symmetry for real taps. The post includes derivations, intuition using the inverse DTFT, and a Matlab example to verify the result.


Four Ways to Compute an Inverse FFT Using the Forward FFT Algorithm

Rick LyonsRick Lyons July 7, 20155 comments

Rick Lyons lays out four practical techniques to get an inverse FFT when you only have forward FFT software or FPGA cores available. The post highlights a classic data-reversal trick, a conjugate-symmetry optimized flow, and two methods that avoid reversals using data swapping or complex conjugation plus scaling. Each method notes when it is preferable so engineers can pick the least costly implementation.


Correcting an Important Goertzel Filter Misconception

Rick LyonsRick Lyons July 6, 201517 comments

A common claim says the Goertzel algorithm is marginally stable and prone to numerical errors. Rick Lyons shows that the usual second-order Goertzel filter has conjugate poles exactly on the unit circle, so pole placement alone does not make it unstable. The practical limits are coefficient quantization, which reduces frequency precision, and accumulator overflow for very large N.


Fitting a Damped Sine Wave

Detlef AmbergDetlef Amberg July 3, 20155 comments

Detlef Amberg presents a simple linear-algebra approach to recover frequency, phase, amplitude, and damping of a sampled damped sine wave. Instead of nonlinear fitting, the method casts the waveform as a second-order difference equation, uses linear regression to estimate b and omega, and recovers amplitude and phase by mixing with quadrature carriers; amplitude and damping are then fine-tuned with a gradient iteration. MATLAB code is available on File Exchange.


Premium Forum?

Stephane BoucherStephane Boucher May 25, 201514 comments

Stephane Boucher proposes a paid "premium" forum for DSPRelated that would redistribute membership fees to the communitys top contributors via voting. The plan frames the $20/year fee as an incentive mechanism, not a revenue stream, with monthly payouts to the most appreciated posters. Boucher invites reader feedback to decide whether to implement the idea or pursue alternatives.


Phase and Amplitude Calculation for a Pure Real Tone in a DFT: Method 1

Cedron DawgCedron Dawg May 21, 20151 comment

Cedron Dawg shows how to get exact amplitude and phase for a real sinusoid whose frequency does not land on an integer DFT bin. The method treats a small neighborhood of DFT bins as a complex vector, builds two basis vectors from the cosine and sine transforms, and solves a 2x2 system using conjugate dot products to recover real coefficients that give amplitude and phase. A C++ example and sample output verify the formulas.


Instant CIC

Markus NentwigMarkus Nentwig May 8, 20124 comments

Modeling CIC decimators in floating point is simpler than you might think, Markus Nentwig shows, if you treat the filter as a finite FIR by sampling its impulse response. The post compares a naive float time-domain implementation, an FFT-based frequency-domain approach, and the recommended method of computing the impulse response and using an off-the-shelf FIR filter, with code and plots.


Learn About Transmission Lines Using a Discrete-Time Model

Neil RobertsonNeil Robertson January 12, 20222 comments

A simple discrete-time approach makes lossless transmission-line behavior easy to simulate and visualize. The post introduces MATLAB functions tline and wave_movie to model uniform lossless lines with resistive terminations, compute time and frequency responses, and animate travelling waves. A microstrip pulse example shows how reflections produce ringing and how source matching nearly eliminates it, making this a practical learning tool.


FIR Filter to Match Any Magnitude and Phase Response

Dan BoschenDan Boschen September 30, 20252 comments

This post details a technique for designing high quality FIR filters that match arbitrary magnitude and phase responses.


Deconvolution by least squares (Using the power of linear algebra in signal processing).

Agustin BonelliAgustin Bonelli November 12, 20152 comments

When we deal with our normal discrete signal processing operations, like FIR/IIR filtering, convolution, filter design, etc. we normally think of the signals as a constant stream of numbers that we put in a sequence


Collaborative Writing Experiment: Your Favorite DSP Websites

Stephane BoucherStephane Boucher May 30, 2013

Stephane Boucher invites the DSPRelated community to a live Google Docs experiment to crowdsource the best DSP websites. After a successful run with EmbeddedRelated, he opens a shared document where members can add, edit, and curate links in real time. The post explains the simple rules, notes revision rollback protection, and asks readers to refresh and help keep the list useful and spam-free while watching it evolve.


Bank-switched Farrow resampler

Markus NentwigMarkus Nentwig August 13, 20112 comments

Markus Nentwig proposes a bank-switched variant of the Farrow resampler that breaks each impulse-response segment into multiple sub-segments, enabling accurate interpolation with lower-order polynomials and fewer multiplications per output. This trades increased total coefficient storage for computational savings. The post explains the concept, connects it to polyphase FIR interpolation, and provides Matlab/Octave and C example code for practical evaluation.


A New Contender in the Quadrature Oscillator Race

Rick LyonsRick Lyons September 24, 20227 comments

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.


Interpolator Design: Get the Stopbands Right

Neil RobertsonNeil Robertson July 6, 20236 comments

In this article, I present a simple approach for designing interpolators that takes the guesswork out of determining the stopbands.


Reducing IIR Filter Computational Workload

Rick LyonsRick Lyons May 24, 20195 comments

Rick Lyons demonstrates a simple, practical way to cut the multiply count for IIR lowpass and highpass filters by converting them into dual-path allpass structures. The conversion preserves the original magnitude response while drastically reducing multiplies per input sample, for example turning a 5th-order IIR that needs 11 multiplies into an equivalent allpass form needing only five. The linked PDF includes theory, implementation notes, a design example, and MATLAB code.


Simulink-Simulation of SSB demodulation

Josef HoffmannJosef Hoffmann June 13, 20211 comment

This post walks through Simulink models that implement SSB demodulation and modulation, using Richard Lyons' phasing method as a foundation. It shows practical models for simple carrier multiplication and for the phasing method with cosine and -sin paths plus Hilbert filtering, and it highlights sampling, decimation, filter choices, and delay alignment to make the techniques work in simulation.