Professional Documents
Culture Documents
=
=
:
j
frame( 1 );
frame( 2 ) + 2 * s( :, 1 ) .* coef;
1 : N
) = frame( j ) + coef .* s( :, j - 1 ) - s( :,
X( :, i + 1 ) = s( :, N - 1 ) .^ 2 + s( :, N ) .^ 2 coef .* s( :, N - 1 ) .* s( :, N );
end
variance = var( X, 1, 2 );
std = sqrt( variance );
Y = zeros( fNum, frameNum );
threshold = ave + 1 .* std;
threshold( std < 20 ) = 100000;
for i = 1 : 1 : frameNum
Y( :, i ) = X( :, i ) > threshold;
end
Y( :,sum(Y,1) <= 1 ) = 0;
ref
= [];
count = 0;
number = [];
for i = 1 : 1 : frameNum
if sum( Y( :, i ) ) == 0
if ( ~isempty( ref ) && count >= 2 )
index = find( ref == 1 );
number = [ number, dtmf( index( 1 ), index( 2 ) 4 ) ];
end
count = 0;
ref
= [];
elseif sum( Y( :, i ) ) == 2
if ~isempty( ref )
if ~isequal( ref, Y( :, i ) )
display( 'erro' );
end
else
ref = Y( :, i );
end
count = count + 1;
end
end
display( ['Descobri! O nmero do tel : ', number] );