資源簡(jiǎn)介
使用matlab 對(duì)電話的撥號(hào)音分析
由 電話撥號(hào)聲音 確定撥號(hào)的號(hào)碼
代碼片段和文件信息
clc;clear?all;
Fs=44100;
fs=44100;
xorg?=?wavrecord(6*FsFs);
%[xxfs]=wavread(‘E:\DSP\Phone\123.wav‘);??%fs=44100;
%xorg=xx(:1);
Xishu1=0;
Xishu2=100;
N=length(xorg);
fn=4410;
xn1=N/fn;
xn2=round(N/fn);
xn=xn2;
if?xn2>xn1
????xn=xn2-1;
else
????xn=xn2;
end?
disp(‘你所撥打的號(hào)碼為:‘);
EXxxx=1111;
EXxxx1=1111;
EXxxx2=1111;
Haoma(1)=0;
for?i=3:xn-1
????iii=0;
x=xorg(1+i*fn:fn+i*fn);
N=length(x);
time=(0:N-1)/fs;
freq=(0:N/2)*fs/N;
Y=fft(xN);
y1=Y(round(677*N/fs):round(717*N/fs));?y(1)=abs(max(y1));
y2=Y(round(750*N/fs):round(790*N/fs));?y(2)=abs(max(y2));
y3=Y(round(832*N/fs):round(872*N/fs));?y(3)=abs(max(y3));
y4=Y(round(921*N/fs):round(961*N/fs));?y(4)=abs(max(y4));
n=1;?ymax=y(1);
if?y(2)>ymax
????ymax=y(2);
????n=2;
end
if?y(3)>ymax
????ymax=y(3);
????n=3;
end
if?y(4)>ymax
????ymax=y(4);
????n=4;
end
y=y(1)+y(2)+y(3)+y(4);?y=(y-ymax)/3;
if?ymax/y<8????????%調(diào)節(jié)系數(shù)
????n=1111;
end
y1=Y(round(1189*N/fs):round(1229*N/fs));?y(1)=abs(max(y1));
y2=Y(round(1316*N/fs):round(1356*N/fs));?y(2)=abs(max(y2));
y3=Y(round(1457*N/fs):round(1497*N/fs));?y(3)=abs(max(y3));
y4=Y(round(1613*N/fs):r
評(píng)論
共有 條評(píng)論