Hi,
I have a frequency domain data (that is non-causal). How can I calculate the IFFT in MATLAB so that I can visualize the impulse response behavior of t<0.
Thanks in advance for your response.
Regards,
Rahul
I can only guess as what you are after:
ifft is meant for frequency domain data, not time domain data.
May be you mean ifftshift(x), this will take you to t<0
for example, a fir filter from given amplitude:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
amp = [1, ones(1,150), zeros(1,1000), ones(1,150)]; %frequency domain
h = real(ifft(amp)); %time domain
h = ifftshift(h);
Dear Kaz,
Apologies for the typo, yes, you are right. I have a complex-valued frequency domain data (from a transmission line operating at 0 to 20 GHz) and I am interested in calculating its impulse response in time-domain so to evaluate its time-delay.
BR,
Rahul
As I understand you have frequency domain complex data which is present only for Negative frequencies.All positive frequencies are zero.
In FFT for N frequencies 0 to N/2 is for + ve frequencies.N/2+1 to N-1 is for -Ve frequencies.N/2 for maximum +ve frequnecy ,0 for DC and N/2+1 for maximum -ve frequency.(For Matlab you have to add 1 for index as data is 1 to N and not 0 to N-1).Since +ve frequencies are zero if you take IFFT using Matlab it will represnt complex data which is impulse response in time domain.(It will not be real)