Finally got a drone!
Stephane Boucher finally bought a DJI Phantom 4 and found it does more than boost his video production value, it’s also hugely fun to fly. He used the drone for an aerial shot at SEGGER’s anniversary and for a beach project where kids drew a turtle while a separate camera captured a side timelapse. The post highlights creative shot combinations and a reminder to fly where it is legal.
Feedback Controllers - Making Hardware with Firmware. Part 2. Ideal Model Examples
An engineer's guide to building ideal continuous-time models for hardware emulation, using TINA Spice, MATLAB and Simulink to validate controller and circuit behavior. The article shows how a passive R-C network can be emulated by an amplifier, a current measurement and a summer, with Spice, MATLAB and Simulink producing coincident Bode responses. Small phase differences between MATLAB and Simulink are noted, and sampled-data issues are slated for the next installment.
Feedback Controllers - Making Hardware with Firmware. Part I. Introduction
This first post kicks off a series on using DSP and feedback control with mixed-signal electronics and FPGAs to emulate two-terminal circuits and create low latency controllers. It frames circuit emulation as a feedback problem, highlights latency as the key practical constraint, and outlines the planned evaluation hardware, target devices, and software tools that will be used in later MATLAB/Simulink and FPGA work.
Exact Near Instantaneous Frequency Formulas Best at Zero Crossings
Cedron Dawg derives time-domain formulas that yield near-instantaneous frequency estimates optimized for zero crossings of pure tones. Complementing his earlier peak-optimized results, these difference-ratio formulas work for real and complex signals, produce four-sample estimators similar to Turners, and cancel amplitude terms, making them attractive low-latency options for clean tones while warning they degrade in noise and at peaks.
SEGGER's 25th Anniversary Video
Stephane Boucher spent a week at SEGGER's headquarters and distilled that visit into a tight, two-minute 25th anniversary video. The post highlights rising production value, thanks to softbox lighting and a two-camera setup that allows seamless wide-to-tight cuts and emotional close-ups. Stephane invites readers to watch full screen, leave feedback and thumbs-up on YouTube, and suggests future coverage like product launches or companies with happy engineers.
Above-Average Smoothing of Impulsive Noise
In this blog I show a neat noise reduction scheme that has the high-frequency noise reduction behavior of a traditional moving average process but with much better impulsive-noise suppression.
In practice we may be required to make precise measurements in the presence of highly-impulsive noise. Without some sort of analog signal conditioning, or digital signal processing, it can be difficult to obtain stable and repeatable, measurements. This impulsive-noise smoothing trick,...
Went 280km/h (174mph) in a Porsche Panamera in Germany!
Those of you who've been following my blog lately already know that I am going through some sort of mid-life crisis that involves going out there to meet people and make videos. It all started with Embedded World early this year, then continued at ESC Boston a couple of months ago and the latest chapter just concluded as I returned from Germany after spending a week at SEGGER's headquarters to produce a video to highlight their 25th anniversary.
Looking For a Second Toolbox? This One's For Sale
A battered blue toolbox once used by Steve Wozniak during Apple’s early days is now up for auction, complete with a self-adhesive label bearing his name. Rick Lyons notes the 13 x 7 x 5 inch steel box shows heavy wear and includes a three-section lid tray, it currently resides in Italy and is listed with an estimated price around $25,000, shippable to buyers.
Embedded Toolbox: Programmer's Calculator
A tiny but powerful cross-platform tool, QCalc evaluates full C-syntax expressions so you can paste results straight into firmware. It handles bitwise ops, mixed hex/decimal/binary constants, and scientific math, and it automatically shows integer results in formatted hex and binary. The post explains key features, variable handling, error messages, and how to run qcalc.tcl with the wish Tk interpreter.
Ten Little Algorithms, Part 6: Green’s Theorem and Swept-Area Detection
Jason shows how Green's Theorem becomes a practical, low-cost method to detect real-time rotation from two orthogonal sensors by accumulating swept area. The post derives a compact discrete integrator S[n] = S[n-1] + (x[n]*(y[n]-y[n-1]) - y[n]*(x[n]-x[n-1]))/2, compares integer and floating implementations, and analyzes noise scaling and sampling rate tradeoffs. Includes Python demos and threshold guidance.
Off-Topic: A Fluidic Model of the Universe
Cedron Dawg develops a Newtonian, fluidic model where space is a compressible "fluff" and particle motion is governed by a simple refractive steering equation. He shows how rho = ln n links index, permittivity and permeability to a gravity-like potential, derives a massive-particle steering law, and works through orbit and disk solutions that produce MOND-like effects while conflicting with General Relativity. The paper highlights concrete formulas and numerics to test the hypothesis.
Reducing IIR Filter Computational Workload
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.
Setting the 3-dB Cutoff Frequency of an Exponential Averager
Many engineers use a simple exponential averager but need the correct α to achieve a specified 3-dB cutoff. Rick Lyons compares a common approximation with the exact closed-form solution, shows when the approximation is valid, and derives the exact α in the appendix. The approximation works well for fc < 0.1fs, but it becomes noticeably inaccurate as the normalized cutoff increases.
Spline interpolation
Markus Nentwig provides a cookbook for segmented cubic spline interpolation that turns scattered or noisy data into efficient fixed-point functions. The article shows how to build third-order polynomial segments with explicit value and slope control via basis functions, solve scaling factors by least-squares in Octave/Matlab, and export coefficients for Verilog RTL evaluation using the Horner scheme and practical fixed-point tips.
What to See at Embedded World 2019
Skip the overwhelm at Embedded World 2019, Stephane Boucher lays out a practical preview of what to see and how to prioritize your time. The post helps embedded engineers focus on demos, vendor booths, and sessions that matter without getting lost on the show floor. Read it to plan a short, efficient visit that maximizes technical takeaways and networking opportunities.
Reduced-Delay IIR Filters
Rick Lyons investigates a simple 2nd-order IIR modification that reduces passband group delay by just under one sample, inspired by Steve Maslen's reduced-delay concept. He walks through the conversion steps and compares z-plane, magnitude, and group-delay plots for Butterworth, elliptic, and Chebyshev prototypes, showing how zeros shift and stopband attenuation degrades. A linked PDF extends the study to 1st-, 3rd-, and 4th-order cases so you can follow the tradeoffs.
RF in Slow Motion: Sonifying a Wi-Fi 7 Packet
What would a 160 MHz OFDM waveform up in the 5 GHz U-NII band sound like if scaled to audio frequencies to keep the same wavelength (acoustic vs RF)?
How Discrete Signal Interpolation Improves D/A Conversion
Digital interpolation can drastically simplify the analog filtering that follows a DAC, lowering cost and improving output quality. Rick Lyons explains how inserting zeros and applying a digital lowpass filter (interpolation-by-two) raises the effective sample rate, reduces the DAC sin(x)/x droop, and widens the analog filter transition band. The post gives practical intuition and spectral illustrations engineers can reuse in real designs.
A poor man's Simulink
Markus Nentwig built a compact glue layer that embeds NGSPICE into Octave to cosimulate continuous-time circuits and digital control. The article walks through an RC lowpass example, the MEX-based Octave interface, and the breakpoint-driven cosimulation flow, showing how adaptive SPICE integration handles asynchronous and time-triggered events. It presents a practical, low-cost alternative to Simulink for tightly coupled analog-digital system design.
Design of an anti-aliasing filter for a DAC
If you need a practical way to design an anti-aliasing filter for a DAC, this post delivers an Octave/Matlab script that numerically optimizes a Laplace-domain transfer function for linear phase and arbitrary magnitude. The routine models the DAC sample-and-hold sinc response, compensates group delay automatically, and can include an optional multiplierless FIR equalizer. An example shows a 5.4 dB objective improvement and reduced analog Q for easier implementation.
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.
Exact Frequency Formula for a Pure Real Tone in a DFT
Cedron Dawg derives an exact closed form formula to recover the frequency of a pure real sinusoid from three DFT bins, challenging the usual teaching that it is impossible. The derivation solves for cos(alpha) in a bilinear form and gives a computationally efficient implementation (eq.19), with practical notes on implicit Hann-like weighting and choosing the peak bin for robustness.
Algebra's Laws of Powers and Roots: Handle With Care
Rick Lyons shows that familiar power and root rules from algebra can break down when exponents are complex. He tests common identities for two scenarios, real and fully complex exponents, with positive and negative mantissas, and compiles a table of cases that sometimes fail. The post includes MATLAB examples that reproduce counterexamples and a clear warning to numerically verify algebraic steps involving complex powers.
Simple Concepts Explained: Fixed-Point
Fixed-point is the bridge between real-world values and integer arithmetic, and this post makes that bridge tangible with a hands-on ADC-to-gain example. It walks through mapping voltages to Q-format integers, choosing gain resolution in bits, and how multiplication adds bit growth and produces quantization error. Read it to build intuition for practical fixed-point choices when implementing DSP on FPGA or ASIC.
60-Hz Noise and Baseline Drift Reduction in ECG Signal Processing
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 power line noise and unwanted signal baseline drift that often contaminate ECG signals.
PDF_HERE
We'll first describe the ECG noise reduction filter and then examine the filter's performance in a real-world ECG signal filtering example.Proposed ECG Noise Reduction Digital...
An Efficient Lowpass Filter in Octave
Paul Lovell presents an efficient linear-phase lowpass FIR implemented in Octave, built as a Matrix IFIR with two matrix band-edge shaping stages followed by three recursive running-sum stages. The design reshapes input blocks into matrices to exploit interpolation structure and uses cumsum-based moving sums for speed. For a 200 Hz cutoff at 48 kHz the five-stage example ran about 15 times faster than a single-stage FIR.
Going back to Germany!
A couple of blog posts ago, I wrote that the decision to go to ESC Boston ended up being a great one for many different reasons. I came back from the conference energized and really happy that I went.
These feelings were amplified a few days after my return when I received an email from Rolf Segger, the founder of SEGGER Microcontroller (check out their very new website), asking if I would be interested in visiting their headquarters...
ADC Clock Jitter Model, Part 2 – Random Jitter
Neil Robertson shows how to simulate ADC sample-clock random jitter in Matlab, moving from band-limited Gaussian noise to wideband and close-in phase noise. The post highlights practical artifacts such as aliasing of wideband clock noise, the 20*log10 dependence of jitter sidebands on input frequency, and why cubic interpolation plus a custom noise_filter produces accurate rms and spectral results engineers can trust.
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 α.
Errata for the book: 'Understanding Digital Signal Processing'
Rick Lyons collects all errata for every edition and printing of his book Understanding Digital Signal Processing into one centralized list, with downloadable PDFs for each variant. The post also shows how to identify your book's printing number for American 1st, 2nd, and 3rd editions and flags a few oddball versions that lack errata.

















