DSPRelated.com

Unit Testing for Embedded Algorithms

Anthony RickeAnthony Ricke December 21, 2009

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 KootsookosPeter Kootsookos September 16, 20091 comment

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

Eric JacobsenEric Jacobsen May 14, 20088 comments

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 JacobsenEric Jacobsen April 10, 200833 comments

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

Peter KootsookosPeter Kootsookos February 18, 20089 comments
White Lies

Correlation, as one of the first tools DSP users add to their tool box, can automate locating a known signal within a second (usually larger) signal. The expected result of a correlation is a nice sharp peak at the location of the known signal and few, if any, extraneous peaks.

A little thought will show this to be incorrect: correlating a signal with itself is only guaranteed to give a sharp peak if the signal's samples are uncorrelated --- for example if the signal is composed...


Of Forests and Trees and DSP

Tim WescottTim Wescott February 10, 20082 comments

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

Parth VakilParth Vakil February 4, 200821 comments

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 DunnMike Dunn November 12, 20073 comments

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 NentwigMarkus Nentwig October 31, 20078 comments

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.


Resolving 'Can't initialize target CPU' on TI C6000 DSPs - Part 1

Mike DunnMike Dunn October 30, 200715 comments

Misconfigured Code Composer Studio settings cause most 'Can't initialize target CPU' errors on TI C6000 boards, not a faulty silicon. Mike Dunn walks through the practical first steps: confirm your CCS version, identify the exact emulator and board or device part number, and ensure you have the correct emulator driver. The post also shows how to duplicate TI's factory board configuration to avoid common setup mistakes.


Of Forests and Trees and DSP

Tim WescottTim Wescott February 10, 20082 comments

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.


Digging into an Audio Signal and the DSP Process Pipeline

Stephen MorrisStephen Morris March 9, 20206 comments
In this post, I'll look at the benefits of using multiple perspectives when handling signals.A Pre-existing Audio File

Let's say we have an audio file of interest. Let's load it into Audacity and zoom in a little (using View → Zoom → Zoom In, multiple times). The figure illustrates the audio signal: just a basic single-tone signal.

By continuing to zoom into the signal, we eventually get to the point of seeing individual samples as illustrated below. Notice that I've...


State Space Representation and the State of Engineering Thinking

Sami AldalahmehSami Aldalahmeh November 23, 20102 comments

Most, if not all, textbooks in signal processing (SP) thoroughly covers the frequency analysis of signals and systems alike, including the Fourier and the Z-transform that produce the well known Transfer Function. Another way of signal analysis, not as popular in signal processing though, is State Space representation. State space models describes the internal signals of the system or the process and how it affect the output, in contrast to the frequency representation that only describe the...


Matlab Programming Contest

Christopher FeltonChristopher Felton November 10, 2010

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.


An Alternative Form of the Pure Real Tone DFT Bin Value Formula

Cedron DawgCedron Dawg December 17, 2017

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.


Smaller DFTs from bigger DFTs

Aditya DuaAditya Dua January 22, 20198 comments
Introduction

Let's consider the following hypothetical situation: You have a sequence $x$ with $N/2$ points and a black box which can compute the DFT (Discrete Fourier Transform) of an $N$ point sequence. How will you use the black box to compute the $N/2$ point DFT of $x$? While the problem may appear to be a bit contrived, the answer(s) shed light on some basic yet insightful and useful properties of the DFT.

On a related note, the reverse problem of computing an $N$...


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.


New Video: Parametric Oscillations

Tim WescottTim Wescott January 4, 2017

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.


Pentagon Construction Using Complex Numbers

Cedron DawgCedron Dawg October 13, 2023

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.


A Free DSP Laboratory

Stephen MorrisStephen Morris December 18, 2019

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.