Forum Discussion
Altera_Forum
Honored Contributor
17 years agoIFFT Info !
Allo, I would like to have a output of 8192 samples @ 16bits real only with IFFT core. I have a input of 4096 samples@16bits in real only (imaginary is 0) !! It's correct ? I set ...
Altera_Forum
Honored Contributor
17 years agoNo you can't.
Given 4096 points vector in frequency domain(before ifft) your frequency points are relative to your vector size. By doubling the transform you create distortion. If you have Matlab, you can see:
x= real(fft(cos(2*pi**1/10))); % example of your input
y1= real(ifft(x));
y2 = real(ifft(x,8192));
plot(real(y1(1:200)));hold
plot(real(y2(1:200)),'r') Don't get mixed up with zero padding of time vectors or increasing fft resolution(this is possible) An alternative for you is to to repeat a copy of 4096 samples mirrorwise then do ifft on 8192 points, this is equivalent to upsampling in time domain.