Hidden Linear Algebra in DSP
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.
Unit Testing for Embedded Algorithms
Unit testing is a best practice for embedded algorithm development, and Anthony Ricke shows how to apply it to DSP code so host and target behave identically. He demonstrates writing unit tests, stubbing Blackfin fixed-point functions in the workstation, and using test-driven development to safely port and optimize an average-calculation example. The SourceForge examples make the approach practical to adopt.
Deesspee #5
Peter Kootsookos's Deesspee #5 is a very short micro-post simply titled "Computers". It acts as a minimalist flag in the Deesspee series pointing readers toward the computing topic on DSPRelated; click through to view the original entry and any context or discussion. This compact post is useful if you track the author's brief topic markers or short-format updates.
Frequency Dependence in Free Space Propagation
Free-space propagation of electromagnetic waves is essentially independent of frequency, a counterintuitive conclusion Eric Jacobsen demonstrates step by step. He shows the λ^2 factor in the Friis transmission equation comes from antenna effective area and gain, not from the space between antennas, explaining why dipoles favor lower bands while dishes improve with frequency. The post also reminds engineers that material penetration and atmospheric absorption remain genuine frequency dependent concerns.
Pulse Shaping in Single-Carrier Communication Systems
Eric Jacobsen clears up common confusion around pulse shaping in single-carrier communications, focusing on matched filtering, Nyquist filtering, and related terminology. He uses the NRZ rectangular pulse as a concrete example to show how the transmit spectrum becomes a sinc envelope when the bitstream has enough randomness, and he highlights how bit patterns and context-sensitive terms can change the observed behavior.
Correlation without pre-whitening is often misleading
Correlation sounds like the obvious way to find a known pattern, but Peter Kootsookos shows why it can go badly wrong on real, nonwhite data. Using an image example with overlapping blobs, he demonstrates that pre-whitening, here done with a simple row difference, can turn a messy correlation result into a sharply localized peak.
Of Forests and Trees and DSP
Too often DSP engineers fixate on algorithms and miss the rest of the product. Tim Wescott uses the humble Korg CA-20 chromatic tuner to show that a great algorithm alone does not make a usable device, you also need good data acquisition, adequate processing, sensible precision, a usable UI, and appropriate casing and cost. The post gives practical do's and don'ts for system-level DSP design.
Instantaneous Frequency Measurement
Measuring carrier frequency quickly and with minimal data matters in radar and signal characterization. Parth Vakil explains the delay-and-multiply instantaneous frequency measurement technique, shows how analytic signals and multiple delays resolve the 2π ambiguity, and demonstrates noise, phase-wrapping, and interferer effects using MATLAB code. He also outlines practical mitigations like phase unwrapping and channelization.
Resolving 'Can't initialize target CPU' on TI C6000 DSPs - Part 2
Mike Dunn walks through practical, low-level debugging to fix "Can't initialize target CPU" on TI C6000 DSPs using CCS 3.3, focusing on XDS510-class emulators. He demonstrates how to run xdsprobe to perform JTAG resets, read and interpret adapter and port error messages, and run JTAG IR/DR integrity tests. The article shows example outputs and a simple scope-based trace to locate signal faults.
A brief look at multipath radio channels
Markus Nentwig walks through a hands-on RF experiment that makes multipath and fading visible using a network analyzer and simple dipole antennas. He shows how reflections produce frequency-domain notches when path differences equal half wavelengths, and how doubling distance increases free-space path loss by roughly 6 dB. The post explains why narrowband signals often see flat fading while wideband links become frequency-selective, motivating OFDM and multi-tap channel models.
Digging into an Audio Signal and the DSP Process Pipeline
Zooming into an audio waveform can be misleading if you rely on only one view. This post compares Audacity with a simple C++ WAV reader and shows how the same samples can look like zero in a GUI, while the raw data reveals a small nonzero value. It is a practical reminder that multiple tools help you inspect and verify signal data more accurately.
Maximum Likelihood Estimation
Any observation has some degree of noise content that makes our observations uncertain. When we try to make conclusions based on noisy observations, we have to separate the dynamics of a signal from noise.
Knowledge Mine for Embedded Systems
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.
Correlation without pre-whitening is often misleading
Correlation sounds like the obvious way to find a known pattern, but Peter Kootsookos shows why it can go badly wrong on real, nonwhite data. Using an image example with overlapping blobs, he demonstrates that pre-whitening, here done with a simple row difference, can turn a messy correlation result into a sharply localized peak.
Multilayer Perceptrons and Event Classification with data from CODEC using Scilab and Weka
For my first blog, I thought I would introduce the reader to Scilab [1] and Weka [2]. In order to illustrate how they work, I will put together a script in Scilab that will sample using the microphone and CODEC on your PC and save the waveform as a CSV file.
Candan's Tweaks of Jacobsen's Frequency Approximation
Cedron Dawg shows how small tweaks to Jacobsen's three-bin frequency estimator turn a popular approximation into an exact formula, and how a modest cubic correction yields a near-exact, low-cost alternative. The article derives an arctan/tan exact recovery, relates it to Candan's 2011/2013 tweaks, and supplies reference C code and numerical tables so engineers can see when each formula is sufficient.
Implementing a full-duplex UART using the TMS320VC33 serial port
You can convert the TMS320VC33's synchronous serial port into a full-duplex UART in software by using DR0/DX0, on-chip timers, and an external interrupt. Manuel Herrera walks through an interrupt-driven 9600 baud, 8N1 asynchronous receiver/transmitter, explains receiver gating by start bit detection, and includes a schematic plus a complete assembly listing with timer values tied to a 150 MHz clock. Adjust timing for different clock rates.
Generating Partially Correlated Random Variables
Designing signals to match a target covariance is simpler than it sounds. This post shows how to build partially correlated complex signals by hand for the two-signal case, then generalizes to N signals using the Cholesky decomposition. Short MATLAB examples demonstrate the two-line implementation and the article highlights numerical caveats when a covariance is only positive semidefinite.
DSP Related Math: Nice Animated GIFs
Stephane Boucher collected a compact set of animated GIFs that make common DSP math click visually. He spotted popular posts on the ECE subreddit and aggregated DSP-focused GIFs in one place to speed intuition and teaching. Examples include the relationship between sin and cos with right triangles, constructing a square wave from an infinite series, and the continuous Fourier transform pair of the rect and sinc functions.
[Book Review] Numpy 1.5 Beginner's Guide
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.
Of Forests and Trees and DSP
Too often DSP engineers fixate on algorithms and miss the rest of the product. Tim Wescott uses the humble Korg CA-20 chromatic tuner to show that a great algorithm alone does not make a usable device, you also need good data acquisition, adequate processing, sensible precision, a usable UI, and appropriate casing and cost. The post gives practical do's and don'ts for system-level DSP design.
State Space Representation and the State of Engineering Thinking
State space is common in control, but it shows up much less often in signal processing. This post argues that the difference is really about engineering priorities: for many DSP problems, transfer functions are enough, while state space becomes valuable when internal behavior matters, like filter scaling or Kalman filtering. It is a short, practical look at why engineers choose one model over the other.
Smaller DFTs from bigger DFTs
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.
Digging into an Audio Signal and the DSP Process Pipeline
Zooming into an audio waveform can be misleading if you rely on only one view. This post compares Audacity with a simple C++ WAV reader and shows how the same samples can look like zero in a GUI, while the raw data reveals a small nonzero value. It is a practical reminder that multiple tools help you inspect and verify signal data more accurately.
Finding the Best Optimum
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.
An Alternative Form of the Pure Real Tone DFT Bin Value Formula
Cedron Dawg derives an alternative exact formula for DFT bin values of a pure real tone, sacrificing algebraic simplicity for better numerical behavior near integer-valued frequencies. By rewriting cosine differences as products of sines and shifting to a delta frame of reference, the derivation avoids catastrophic cancellation and preserves precision for near-integer tones. The analysis also shows the integer-frequency case is a degenerate limit that yields the familiar M/2 e^{iφ} bin value.
Matlab Programming Contest
Love puzzles or want to sharpen your MATLAB skills? Christopher Felton highlights MathWorks' biannual MATLAB programming contest, a week-long set of clever algorithm challenges that require only base MATLAB. Whether you're experienced or new, you can compete, compare solutions, or simply study others' code when later phases disclose submissions. No toolboxes or mex files allowed, so it's a pure programming playground for learning and bragging rights.
Pentagon Construction Using Complex Numbers
A method for constructing a pentagon using a straight edge and a compass is deduced from the complex values of the Fifth Roots of Unity. Analytic values for the points are also derived.
New Video: Parametric Oscillations
Tim Wescott just posted a short new video titled "Parametric Oscillations." It’s a little off-topic for the channel, but he used the project as an excuse to break a months-long posting drought. If you follow his work, this quick update shows how small builds can rekindle momentum and prompt informal explorations of oscillation behavior.
A Free DSP Laboratory
You don't need expensive gear to start exploring audio DSP, free open-source tools are enough. This post shows how to build a simple audio DSP laboratory with Audacity, covering signal generation, playback, waveform zooming, exporting to WAV/MP3/OGG, and viewing spectra. It's a short, practical intro to inspecting signals in both time and frequency domains with minimal setup.























