[an error occurred while processing this directive]
|
Это понятно.
А посмотрите вот на это (в inet'e нашел).
Здесь нелинейных искажений на выходе нет, но почему делается такое объединение - не понятно.
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 );
Y0 = zeros( N , 1 );
Z = zeros( N2 , 1 );
D = 0.01 * ones( N2 , 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( Y0( N2 + 1 : N) + Y( 1 : N2 ) );
Y0 = Y
end
plot(abs(fft(OUT, 8000)));
grid on;
E-mail: info@telesys.ru