Decimation FFT Result

Signal Processing Asked by HelpMeBro on November 13, 2020

In my Signal Processing class we just learned decimation however after messing around in Matlab trying an example of decimation, I just can’t understand what’s happening.

I get the introducing twi zeros between samples and the after filtering steps however I don’t get how the original signal comes to look like that in the decimated step(EDIT: M=3).

These are the frequency spectrums and the OP is seeing the effects of decimation (upper figure) and interpolation (lower figure). Note the frequency plots are the magnitude of the DFT result, so the left half of the spectrum represents the positive frequencies from $$0$$ (DC) to $$F_s/2$$ (where $$F_s$$ is the sampling rate) and the left half represents the negative frequencies from $$-F_s/2$$ to $$0$$ (nearly so, the bin at "0" only appears once as the first bin). We start with the spectrum in the upper left, which gets decimated to be the spectrum in the upper right. This decimated waveform is then interpolated as shown in the lower two plots recovering the original signal in the spectrum in the lower right. Imperfections in the interpolation filter result in the degraded noise floor in the final result (spectral leakage), suggesting the filter used was far from ideal for interpolation (especially given this isn't a log magnitude plot!).

Decimation by D is filtering the signal first to remove aliases at higher frequencies and then keeping only every D'th sample to result in a lower sampled waveform. Given the first (upper left) spectrum has no higher frequencies or was already filtered, and the result on the right is what would happen if only every 3rd sample was taken (2 samples removed between every 3rd sample.). Decimation without the filter operation is simply "Downsampling".

Interpolation by I is first inserting $$I-1$$ zeros in between every sample which creates 2 image replicas of the spectrum in between the original images (which is what we see happen in the plot on the lower left), which must then be filtered to complete the full interpolation operation (the filter if done right will grow those zeros to the ideal interpolated sample). Interpolation without the filter operation is simply "Upsampling".

I explain this further at this link along with how to design a better interpolation filter: The condition in order to not loose information after upsampling and downsampling

To understand these multi-rate concepts and how the aliasing occurs, it is very helpful to thoroughly understand how the frequency spectrum for sampled waveforms is periodic as explained in this post showing the A/D process and the resulting periodicity in frequency, starting with knowing that convolution in one domain is multiplication in the other: Higher order harmonics during sampling

Correct answer by Dan Boschen on November 13, 2020

Related Questions

Detecting corners using structure tensor matrix

1  Asked on November 25, 2021 by nagabhushan-s-n

How to Extrapolate a 1D Signal?

4  Asked on November 23, 2021

Remove Shadows from Contour of an Object (Grapes)

1  Asked on November 23, 2021 by alon-shmiel

How to Extrapolate a 1D Chirped Signal?

0  Asked on November 23, 2021

Problem converting from Eb/N0 to SNR

1  Asked on November 23, 2021 by researcher9

How to calculate variance of noise on a noisy image (Noise+Signal)

1  Asked on November 23, 2021 by image-check

Group delay plot of a Moving average filter

1  Asked on November 23, 2021

Hello World Example of a Digital Waveguide in JavaScript

0  Asked on November 23, 2021

Confusion calculating length of Kaiser window

1  Asked on November 21, 2021

Algorithms to re-spatialize a stereo recording audio signal?

5  Asked on November 21, 2021 by g6kxjv1ozn

What could cause fast Fourier transform to give complex conjugate of the intended result?

2  Asked on November 21, 2021

Derivation of the LMMSE (Linear Minimum Mean Squared Error) Estimate and the MMSE Under Gaussian Prior

2  Asked on November 21, 2021 by mczhang

signed 2’s complement of a negative number for Integer = 3 and Fraction = 9

1  Asked on November 21, 2021

Efficient double upsampling of a pure real tone

2  Asked on November 15, 2021 by cedron-dawg

Frequency range for STFT in Librosa

1  Asked on November 13, 2021 by cralle

Sampling period

1  Asked on November 13, 2021 by john_hb

Trying to find an intuitive understanding of OQAM/FBMC

1  Asked on November 11, 2021 by ali-khalil

Eroding noisy borders of polygons in an image

1  Asked on November 11, 2021

U-nets : how exaclty is upsampling performed

1  Asked on November 8, 2021

Separating/recovering base signal from two mixed signals, given phase information

1  Asked on November 8, 2021 by rotano