DSPRelated.com

Improved Narrowband Lowpass IIR Filters

Rick LyonsRick Lyons November 6, 20101 comment

Rick Lyons presents a practical trick from his DSP book that makes narrowband lowpass IIR filters usable in fixed-point systems. By replacing unit delays with M-length delay lines to form an interpolated-IIR, pole radii and angles are transformed so desired poles fall into quantizer-friendly locations without wider coefficient words or extra multiplies. A following CIC image-reject stage removes replicated passbands to meet tight stopband specs.


A multiuser waterfilling algorithm

Markus NentwigMarkus Nentwig November 5, 20101 comment

Markus Nentwig shares a compact, heuristic multiuser waterfilling algorithm with ready-to-run C code, designed for practical radio resource allocation. The approach uses round-robin user handling, per-user power budgets and a mode switch between fixed-power and waterfilling distributions, and it is easy to extend for constraints or QoS tweaks. The implementation is suboptimal by design, fast, and requires verification before production use.


Code Snippets Section Now LIVE

Stephane BoucherStephane Boucher November 2, 20101 comment

A new code-sharing section on DSPRelated is now live, giving engineers a central place to browse and share DSP code snippets. Take a few minutes to rate and comment on snippets you can judge, or apply to become a contributor and upload your own examples. You can also learn about the contributor reward program and send feedback to help the community grow, says Stephane Boucher.


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.


Personal presentation and greetings

David David October 27, 2010

David Valencia joins DSPRelated from Mexico City and brings hands-on DSP projects and code. He plans to share Spectrum Digital DSK6713 examples covering GPIO control, external memory, and expansion port access, with MATLAB, C and TI DSP C implementations. Expect wavelet transform filter bank code, and occasional FPGA and CPLD notes. Stay tuned for practical, hardware-focused DSP resources.


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.


New Code Sharing Section & Reward Program for Contributors!

Stephane BoucherStephane Boucher October 15, 201012 comments

DSPRelated is launching a new code sharing section and looking for contributors to help seed it with useful DSP snippets. Stephane Boucher also introduces a pageview-based reward program, with payouts tied to unique visits so popular code can earn contributors up to $250. It is a practical push to build a high-quality library for the DSP community from the start.


Fitting Filters to Measured Amplitude Response Data Using invfreqz in Matlab

Julius Orion Smith IIIJulius Orion Smith III October 11, 20102 comments

This post is a redirect notice for a code snippet now hosted elsewhere. If you were looking for the invfreqz example on fitting a filter to measured amplitude response data, this page simply points you to the new location and asks you to update your bookmark.


Radio Frequency Distortion Part II: A power spectrum model

Markus NentwigMarkus Nentwig October 11, 20101 comment

Markus Nentwig presents a power-spectrum model that predicts RF nonlinear distortion from spectral power values instead of time-domain signals. The model computes distortion as repeated convolutions with a frequency-reversed replica and uses an FFT/IFFT trick with real-valued arithmetic for very high efficiency, making it suitable for system-level simulations and interference-aware radios. It is accurate for OFDM-like, Gaussian-amplitude signals when spectral binning is sufficiently fine; narrowband cases require denser bins.


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.


RF in Slow Motion: Sonifying a Wi-Fi 7 Packet

Dan BoschenDan Boschen October 17, 2025

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)?


State Space Representation and the State of Engineering Thinking

Sami AldalahmehSami Aldalahmeh November 23, 20102 comments

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.


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.


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.


DSP Papers, Articles, Theses, etc

Stephane BoucherStephane Boucher March 17, 20111 comment

Stephane Boucher invites the DSP community to help expand DSPRelated's Papers and Theses repository, which currently lists just over 100 documents. He asks contributors to find and submit recent DSP PDFs, ideally from the last ten years, and notes that each approved submission enters the submitter into a draw for Michael Parker's Digital Signal Processing 101; the draw is planned for early April.


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.


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.


Through the tube...

Markus NentwigMarkus Nentwig September 15, 20073 comments

Markus Nentwig explores whether RF power amplifier modeling tricks work for audio tube preamps by modeling a 12AX7 preamp in Matlab. He records input and output with a two-channel reference, fits a simple Wiener-type model, and compares the modeled output to the real tube sound. The model explains over 99 percent of output power and leaves only small residual distortion to investigate further.


A Lesson in Statistics Using Random Sequences

Neil RobertsonNeil Robertson March 14, 20267 comments

Statistics may come naturally to some people, but it is a difficult subject for many of us. Using simulations helps to remove some of the mystery of statistics. Luckily, it is trivial to produce a pseudo-random Gaussian or uniform sequence: a single command in Matlab (or Python) does it. In this article, I try to explain a few concepts using Gaussian and uniform random sequences generated in Matlab. First, we’ll generate a Gaussian sequence, calculate its variance, and plot a histogram and probability density function (PDF). Next, we’ll simulate the roll of a single die to illustrate a uniform distribution. Then we’ll simulate rolling two dice and finally, as an illustration of the Central Limit Theorem, we’ll sum the total when rolling several dice to obtain an approximately Gaussian distribution.


SDR: Does it makes sense? Part 1/2

Praveen RaghavanPraveen Raghavan January 7, 20081 comment

Software-defined radio is still a question mark for deployment, but Praveen Raghavan argues the economics are starting to line up. He points to rising process costs, especially as devices move toward FinFET technologies, and notes that consumer products usually need only a couple of wireless standards at once. That makes multi-standard silicon look more practical than ever, and he tees up the next question, what should actually be software definable?