Converting between zero padded and non zero padded FFT
조회 수: 2 (최근 30일)
이전 댓글 표시
I have a signal, x = [1 2 3 4]. I have the fft(x) which is
10.0000
-2.0000 + 2.0000i
-2.0000
-2.0000 - 2.0000i
I want to get the fft for y = [1 2 3 4 0 0 0 0] which is
10.0000
-0.4142 - 7.2426i
-2.0000 + 2.0000i
2.4142 - 1.2426i
-2.0000
2.4142 + 1.2426i
-2.0000 - 2.0000i
-0.4142 + 7.2426i
How can get the fft of y from the fft of x?
댓글 수: 0
채택된 답변
Wayne King
2013년 3월 15일
In this simple case, you have just decreased the separation between adjacent DFT bins by a factor of 2.
y = [1 2 3 4 0 0 0 0];
ydft = fft(y);
ydft = downsample(ydft,2);
% or ydft = ydft(1:2:end);
That will be the same as
xdft = fft(1:4);
but in general, the above won't work.
댓글 수: 2
Honglei Chen
2013년 3월 15일
Hi John, like Wayne said, from y to x is possible but from x to y in general can't be done. Keep in mind that FFT assumes periodicity in both time and frequency domain so the two signals are indeed different in FFT's eye.
추가 답변 (1개)
Youssef Khmou
2013년 3월 15일
hi,
x and y are two different signals in terms of frequencies, you have to compute both ffts, i am not conscious if there are methods for derive ffts for padded signals
댓글 수: 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!