1
votes

As far as I know the IFFT of spectrum which amplitude part is even symmetric and phase part is odd symmetric should be real.

Let's consider this example:

signal_spectrum = [1 2+i 3+2*i 4+8*i 5 4-8*i 3-2*i 2-i 1];

It's clear that this spectrum meets two conditions that I listed above. When I perform IFFT using Matlab I obtain:

signal= ifft(signal_spectrum) = 
   2.7778          
   0.8003 - 0.2913i
  -1.2861 + 1.0792i
   0.5218 - 0.9038i
  -0.0812 + 0.4604i
   0.0976 + 0.5536i
  -0.6329 - 1.0962i
   1.3343 + 1.1196i
  -2.5316 - 0.9214i

Obtained signal is complex-valued. Why? What's the problem?

1

1 Answers

5
votes

Just remove the last 1 from the vector :) The symmetry should be relative to the first element. You can think of it like circular buffer or one period of a periodical signal.