主题:请教用matlab进行傅立叶变换的事情。
以下是一段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;
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;