DSPRelated.com

Instant CIC

Markus Nentwig May 8, 20124 comments

Summary:

A floating point model for a CIC decimator, including the frequency response.

Description:

A CIC filter relies on a peculiarity of its fixed-point implementation: Normal operation involves repeated internal overflows that have no effect to the output signal, as they cancel in the following stage.

One way to put it intuitively is that only the speed (and rate of change) of every little "wheel" in the clockworks carries information, but its absolute position is...


Design study: 1:64 interpolating pulse shaping FIR

Markus Nentwig December 26, 20115 comments

This article is the documentation to a code snippet that originated from a discussion on comp.dsp.

The task is to design a root-raised cosine filter with a rolloff of a=0.15 that interpolates to 64x the symbol rate at the input.

The code snippet shows a solution that is relatively straightforward to design and achieves reasonably good efficiency using only FIR filters.

Motivation: “simple solutions?”

Python number crunching faster? Part I

Christopher Felton September 17, 20114 comments

Everyone has their favorite computing platform, regardless if it is Matlab, Octave, Scilab, Mathematica, Mathcad, etc.  I have been using Python and the common numerical and scientific packages available.  Personally, I have found this to be very useful in my work.  Lately there has been some chatter on speeding up Python.

From another project I follow, MyHDL, I was introduced to the Python JIT compiler,


Bank-switched Farrow resampler

Markus Nentwig August 13, 20112 comments
Bank-switched Farrow resampler Summary

A modification of the Farrow structure with reduced computational complexity.Compared to a conventional design, the impulse response is broken into a higher number of segments. Interpolation accuracy is achieved with a lower polynomial order, requiring fewer multiplications per output sample at the expense of a higher overall number of coefficients.

Example code

This code snippet provides a Matlab / Octave implementation.And


FREE Peer-reviewed IEEE signal processing courses

Sami Aldalahmeh April 26, 20111 comment

The IEEE signal processing society is offereing FREE peer reviewed courses, though not many, they are peer reviewed and span differenet topics like; wavelets, speech analysis, and statistical detection.

Enjoy

http://cnx.org/lenses/ieeesps/endorsements?b_start:int=0&-C=


Discrete Wavelet Transform Filter Bank Implementation (part 2)

David December 5, 20109 comments

Following 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 Transform) and DWPT (Discrete Wavelet Packet Transform). The latter is used mostly for image processing.

While DWT has a single "high-pass" branch that filters the signal with the h1 filter, the DWPT separates branches symmetricaly: this means that one...


Matlab Programming Contest

Christopher Felton November 10, 2010

Every 6 months Mathworks hosts an online Matlab programming contest.  If you love or hate Matlab check out the contest.  The group does a really good job putting together the puzzles.  The contest runs for a week and starts today at noon EST (10 Nov 2010).  

If you are an experienced Matlab programmer or new to Matlab it is worth checking out.  Even if you do not intend on submitting solutions.  Also, the problems / puzzles only require the base Matlab...


Discrete Wavelet Transform Filter Bank Implementation (part 1)

David October 27, 20101 comment

UPDATE: Added graphs and code to explain the frequency division of the branches

The focus of this article is to briefly explain an implementation of this transform and several filter bank forms. Theoretical information about DWT can be found elsewhere.

First of all, a 'quick and dirty' simplified explanation of the differences between DFT and DWT:

The DWT (Discrete Wavelet Transform), simply put, is an operation that receives a signal as an input (a vector of data) and...


Least-squares magic bullets? The Moore-Penrose Pseudoinverse

Markus Nentwig October 24, 20109 comments

Hello,

the topic of this brief article is a tool that can be applied to a variety of problems: The Moore-Penrose Pseudoinverse.While maybe not exactly a magic bullet, it gives us least-squares optimal solutions, and that is under many circumstances the best we can reasonably expect.

I'll demonstrate its use on a short example. More details can be found for example on Wikipedia, or the Matlab documentation...


Fitting Filters to Measured Amplitude Response Data Using invfreqz in Matlab

Julius Orion Smith III October 11, 20102 comments

This blog post has been moved to the code snippet section and can now be found HERE.  Please update your bookmark.  Thanks!


Simulink-Simulation of SSB demodulation

Josef Hoffmann June 13, 20211 comment
≥≥≥ Simulink-Simulation of SSB demodulation or modulation from the article “Understanding the ‘Phasing Method’ of Single Sideband Demodulation” by Richard Lyons Josef Hoffmann

The article “Understanding the ‘Phasing Method’ of Single Sideband Demodulation” by Richard Lyons is a very good description of this topic. The block representation from the figures are clear and easy to understand. They are predestined for a simulation in Simulink. The simulation can help...


Accelerating Matlab DSP Code on the GPU

Seth March 25, 20102 comments

Intrigued by GPUs, I've spent a few days testing out Jacket, an interface that lets you accelerate MATLAB (my favorite, if frustrating language) on NVIDIA GPUs. It's definitely got some caveats. But it was really easy to accelerate my code. And the results were impressive. So I thought I'd put up a few simple DSP-related benchmarks I created and ran on my laptop (a Macbook Air with NVIDIA GeForce 9400M graphics card). The m-files for the two functions I benchmarked (2D FFT and 2D...


Interpolator Design: Get the Stopbands Right

Neil Robertson July 6, 20236 comments

In this article, I present a simple approach for designing interpolators that takes the guesswork out of determining the stopbands.


Multi-Decimation Stage Filtering for Sigma Delta ADCs: Design and Optimization

AHMED SHAHEIN March 1, 20176 comments

During 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 automate the process of designing the multi-stage decimation filter(s). The toolbox is published as an open-source at the MathWorks web-site. My dissertation is open for public online as well. The toolbox has a wide set of examples to guide the user...


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

Neil Robertson February 7, 2021

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 absolute power, it would be nice to be able to display it on a PSD plot.  Unfortunately, you can’t read the power directly from the plot.  For example, the plotted spectral peak of a narrowband signal, such as a sinewave, is lower than the...


Determination of the transfer function of passive networks with MATLAB Functions

Josef Hoffmann December 7, 20212 comments

With MATLAB functions, the transfer function of passive networks can be determined relatively easily. The method is explained using the example of a passive low-pass filter of the sixth order, which is shown in Fig.1

Fig.1 Passive low-pass filter of the sixth order

If one tried, as would be logical, to calculate the transfer function starting from the input, it would be quite complicated. On the other hand, if you start from the output, the determination of this function is simple...


The Phase Vocoder Transform

Christian Yost February 12, 2019
1 Introduction

I would like to look at the phase vocoder in a fairly ``abstract'' way today. The purpose of this is to discuss a method for measuring the quality of various phase vocoder algorithms, and building off a proposed measure used in [2]. There will be a bit of time spent in the domain of continuous mathematics, thus defining a phase vocoder function or map rather than an algorithm. We will be using geometric visualizations when possible while pointing out certain group theory...


Fitting Filters to Measured Amplitude Response Data Using invfreqz in Matlab

Julius Orion Smith III October 11, 20102 comments

This blog post has been moved to the code snippet section and can now be found HERE.  Please update your bookmark.  Thanks!


Simple Discrete-Time Modeling of Lossy LC Filters

Neil Robertson April 19, 2023

There are many software applications that allow modeling LC filters in the frequency domain.  But sometimes it is useful to have a time domain model, such as when you need to analyze a mixed analog and DSP system.  For example, the system in Figure 1 includes an LC filter as well as a DSP portion.  The LC filter could be an anti-alias filter, a channel filter, or some other LC network.  For a design using undersampling, the filter would be bandpass [1].  By modeling...


Matlab Programming Contest

Christopher Felton November 10, 2010

Every 6 months Mathworks hosts an online Matlab programming contest.  If you love or hate Matlab check out the contest.  The group does a really good job putting together the puzzles.  The contest runs for a week and starts today at noon EST (10 Nov 2010).  

If you are an experienced Matlab programmer or new to Matlab it is worth checking out.  Even if you do not intend on submitting solutions.  Also, the problems / puzzles only require the base Matlab...