Questions tagged [decimation]

Decimation is a technique for reducing the number of samples in a discrete-time signal.

Decimation is a two-step process:

  1. Low-pass anti-aliasing filter
  2. Downsampling

An example of decimation: the frequency of a recorded sound can be raised an octave (in other words, doubled in frequency) by eliminating every other sample without changing the sampling rate. This will result in aliasing if the sound contains overtones whose (doubled) frequency will exceed half the sampling rate. Decimation aliasing can be avoided by eliminating those overtones with a lowpass filter before downsampling.

Source: Wikipedia

101 questions
21
votes
5 answers

Why would I leave a signal oversampled?

I can't think of a better way for asking this question so I will start with an example. Suppose that I have an input signal with a max frequency of 50Hz (sampled at 100Hz). Now the signals of interest lie in the range 0-5Hz, so I can add a low-pass…
anasimtiaz
  • 1,049
  • 2
  • 10
  • 17
13
votes
1 answer

Downsampling a signal with decimate

I'm experimenting with decimating a signal, in this case a unit impulse. I'm using Python, with pylab. First, I create a unit impulse, and decimate it by 5. x = r_[zeros(0), 1, zeros(100)] N = 2 ** 14 q = 5 y = decimate(x, q,…
Lance
  • 457
  • 1
  • 4
  • 7
10
votes
1 answer

Python's $\tt resample$ vs $\tt resample\_poly$ vs $\tt decimate$

I have multiple signals each measured with a sampling rate 300Hz. They are mostly periodic, although there are some parts of some of the signals, that seem to be random and do not follow the rest of the pattern(could be noise). I want to downsample…
Andreas G.
  • 203
  • 2
  • 7
8
votes
3 answers

Image Pyramid Without Decimation

I have an image processing algorithm which uses Gaussian and Laplacian Pyramid Decomposition. At each level of the pyramid the algorithm decimates the previous level by a factor of 2. The LPF the algorithm uses is Gaussian. I was wondering whether I…
Royi
  • 33,983
  • 4
  • 72
  • 179
7
votes
2 answers

Downsample: resample vs antialias fitlering + decimation

I have a discrete signal sampled @Fs. I need to downsample it to Fs/k. Main reason is to reduce signal bandwidth and speed up computation : I'm only interested in a reduced bandwidth < Fs/2k. Some high frequency noise >> Fs/2k can exist :…
rem
  • 173
  • 5
6
votes
2 answers

Difference between Sub Sampling and Down Scaling of Images

I know that there are many ways to upscale (interpolate) an image using bilinear, bicubic, sinc... Somehow, these same algorithms can also be used to downscale an image. But when it comes to subsampling, I've come across only two methods:…
5
votes
2 answers

Understanding audio downsampling code (JavaScript) and adapting to a different ratio

I inherited responsibility for some audio downsampling code that I don't fully understand: // downsampling variables var filter = [ -0.037935, -0.00089024, 0.040173, 0.019989, 0.0047792, -0.058675, -0.056487, -0.0040653, 0.14527,…
5
votes
3 answers

Upsample / Downsample a Signal from 1920.93Hz to 1920Hz

I've just learned that the A/D converter I am using is not sampling at my desired sampling rate. I request 20 seconds of data at 1920Hz and I receive 38400 points of data that were actually sampled at 1920.93Hz. So for example, if I sample a 30Hz…
salfasano
  • 245
  • 1
  • 3
  • 4
4
votes
4 answers

Decimation filter that throws away every $N$th sample, keeping multiple samples: is it valid?

While working on an existing project, I came across a piece of code that does a decimation filter in a way that I find not obvious. In this code, every 6th sample is being thrown away. The result is being fed to FFT functions, in order to calculate…
ZenJ
  • 141
  • 2
4
votes
1 answer

Can you decimate / downsample a signal in frequency domain just like you can interpolate / upsample it?

To interpolate a signal I can just zero pad it in the frequency domain. If I want to decimate the signal, can I just discard some part of the frequency domain? So in MATLAB this works: sInterpolated = abs(ifft(ifftshift(padarray(fftshift(fft(s)),…
4
votes
1 answer

Timing syncronisation using polyphase decimation filter

This question is regarding application of polyphase decimation filter in symbol time correction. How does choosing a perticular "polyphase branch" in a polyphase decimation filter result in timing adjustment ? Suppose I have a 256:1 decimation…
complex22
  • 63
  • 6
4
votes
2 answers

Design of the low pass filter when decimating

I am filtering an audio signal into various sub-bands in C and would like to decimate the signal by 2 in the lower frequency bands to reduce processing overhead. I get that this involves low-pass filtering the signal and then throwing away every…
learnvst
  • 1,483
  • 2
  • 16
  • 25
3
votes
1 answer

Given a wide band signal with equal SNR over the whole spectrum, what should the stop band attenuation be for a decimation filter?

Imagine an incoming signal with $60$ dB SNR over the whole spectrum. I want to decimate this signal by a factor of, say, $40$, while maintaining a $60$ dB SNR in the remaining frequency range. What should the be stop band attenuation be for a…
Tom Verbeure
  • 442
  • 1
  • 7
3
votes
2 answers

What is the right way to downsample using Fourier method?

I want to know what is the right way to downsample a sampled signal using Fourier transform as the implementation in scipy.signal.resample confuses me. Reading through the code it first converts the signal to frequency domain, then discards the…
3
votes
0 answers

Proper way to implement a decimation

I have an input signal with bandwidth 2.5 MHz. Let's say it's filtered using analog Butterworth low-pass filter. I would like to sample the signal using AD9203 10-bit 40 Msps ADC. If I understand correctly, in this case 5 Msps is enough and I could…
1
2 3 4 5 6 7