## Multi-Decimation Stage Filtering: Design and Optimization

●1 commentDuring my research on digital FIR decimation filters I have been developing various Matlab scripts and functions. In which I have decided later on to consolidate it in a form of a toolbox. I have developed this toolbox to assist and...

## Canonic Signed Digit (CSD) Representation of Integers

●1 commentIn my last post I presented Matlab code to synthesize multiplierless FIR filters using Canonic Signed Digit (CSD) coefficients. I included a function dec2csd1.m (repeated here in Appendix A) to convert decimal integers to binary CSD...

## Frequency Translation by Way of Lowpass FIR Filtering

●1 commentSome weeks ago a question appeared on the dsp.related Forum regarding the notion of translating a signal down in frequency and lowpass filtering in a single operation [1]. It is possible to implement such a process by embedding a discrete cosine...

## Minimum Shift Keying (MSK) - A Tutorial

Minimum Shift Keying (MSK) is one of the most spectrally efficient modulation schemes available. Due to its constant envelope, it is resilient to non-linear distortion and was therefore chosen as the modulation technique for the GSM cell phone...

## Round Round Get Around: Why Fixed-Point Right-Shifts Are Just Fine

●1 commentToday’s topic is rounding in embedded systems, or more specifically, why you don’t need to worry about it in many cases.One of the issues faced in computer arithmetic is that exact arithmetic requires an ever-increasing bit length to...

## Some Thoughts on Sampling

●1 commentSome time ago, I came across an interesting problem. In the explanation of sampling process, a representation of impulse sampling shown in Figure 1 below is illustrated in almost every textbook on DSP and communications. The question is: how is...

## Matlab Code to Synthesize Multiplierless FIR Filters

This article presents Matlab code to synthesize multiplierless Finite Impulse Response (FIR) lowpass filters. A filter coefficient can be represented as a sum of powers of 2. For example, if a coefficient = decimal 5 multiplies input x,...

## Wavelets II - Vanishing Moments and Spectral Factorization

●1 commentIn the previous blog post I described the workings of the Fast Wavelet Transform (FWT) and how wavelets and filters are related. As promised, in this article we will see how to construct useful filters. Concretely, we will find a way to calculate...

## The Power Spectrum

●2 commentsOften, when calculating the spectrum of a sampled signal, we are interested in relative powers, and we don't care about the absolute accuracy of the y axis. However, when the sampled signal represents an analog signal, we sometimes need an accurate picture of the analog signal's power in the frequency domain. This post shows how to calculate an accurate power spectrum.

## New Comments System (please help me test it)

I thought it would take me a day or two to implement, it took almost two weeks...But here it is, the new comments systems for blogs, heavily inspired by the forum system I developed earlier this year. Which means that:You can easily add...

## An IIR 'DC Removal' Filter

●2 commentsIt seems to me that DC removal filters (also called "DC blocking filters") have been of some moderate interest recently on the dsprelated.com Forum web page. With that notion in mind I thought I'd post a little information, from Chapter 13 of my "Understanding DSP" book, regarding infinite impulse response (IIR) DC removal filters.

## Canonic Signed Digit (CSD) Representation of Integers

●1 commentIn my last post I presented Matlab code to synthesize multiplierless FIR filters using Canonic Signed Digit (CSD) coefficients. I included a function dec2csd1.m (repeated here in Appendix A) to convert decimal integers to binary CSD...

## Add a Power Marker to a Power Spectral Density (PSD) Plot

Perhaps we should call most Power Spectral Density (PSD) calculations relative PSD, because usually we donâ€™t have to worry about absolute power levels. However, for cases (e.g., measurements or simulations) where we are concerned with...

## Find Aliased ADC or DAC Harmonics (with animation)

When a sinewave is applied to a data converter (ADC or DAC), device nonlinearities produce harmonics. If a harmonic frequency is greater than the Nyquist frequency, the harmonic appears as an alias. In this case, it is not at once...

## Design Square-Root Nyquist Filters

In his book on multirate signal processing, harris presents a nifty technique for designing square-root Nyquist FIR filters with good stopband attenuation [1]. In this post, I describe the method and provide a Matlab function for designing the filters. You can find a Matlab function by harris for designing the filters at [2].

## Sinusoidal Frequency Estimation Based on Time-Domain Samples

●6 commentsThe topic of estimating a noise-free real or complex sinusoid's frequency, based on fast Fourier transform (FFT) samples, has been presented in recent blogs here on dsprelated.com. For completeness, it's worth knowing that simple frequency estimation algorithms exist that do not require FFTs to be performed . Below I present three frequency estimation algorithms that use time-domain samples, and illustrate a very important principle regarding so called "exact" mathematically-derived DSP algorithms.

## Free DSP Books on the Internet

●2 commentsWhile surfing the "net" I have occasionally encountered signal processing books whose chapters could be downloaded to my computer. I started keeping a list of those books and, over the years, that list has grown to over forty books. Perhaps the...

## Discrete Wavelet Transform Filter Bank Implementation (part 2)

●1 commentFollowing the previous blog entry: http://www.dsprelated.com/showarticle/115.php Difference between DWT and DWPT Before getting to the equivalent filter obtention, I first want to talk about the difference between DWT(Discrete Wavelet...

## An s-Plane to z-Plane Mapping Example

While surfing around the Internet recently I encountered the 's-plane to z-plane mapping' diagram shown in Figure 1. At first I thought the diagram was neat because it's a good example of the old English idiom: "A picture is worth a thousand...

## Why Time-Domain Zero Stuffing Produces Multiple Frequency-Domain Spectral Images

●3 commentsThis blog explains why, in the process of time-domain interpolation (sample rate increase), zero stuffing a time sequence with zero-valued samples produces an increased-length time sequence whose spectrum contains replications of the original...