# How to take IFFT of Connes Window?

The Connes Window function is defined as :

w(f)=$(1-(\frac{f}{ \Delta f})^2)^2$ for $f<|\Delta f|$

w(f)=0 otherwise

The inverse fourier transform of this function can be analytically calculated to be a purely real valued function.

However performing IFFT using matlab gives me a complex function whith real and imaginary parts. The code I used in the following:

delta_f=10;

fs=300;

nCyl = 5;

t=0:1/fs:nCyl*1/f;

x=(1-(t/delta_f).^2).^2;

plot(t,x);

NFFT=1024;

X=fftshift(ifft(x,NFFT));

fVals=fs*(-NFFT/2:NFFT/2-1)/NFFT;

plot(fVals,real(X),'b');


I think this discrepancy has something to do with the function being piecewise. Is there something which I am missing?

• is the last sample equal to the first sample? it shouldn't be. it should be cyclic. ifft([1,2,3,4,3,2,1]) is complex but ifft([1,2,3,4,3,2]) is real – endolith Aug 9 '15 at 5:35
• no it still gives imaginary values.but why does that happen to the example you gave? shouldnt the same function same inverse fourier transform? – rsujatha Aug 9 '15 at 5:47
• [1,2,3,4,3,2] is symmetrical, with the first sample occurring right after the last sample. So is [1,0,0,2,0,0], for instance. Anything of the form [a,b,c,d,e,d,c,b] will have a real transform. – endolith Aug 19 '15 at 13:44