DSPRelated.com

A Fixed-Point Introduction by Example

Christopher FeltonChristopher Felton April 25, 201122 comments

Christopher Felton walks through binary fixed-point representation with clear examples and a simple W=(wl,iwl,fwl) notation. He argues for designing to range and resolution rather than bit counts, then shows how multiplication and addition affect bit growth and alignment. These concrete examples make it easy to see why rounding, resizing, and radix-point bookkeeping are essential in DSP implementations.


Implementing a full-duplex UART using the TMS320VC33 serial port

Manuel HerreraManuel Herrera March 16, 20112 comments

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.


Discrete Wavelet Transform Filter Bank Implementation (part 2)

David David December 5, 20109 comments

David Valencia walks through practical differences between the discrete wavelet transform and the discrete wavelet packet transform, showing why DWPT yields symmetric frequency resolution while DWT favors a single high-pass branch. He explains how Noble identities let you collapse multi-branch filter banks into equivalent single convolutions, then compares block convolution matrices with chain-processing and links to MATLAB code for both approaches.


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.


Discrete Wavelet Transform Filter Bank Implementation (part 1)

David David October 27, 20101 comment

David Valencia walks through a practical implementation of discrete wavelet transform filter banks, focusing on cascading branches and efficient equivalent filters. He contrasts DWT and DFT resolution behavior and shows how cascading the low-pass branch sharpens frequency division while the high-pass path remains unchanged. Code pointers and a preview of formfilters() demonstrate how to compute only the needed samples by combining filters with upsampling.


Least-squares magic bullets? The Moore-Penrose Pseudoinverse

Markus NentwigMarkus Nentwig October 24, 20109 comments

Markus Nentwig walks through a practical way to remove power-line hum from measurements using the Moore-Penrose pseudoinverse. He builds a harmonic basis, computes pinv(basis) to get least-squares coefficients, and reconstructs and subtracts the hum, with a ready-to-run Matlab example. The post highlights limits and performance: basis-like signal components will be removed, and accuracy improves with the square root of sample count.


Understanding Radio Frequency Distortion

Markus NentwigMarkus Nentwig September 26, 20102 comments

Markus Nentwig breaks down how analog RF nonlinearities appear in a complex baseband model so you can simulate and predistort real transmitters. The article shows that even-order terms vanish in-band under narrowband assumptions, while odd-order products collapse to |BB(t)|^(n-1) BB(t) and do not depend on the carrier frequency. It also explains bandwidth scaling and includes a MATLAB example plus measured PA coefficients.


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.


Implementing a full-duplex UART using the TMS320VC33 serial port

Manuel HerreraManuel Herrera March 16, 20112 comments

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.


Exploring Human Hearing Range

Stephen MorrisStephen Morris October 31, 20204 comments

Audacity makes it simple to explore the limits of human hearing by generating and inspecting single-tone audio. This post walks through creating a 9 kHz sine tone, noticing the default 44,100 Hz sample rate, and verifying the result with Audacity's Plot Spectrum tool. Follow the steps and use low playback volume to safely try higher or lower test frequencies yourself.


Exact Near Instantaneous Frequency Formulas Best at Peaks (Part 1)

Cedron DawgCedron Dawg May 12, 2017

Cedron Dawg presents a new family of exact time-domain formulas to estimate the instantaneous frequency of a single pure tone. The methods generalize a known one-sample formula into k-degree neighbor-pair sums with spacing d, giving exact results in the noiseless case and tunable robustness in noise. The paper explains why real-tone estimates must be taken at peaks and shows the formulas also work for complex tones.


[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.


Exact Near Instantaneous Frequency Formulas Best at Zero Crossings

Cedron DawgCedron Dawg July 20, 2017

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.


Analytic Signal

Mehdi Mehdi November 26, 20155 comments

In communication theory and modulation theory we always deal with two phases: In-phase (I) and Quadrature-phase (Q). The question that I will discuss in this blog is that why we use two phases and not more.


Compressive Sensing - Recovery of Sparse Signals (Part 1)

Mamoon Mamoon November 28, 2015

The amount of data that is generated has been increasing at a substantial rate since the beginning of the digital revolution. The constraints on the sampling and reconstruction of digital signals are derived from the well-known Nyquist-Shannon sampling theorem...


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.


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.


Exact Near Instantaneous Frequency Formulas Best at Peaks (Part 2)

Cedron DawgCedron Dawg June 11, 20174 comments

Cedron Dawg derives a second family of exact time domain formulas for single-tone frequency estimation that trade a few extra calculations for improved noise robustness. Built from [1+cos]^k binomial weighting of neighbor-pair sums, the closed-form estimators are exact and are best evaluated at signal peaks for real tones, while complex tones do not share the zero-crossing limitation. Coefficients up to k=9 are provided.