Код
M=1024;
x=randn(1,M);
y=randn(1,M);
in = complex(x,y);
S = fft(in);
Xr = [real(S(1)) 0.5.*(real(S(2:M/2)) + real(S(M:-1:M/2+2))) real(S(M/2+1))];
Xi = [0 0.5.*(imag(S(2:M/2)) - imag(S(M:-1:M/2+2))) 0];
Yr = [imag(S(1)) 0.5.*(imag(S(2:M/2)) + imag(S(M:-1:M/2+2))) imag(S(M/2+1))];
Yi = [0 -0.5.*(real(S(2:M/2)) - real(S(M:-1:M/2+2))) 0];
X = complex(Xr,Xi);
X=[X conj(X(M/2:-1:2))];
Y = complex(Yr,Yi);
Y=[Y conj(Y(M/2:-1:2))];
Дополнительно требуется 2*M-4 вещественных сложений и умножений на степень двойки.
Сообщение отредактировал thermit - Jan 18 2010, 09:24