以下是一段FFT变换后的反变换(用在LMS滤波领域的),照公式输入的,输出a应该是实数,但结果却不是我要的结果。不知道为什么?请教高人。
clear
clc
N=4;
for m=0:(2*N-1)
    for n=0:(2*N-1)
        F2N(m+1,n+1)=exp((-1*j*2*3.1415926*m*n)/(2*N));
    end
end
O=zeros(N,N);
I=eye(N,N);
for m=1:8
    x0(m)=m+4;
end
X0=diag(F2N*x0');
for m=1:8
    x1(m)=m;
end

X1=diag(F2N*x1');

X=[X0 X1];

W1=[O O;O I];

F2NInv = inv(F2N);
G1=F2N*W1*F2NInv;
a=G1*X;