Python number crunching faster? Part I
Christopher Felton walks through simple benchmarks comparing raw Python, numpy, and PyPy for numeric workloads, and shares what surprised him about performance. He shows that idiomatic Python optimizations such as list comprehensions and built-ins plus the PyPy JIT can sometimes beat a numpy approach for small tests, and explains why native PyPy numpy progress matters for scientific users.
More free Ebooks
A handy roundup of free engineering ebooks and journals, with a focus on where DSPRelated readers might actually find useful material. The post points to InTechOpen, highlights several MATLAB books, and even calls out a numerical methods title plus some sensor fusion content. If you like browsing for practical references, this is a good place to start.
Bank-switched Farrow resampler
Markus Nentwig proposes a bank-switched variant of the Farrow resampler that breaks each impulse-response segment into multiple sub-segments, enabling accurate interpolation with lower-order polynomials and fewer multiplications per output. This trades increased total coefficient storage for computational savings. The post explains the concept, connects it to polyphase FIR interpolation, and provides Matlab/Octave and C example code for practical evaluation.
Impulse Response Approximation
A stepped-triangular impulse approximation represents an FIR low-pass using a cascade of recursive running-sum filters, offering big savings in computation. Christopher Felton outlines the quantization step that maps a true impulse into three stepped-triangular types and shows how the approximation is built from recursive running-sum and sparse-sum blocks. Inspect the frequency tradeoffs and decide if the efficiency gain is worth the approximation error.
Orfanidis Textbooks are Available Online
Two classic signal processing textbooks by Sophocles J. Orfanidis are now available for download from his Rutgers webpages. The first, Introduction to Signal Processing, includes errata and a homework solutions manual. The second, Optimum Signal Processing, includes a solutions manual plus MATLAB, C and Fortran code. Note that Prof. Orfanidis retains copyright on both books, All Rights Reserved.
ICASSP 2011 conference lectures online (for free)
For the first time, the oral sessions of ICASSP 2011 were recorded and posted online for free, giving engineers worldwide easy access to the conference. The talks span speech and communication signal processing, plus eclectic topics like bio-inspired methods, where Prof. Sayed uses a distributed LMS model to reproduce group predator and prey behavior. Expect some theoretical material, but many presentations are practical and inspiring for DSP practitioners.
Do Multirate Systems Have Transfer Functions?
Multirate systems can fool you into thinking standard z-domain analysis always applies. Rick Lyons shows why CIC decimation and Hogenauer implementations do not have a single z-domain transfer function from the input to the downsampled output, because downsampling breaks the one-to-one frequency mapping of LTI systems. Use the cascaded-subfilter H(z) up to the decimation point, then explicitly account for aliasing when predicting the decimated spectrum.
FREE Peer-reviewed IEEE signal processing courses
IEEE Signal Processing Society is offering a small set of free, peer-reviewed courses covering topics like wavelets, speech analysis, and statistical detection. The post points to these endorsed materials as a useful way to browse vetted DSP learning resources without paying for formal coursework.
A Fixed-Point Introduction by Example
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.
DSP Algorithm Implementation: A Comprehensive Approach
This post lays out a practical pathway for taking DSP algorithms from high level simulation to production hardware, comparing GPP, DSP, FPGA and ASIC platforms. It presents a stepwise methodology starting with nested loop programs, then exposing parallelism with data flow graphs, using SystemC transaction level modeling to bridge to Verilog or VHDL, and explains why that flow speeds design and simulation.
Autocorrelation and the case of the missing fundamental
A short hands-on exploration shows why we perceive the fundamental pitch even when it's absent from the spectrum. Using saxophone recordings, high-pass filtering, and autocorrelation plots, the post demonstrates that the highest ACF peak often predicts perceived pitch rather than the strongest spectral line. The experiments also show that removing high harmonics eliminates the effect, and that autocorrelation is a useful but incomplete model of pitch perception.
DSPRelated Finally on Twitter!
After resisting social networks, Stephane Boucher announces DSPRelated's move to Twitter and a few site improvements. Users can now sign in once to access DSPRelated, FPGARelated and EmbeddedRelated with the same account, and the site will post updates from @dsprelated, @embeddedrelated and @fpgarelated. To encourage followers, Boucher will occasionally tweet links that award prizes to the first visitors.
50,000th Member Announced!
DSPRelated just crossed a major milestone, 50,000 registered members, and Stephane Boucher celebrates the anniversary by spotlighting the lucky winner, Charlie Tsai, an assistant professor in Taiwan. The post also looks back at more than a decade of community growth and thanks the contributors, authors, and sponsors who helped make the site a go-to DSP resource. It closes with a promise of big improvements ahead in 2010.
Embedded Toolbox: Programmer's Calculator
A tiny but powerful cross-platform tool, QCalc evaluates full C-syntax expressions so you can paste results straight into firmware. It handles bitwise ops, mixed hex/decimal/binary constants, and scientific math, and it automatically shows integer results in formatted hex and binary. The post explains key features, variable handling, error messages, and how to run qcalc.tcl with the wish Tk interpreter.
A Two Bin Solution
Cedron Dawg shows how a real sinusoid's frequency, amplitude and phase can be recovered from only two adjacent DFT bins. The article derives exact two-bin formulas, gives a clear Gambas reference implementation, and demonstrates that accurate parameters can be obtained with very few samples when the tone lies between the bins. It also explains when the method breaks down and how the real-valued unfurling improves robustness.
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.
Stereophonic Amplitude-Panning: A Derivation of the 'Tangent Law'
Rick Lyons presents a clear geometrical derivation of the stereophonic amplitude-panning Tangent Law, filling a gap left by common references. Using vector components and the equidistant speaker assumption to keep signals in phase, he arrives at the Tangent Law and isolates practical gain formulas gL and gR needed to place an apparent source at a desired panning angle. Engineers can apply Eqs. (12) and (14) directly.
Multiplying Two Binary Numbers
Ancient math gives a modern trick for integer multiplication that uses only shifts, parity checks, and additions. Rick Lyons demonstrates the Russian peasant method, shows why it maps to binary right shifts and least-significant-bit tests, and supplies a MATLAB snippet to run the loop. The post also points out a practical tip: put the smaller operand in the halving register to reduce iterations.
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.
Two Easy Ways To Test Multistage CIC Decimation Filters
Rick Lyons shows that you can validate multistage CIC decimation filters with just two obvious tests, no elaborate spectral setup required. Apply a unit-sample impulse to check a combinatorial yout(1) value when D ≥ S, or feed an all-ones step to confirm an S-sample transient followed by a DS steady state; the Appendix ties both checks to Pascal's triangle and binomial math.
TI DSP Predictions
Jeff Brower lays out two bold predictions for Texas Instruments that could reshape the DSP developer ecosystem. He argues TI will offer a supported real-time Linux on their C6x DSPs now that legal obstacles have eased, and that TI may acquire an FPGA company to own the board space around its chips. Read to weigh the technical and strategic impact.
'z' as in 'Zorro': Frequency Masking FIR
Markus Nentwig shows an efficient way to build steep wideband FIR filters by combining upsampled and complementary stages, then masking their spectra. He provides a Matlab and Octave design program that uses a generic least-squares optimizer to place coefficients, letting you explore filter sizes and oversampling while cutting computational cost significantly compared to a conventional symmetric FIR.
Fitting Filters to Measured Amplitude Response Data Using invfreqz in Matlab
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.
Why is Fourier transform broken
Many engineers know the Gibbs phenomenon without grasping its root cause. This post shows that the problem comes from using the incomplete metric space of continuous functions, C[a,b], for Fourier series, and explains how switching to Lp spaces resolves convergence in the mean but allows functions to differ on sets of measure zero. It also reminds readers that Fourier analysis gives no time localization, so be mindful of its limits.
Constrained Integer Behavior
Overflow and underflow are not always bugs, they can be useful in DSP when fixed-width integers wrap during processing. Christopher Felton demonstrates with moving-average (recursive-windowed-averager) and CIC filter examples how 2's complement wraparound in MyHDL's modbv cancels between an integrator and a comb via pole-zero cancellation. He also covers fixed-point resizing choices, saturation versus wrap, and how rounding error can accumulate.
Free DSP Books on the Internet - Part Deux
Rick Lyons updates his curated list of freely downloadable DSP textbooks, adding titles across communications, implementation, spectral analysis, audio restoration, mathematics and music theory. The post highlights readable introductions like Prandoni and Vetterli's Signal Processing for Communications and Vetterli and Kovacevic's Wavelets and Subband Coding, while reminding readers that these copyrighted books are free only for individual download and not for redistribution.
Evaluate Noise Performance of Discrete-Time Differentiators
Differentiators can be wildly different at rejecting noise, even when they share the same usable bandwidth. Neil Robertson introduces the Differentiator Noise Power Ratio, a practical Gaussian-noise metric and a compact formula that uses the filter coefficients to quantify output noise and SNR loss. The post also gives MATLAB guidance for designing and comparing FIR differentiators so you can pick or build filters with much better noise performance.
The Sampling Theorem - An Intuitive Approach
Scott Kurtz from DSPSoundWare.com has put together a video presentation that aims to give DSP engineers an intuitive grasp of the Sampling Theorem. The short, approachable video focuses on conceptual understanding of sampling and aliasing rather than mathematical formality. Watch the presentation on DSPRelated and share your reactions in the post comments to join the discussion.
SDR: Does it makes sense? Part 1/2
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?
New Discussion Group: DSP & FPGA
Stephane Boucher has launched a new discussion group for engineers implementing DSP functions on FPGAs. It is meant to become a focused place for sharing ideas, but he notes it may take a few weeks before enough members join for the discussion to really get going. If FPGA-based DSP is your thing, this is an open invitation to get involved early.



















