[an error occurred while processing this directive]
|
Выполните в MATLAB следующую простенькую программку и все увидите
%------------------------------------------------------------------
t=0:1/8000:0.4;
IN = sin(2*pi*1001*t);
N = 64;
N2 = N / 2;
W = hanning( N );
X = zeros( N , 1 );
Y = zeros( N , 1 );
SZIN = length( IN );
nf = fix( ( SZIN - N ) / N2 + 1 );
OUT = zeros( SZIN , 1 );
LRT1 = zeros( nf , 1 );
LRT2 = zeros( nf , 1 );
for f = 1 : nf,
X( 1 : N2 ) = X( N2 + 1 : N );
X( N2 + 1 : N ) = IN( ( f - 1 ) * N2 + 1 : f * N2 );
Y = fft( W .* X );
Y = ifft( Y );
OUT( ( f - 1 ) * N2 + 1 : f * N2 ) = real( Y( N2 + 1 : N));
end
plot(abs(fft(OUT, 8000)));
grid on;
E-mail: info@telesys.ru