DTMF信号检测分析(Matlab) |
您所在的位置:网站首页 › 分组检测matlab › DTMF信号检测分析(Matlab) |
基于Matlab平台的DTMF信号检测 1.将录制好的一段按键音读入到Matlab平台; 2.设计带通滤波器,去噪处理(可选); 3.将给个按键音对应的信号一次分割; 4.计算分割后信号的相应的频点值,幅度最大的两个点即为该信号的高低频; 5.显示音频对应的按键数字; 6. 按键的录制与播放(可选)。 1. 双音多频信号(DTMF)基本原理双音多频(dual tone multi-frequency; DTMF)信号是广泛应用在世界范围内按键式电话机上的一种电信标准。DTMF由著名的贝尔实验室发明,主要用于解决远程电话的自动呼叫,代替原本由人工接续的脉冲拨号方式,利用一组低频群和一组高频群进行组合的编码方式,高低频群各由4个频率组成,是使用两个音频段频率的固定组合的多频信令。应用学科:通信科技(一级学科);交换选路(二级学科),近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和来电显示等方面。 电话拨号有两种,脉冲和音频,所谓音频也称双音多频(DTMF)信号的拨号方式,双音多频既是电话拨号时每按一个键,有两个音频频率叠加成一个双音频信号,十二个按键由七个音频频率区分。双音多频信号(DTMF),电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。双音多频信号是贝尔实验室发明的,其目的是为了自动完成长途呼叫。双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。每按一个键就发送一个高频和低频的正弦信号组合,比如'1'相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。 表1 双音多频键盘 1209 Hz 1336 Hz 1477 Hz 1633 Hz 697 Hz 1 2 3 A 770 Hz 4 5 6 B 852 Hz 7 8 9 C 941 Hz * 0 # D 2. DTMF信号时域频域分析原理傅里叶变换FT基本原理 …… (二)基于Matlab平台的DTMF信号检测1.将录制好的一段按键音读入到Matlab平台; [x,fs,bits]=wavread('1.wav'); fs采样率(8149,一般8k);bits位数(32位)
图1 按键音时域波形 2. 分隔各个按键音 plot(x(1:1000))只绘制文件的1到1000点,即对应第一个按键音,波形如图2:
图2 第一个按键音波形 3. 计算信号的相应的频点值,幅度最大的两个点即为该信号的高低频;(频谱泄漏)
(1)关键是分析出对应频谱中的量频率分量大小 需要将点数转换成频率:w=(0:length(F)-1)'*fs/length(F) (2)在分析频谱时,只分析一半即可(参考FT原理) (3)两频率分别对应第69点和132点,则对应的模拟频率(实际频率)为: (4)根据频率查表,得到对应的数字应该为: 参考程序 [x,fs,bits]=wavread('1.wav'); subplot(1,2,1); plot(x(1:800)); y=x(1:800); Y=fft(y); subplot(1,2,2); plot(abs(Y)); soundsc(y,fs); [x,fs]=audioread('E:/MATLAB/R2017a/bin/1.wav'); %第1个数字 %subplot(5,1,1); %plot(x(1:8000)); y=x(1:800); Y=fft(y); subplot(5,2,1); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第2个数字 y=x(1600:2400); Y=fft(y); subplot(5,2,2); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第3个数字 y=x(3200:4200); Y=fft(y); subplot(5,2,3); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第4个数字 y=x(4800:5600); Y=fft(y); subplot(5,2,4); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第5个数字 y=x(6500:7400); Y=fft(y); subplot(5,2,5); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第6个数字 y=x(8134:8959); Y=fft(y); subplot(5,2,6); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第7个数字 y=x(9768:10610); Y=fft(y); subplot(5,2,7); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第8个数字 y=x(11380:12210); Y=fft(y); subplot(5,2,8); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第9个数字 y=x(13020:13840); Y=fft(y); subplot(5,2,9); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); %第10个数字 y=x(14650:15480); Y=fft(y); subplot(5,2,10); plot(abs(Y)); soundsc(y,fs); w=(0:length(y)-1)'*fs/length(y); plot(w,abs(Y)); |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |