• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 0 次
    发布日期: 2024-02-02
  • 语言: Matlab
  • 标签: matlab  

资源简介

使用matlab 对电话的拨号音分析 由 电话拨号声音 确定拨号的号码

资源截图

代码片段和文件信息

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(‘你所拨打的号码为:‘);
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        %调节系数
    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

评论

共有 条评论