0

I just use digital processing signal punctually and right know I need a just simple thing.

I have an IFR in time domain that magnitude and phase are known and the angular frequency as well. I mean, I just know:

w = w0:dw:wf;
H(jw) = modH.*exp(j.*argH)

Applying the inverse Fourier transform, I get the IRF in time domain h(t) that I know that is non-causal. How can I obtain h(t) in MATLAB with a correct time axis?

In advanced, I appreciate any help!

Ferran Buireu
  • 28,630
  • 6
  • 39
  • 67
Agaeme
  • 13
  • 1
  • 4
  • You can either shift the result in time, or use the identity concerning FT of time-shifted data (basically a spiral in complex space). – Ben Voigt Nov 10 '14 at 18:23
  • Often people forget to shift the signal prior to taking the inverse DFT. Perhaps something like `ifft(ifftshift(... ))` is what's wrong. Without more details from you I cannot offer any more help. – AnonSubmitter85 Nov 10 '14 at 19:42
  • @BenVoigt, the curious thing here it is that the result from the ifft it's a complex number. At least for me, it's a surprise, once in time domain the values are not complex. – Agaeme Nov 10 '14 at 19:55
  • @AnonSubmitter85, there is no more details, because I just apply: h(t)=ifft(H(jw)). But, as i said above, curious the complex result. – Agaeme Nov 10 '14 at 19:57
  • @Hugo: A causal signal will have a complex FFT. As long as it is symmetric, when you do IFFT, the time domain signal will be pure real. – Ben Voigt Nov 10 '14 at 21:01

0 Answers0