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.


Polynomial calculations on an FIR filter engine, part 1

Kendall Castor-PerryKendall Castor-Perry October 1, 20192 comments

FIR filter blocks can be repurposed as fast polynomial evaluators, offering hardware acceleration for non-linear compensation, function approximation, and harmonic synthesis, but they require careful scaling and coefficient management. This article outlines when to use binomial or fitted polynomials, compares Horner's nested evaluation with the direct power-sum approach, and highlights precision and overflow pitfalls on fixed-point engines like the Cypress DFB.


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


Engineering the Statistics

Sami AldalahmehSami Aldalahmeh March 26, 20122 comments

Statistical analysis can get messy fast when theory and MATLAB simulations refuse to agree. This post shares a graduate student’s hard-earned shortcuts for taming random variables, from deriving a CDF or moments to using Gaussian or Gamma approximations, and falling back on Chernoff bounds when the exact PDF stays out of reach.


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


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.


Microprocessor Family Tree

Rick LyonsRick Lyons January 10, 20195 comments

Rick Lyons shares a compact, nostalgic microprocessor family tree that highlights early integrated circuits and his fondness for the Intel 8080. The post invites engineers to spot classic chips they remember, pairing brief commentary with a scanned image from Creative Computing, June 1985, copied without permission. It’s a short historical snapshot for anyone interested in vintage CPU lineage.


Polar Coding Notes: A Simple Proof

Lyons ZhangLyons Zhang November 8, 2018

Lyons Zhang presents a compact, elementary derivation of channel polarization for binary-input discrete memoryless channels. The note leverages Mrs. Gerber's Lemma to bound conditional entropies and follows the Alsan-Telatar averaging argument to show mediocre channels vanish. The proof sidesteps martingale convergence and recovers the standard result that the fraction of good channels approaches the channel capacity.


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.


Looking For a Second Toolbox? This One's For Sale

Rick LyonsRick Lyons June 29, 2017

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.