FFT of a signal that is compressed

1 Ansicht (letzte 30 Tage)
John
John am 16 Mär. 2013
If I have a signal of size 2048, is it possible to compress/scale the signal down to size 1024 such that there is some relationship between the FFT of the 2048 sample with the FFT of the 1024 sample. I'm trying to do this because the 2048 signal has a lot of zeros and I'm trying to save some memory in my program.
Is this possible?
  1 Kommentar
John
John am 16 Mär. 2013
Another way to explain this is if I have a sin wave with 2048 data points and I squeeze this sin wave into 1024 data points still maintaining all the peaks and valleys, can I compute the FFT of the 1024 sin wave such that it is equal to the 2048 point sin wave.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 16 Mär. 2013
Bearbeitet: Matt J am 16 Mär. 2013
More or less. If your initial sine wave is of the form
a=sin(2*pi*k0*(0:2047)/2048),
for some integer k0, then plot(abs(fft(a))) will show an impulse at k0+1 and at 2049-k0. Now if you compress it as follows
b=a(1:2:end);
then plot(abs(fft(b))) will still show an impulse at k0+1 and another one at 1025-k0, which correspond to the same spectral locations as before.
So, your new spectrum carries the same information as your old spectrum, assuming you know in advance that the thing is a sine wave of the form I've postulated..

Weitere Antworten (0)

Kategorien

Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by