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.
FFT of a signal that is compressed
조회 수: 3 (최근 30일)
이전 댓글 표시
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?
채택된 답변
Matt J
2013년 3월 16일
편집: Matt J
2013년 3월 16일
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..
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!