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?