基于MATLAB电话机中的双音多频DTMF信号的产生与检测PDF.
- 格式:pdf
- 大小:188.67 KB
- 文档页数:10
实验四双音多频(DTMF)接收与检测单元实验一、实验目的1.了解电话号码双音多频信号在程控交换系统中的发送和接收方法。
2.熟悉该电路的组成及工作过程。
二、预习要求1.认真预习有关双音多频方面的相关内容。
三、实验仪器仪表1.现代程控交换实验系统一台2.电话机四部3.20MHz 示波器一台四、实验电路工作过程(一)双音多频拨号和脉冲拨号简单介绍在电话机中,有两种拔号方式,即脉冲拨号和双音多频拔号。
双音多频拨号方式中的双音多频是指用两个特定的单音频信号的组合来代表数字或功能,两个单音频的频率不同,所代表的数字和功能也不同,在双音多频电话机中有 16 个按键,其中有 10 个数字键 0-9,6 个功能键*、#、A、 B、C、D,按照组合的原理,它必须有 8 种不同的单音频信号,由于采用的频率有 8 种,故称之为多频,又因为 8 种频率中任意抽出 2 种进行组合。
又称其为 8 中取 2 的编码方法。
表 5-1双音多频,简写 DTMF(DTMF=Dual Tone Multifrequency)图 5-1 一个典型的 DTMF 发送电路原理框图DTMF 发送器的原理与构成如图 5-1 所示,它主要包括:(1) 晶体振荡器——外接晶体(通常采用 3.58MHz)与片内电路构成振荡器,经分频产生参考信号。
(2) 键控可变时钟产生电路——它是一种可控分频比的分频器,通常由 n 级移位寄存器与键控反馈逻辑单元组成。
(3) 正弦波产生电路——它是由正弦波编码器与 D/A 变换器构成,通常,可变速时钟信号先经 5 位寄存器,产生一组 5 位移位代码,再由可编程逻辑阵列(PLA)将其转换成二进制代码,加到 D/A 变换器形成台阶型正弦波。
显然台阶的宽度等于时钟频率的倒数,这样形成的正弦波信号频率必然对应于时钟的速率和按键的号码。
(4) 混合电路——将键盘所对应的行、列正弦波信号(即低、高群 fL 、 fH )相加、混合成双音信号输出。
DTMF 信号的产生与检测一、 实验目的1、 了解语音拨号的产生和原理;2、 理解和掌握DTMF 信号的产生和检测;3、学会使用MATLAB 软件进行仿真分析;二、实验原理实际的拨号系统中,每一个按键都对应着一个高频信号和一个低频信号。
按下一个键之后,就会产生有一个相应的双音频信号。
通过一个窗函数就可以将其检测出来。
但在实际的过程中要考虑拨号时间之间的间隔。
窗的长短要合适,不能让窗同时滑过两个语音信号,否则就检测不出来。
Y[n]=cos(wl*t)+cos(wh*t)采用Goertzel 算法进行谱分析:Goertzel 算法本质上是一种非标准DFT ,它是DTMF 检测器的基础。
利用这种方法从输入信号中提取频谱信息有效且快速。
该算法实际上是利用双极点IIR 滤波器来有效地计算DFT 值。
一般的DFT 在开始处理之前都需要有一定的数据量,而Goertzel 算法的逐点递归结构就有明显的优点,可以有效地提高系统的响应速度。
Goertzel 滤波器在经过一定数量的样点N(等效于DFT 块的大小)后,输出便聚合到一个Go-ertzel 算法的内部变量Vii(n)上,并由它得出幅度的平方。
简单的数学描述如下:(1)递归计算:vdn)=2cos(2kn /N)·vdn .1).vk(n .2)+x(n)其中vd .1)=0,v 。
(-2)=0,x(n)=input ,n 0·N 。
(2)每N 次循环计算一次:Ix(k)12=yk(N)yk+(N)=V ,(N)+Vk2(N .1).2cos(2kn /N)W(N)Vd(N .1)由上面的分析可以看出,Goertzel 算法只需要对行频和列频及其相应的二次谐波,共计8个频点进行能量计算。
因为只需要少数的频率值并且只对这些值进行滤波,所以Goertzel 算法比DFT 快得多。
其中的二次谐波能量能够把DTMF 信号与声音信号区分开来。
Goertezl 算法的系统函数和流图如下图所示。
实验四双音多频信号的合成与检测一实验目的1.理解电话拨号音的合成与检测的基本原理;2.深入理解信号频谱分析理论中相关参数的作用和意义; 3.了解频谱分析在实际工程中的应用实例。
二实验基础双音多频(dual-tone multifrequency, DTMF信号的产生及检测在现代通信系统中有着广泛的应用,家用电话、移动电话以及公共程控交换机(PBX都采用DTMF 信号发送和接收电话拨号号码。
本实验要求利用信号的时域分析和频域分析的基本理论实现DTMF 的合成和检测。
1. DTMF信号合成DTMF 信号由低频组和高频组两组频率信号构成。
按键电话上每个按键都由对应的两个频率组成,如表4.1。
当按下某个键时,所得到的按键信号是由相应两个频率的正弦信号叠加而成。
设x(n为DTMF 信号,产生方式为:x (n =sin (ωH n +sin (ωH n式中:ωH =f s,ωL =f sf s =8KHz 。
DTMF 信号的标准是:在传送过程中每个按键字占用100ms ,其中信号必须持续至少40ms ,且不得多于55ms ,100ms 里的其余时间为静音(无信号)。
表4.1按键频率对应表2. DTMF信号检测DTMF 信号的检测是将信号的两个频率提取出来,从而确定接收到的DTMF 对应的按键。
利用DFT 对DTMF 信号进行N 点的频谱分析,N 的选取决定了频率分辨率以及捕捉N 个样值所需要的时间。
根据谱峰出现的频率点位置m 就可以确定DTMF 信号的频率f k:/k s f kf N =这样计算出的DTMF 信号频率可能与实际的DTMF 信号频率有一定的差别,但可以通过加大N 的选取来减小这种频率差异。
然而从另外一方面来考虑,虽然加大N 值会减小检测频率误差,但这势必会带来捕捉N 个样值所需要的时间增加,从而会对检测的效果造成一定影响。
由DTMF 信号频率所具有的特性不难发现要选取一定的N 值使得计算出的频率和真实的DTMF 信号的频率相一致几乎不可能,而实际中也并不需要计算出来的频率值与其真实频率相一致,只需偏差保持在±1.5%即可认为是DTMF 信号的真实频率。
DSP课程设计实验报告DTMF信号的产生与检测指导老师:时间:1 设计任务书双音多频DTMF(Dual Tone Multi Frequency)信号是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。
这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。
每组分别包括4个频率,据CCITT的建议,国际上采用的这些频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和1633Hz等8种。
在每组频率中分别抽出一个频率进行组合就可以组成16种DTMF编码,从而代表16种不同的数字或功能键,分别记作0~9、*、#、A、B、C、D。
如下图所示。
图1-1 双音多频信号编码示意图要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域搜索两个正弦波的存在。
1.1 实验目的掌握DTMF信号的产生和检测的DSP设计可使学生更加透彻的理解和应用奈奎斯特采样定理,与实际应用相结合,提高学生系统地思考问题和解决实际问题的能力。
通过对DSP 信号处理器及D/A和A/D转换器的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。
1.2 技术指标及设计要求1.2.1 基本部分1)使用C语言编写DSP下DTMF信号的产生程序,要求循环产生0~9、*、#、A、B、C、D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。
2)使用C语言编写DSP下DTMF信号的检测程序,检测到的DTMF编码在CCS调试窗口中显示,要求既不能漏检,也不能重复检出。
3) DTMF 信号的发送与接收分别使用不同的实验板完成。
1.2.2 发挥部分1) 使用一个DSP 工程同时实现DTMF 信号的发送和检测功能。
2) 改进DTMF 信号的规定指标,使每秒内可传送的DTMF 编码加倍。
目录第一章课程设计依据、内容及要求 (1)1.1课程设计依据 (1)1.2课程设计内容 (1)1.3课程设计要求 (1)第二章双音频信号产生与检测的原理和内容 (2)2.1双音频信号产生与检测的原理介绍 (2)2.2 电话中的双音多频(DTMF)信号的产生与检测 (3)2.2.1双音多频信号的产生 (3)2.2.2基于Goertzel算法的双音多频信号检测 (3)第三章仿真程序与运行结果 (6)3.1设计程序 (6)3.2运行结果: (8)第四章设计总结 (9)第一章课程设计依据、内容及要求1.1课程设计依据在掌握数字信号处理相关理论的基础上,根据数字信号处理课程所学知识,利用Matlab软件产生电话中的DTMF信号。
用DFT检测DTMF信号所含有的两个音频频率。
1.2课程设计内容1.双音多频信号的产生,DTMF信号用两个不同频率正弦信号相加,一个高频一个低频。
2. 双音多频信号的检测,在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断对应的十进制数字或符号。
根据教材第3章用DFT对模拟信号进行谱分析的理论,确定三个参数:(1)采样频率Fs;(2)DFT 变换点数N;(3)对信号的观察时间的长度Tp。
这三个参数不能随机选取,要根据对信号频谱分析的要求进行确定。
对信号频谱分析也有三个要求:(1)频率分辨率;(2)谱分析的频谱范围;(3)检测频率的准确性。
1.3课程设计要求1.要求独立完成设计任务。
2.课程设计说明书封面格式要求见《天津城市建设学院课程设计教学工作规范》附表13.课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
4.要求:正确运行程序,任意输人6为电话号码,输出相应的幅度谱,观察程序运行结果,判断程序谱分析的正确性。
5.课设说明书要求:1)说明题目的设计原理和思路、采用方法及程序。
2)详细说明调试方法和调试过程,并给程序加注释。
12第二章 双音频信号产生与检测的原理和内容2.1双音频信号产生与检测的原理介绍双音多频(Dual Tone Multi Frequency, DTMF )信号是音频电话中的拨号信号,由美国AT&T 贝尔公司实验室研制,并用于电话网络中。
DTMF双音多频信号的检测function pushbutton1_Callback(hObject, eventdata, handles)global x %全局定义xf1=[697,770,852,941]; %DTFM的频率范围f2=[1209,1336,1477]; %DTFM的频率范围n=0:200 %n从0到200x=cos(2*pi*n*f1(1)/8000)+cos(2*pi*n*f2(1)/8000); %按下“1”所对应的函数sound(x,8000); %播放按键声音axes(handles.axes1); %对axes1进行操作plot(n,x); %画图xlabel('时域t'); %设置横坐标标题title('y=cos(2*679πt)+cos(2*1209πt)'); %设置axes1的标题set(handles.text1,'string','你按的是1'); %提示用户按下的数字function pushbutton13_Callback(hObject, eventdata, handles)global N fs T F k x %定义变量N=205;fs=8000;T=1/8000;F=1/(N*T); %变量赋值 N:点数xf=fft(x,N); %进行fft计算,计算N点的DFTxf=xf(1:N/2+1); %取前N/2+1个点mag=abs(xf); %mag等于xf幅值k=1:103; %k从1到103f=k*fs/N; %转换横坐标为频率axes(handles.axes2); %对axes2操作plot(f,mag); %画频率-幅度图h=(abs(mag)>=80) %h为幅度判断点,判断幅度是否大于80(不一定为80)if (h(19)==1)&(h(32)==1) %判断幅度大于80的点,以此来识别按下的数字,下同 k=1;set(handles.edit1,'string',k); %输出识别结果到edit1elseif(h(19)==1)&(h(35)==1)k=2;set(handles.edit1,'string',k);。
实验4 双音多频(DTMF )接收与检测实验一、实验目的1.观测电话机发送的DT M F 信号波形;2.了解电话号码双音多频信号在程控交换系统中的接收和检测方法; 3.熟悉该电路的组成结构及工作过程。
二、实验电路工作过程DTMF 接收器包括D T MF 分组滤波器和D T MF 译码器,其基本原理如图4-1所示。
DTMF 接收器先经高、低群带通滤器进行fL / f H 区分,然后过零检测、比较,得到相应于D T MF 的两路f L 、fH 信号输出。
该两路信号经译码、锁存、缓冲,恢复成对应于16种D T MF 信号音对的4比特二进制码(D 1~D4)。
图4-1 典型DTM F 接收器原理框图图4-2 MT8870芯片管脚排列在本实验系统电路中,DTMF 接收器采用的是M T8870芯片。
图4-2为管脚排列图。
1.电路的基本特性(1)提供DTM F 信号分离滤波和译码功能,输出相应16种DTM F 频率组合的4位 并行二进制码。
(2)可外接3.5795M H z 晶体,与内含振荡器产生基准频率信号。
(3)具有抑制拨号音和模拟信号输入增益可调的能力。
(4)二进制码为三态输出。
18VDDD1 D2 D3 D4(4)提供基准电压(VDD\2)输出。
(5)电源+5V(6)功耗15mw(7)工艺CMOS(8)封装18引线双列直插2.管脚简要说明IN+ ,IN-运放同、反相输入端,模拟信号或D T MF信号从此端输入。
FB 运放输出端,外接反馈电阻可调节输入放大器的增益。
VREF 基准电压输出。
IC 内部连接端,应接地。
OSC1,OSC0振荡器输入、输出端,两端外接3.5795MH z晶体。
EN 数据输出允许端,若为高电平输入,即允许D01~D04输出,若为低电平输入,则禁止D01~D04输出。
DTMF信号的产生及检测DTMF信号的产生及检测----在MATLAB环境下的仿真实现DTMF(Double T one Multi Frequency,双音多频)作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。
但绝大部分是用作电话的音频拨号。
另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。
研究其在MA TLAB下的仿真实现有助于其具体系统的优化设计。
一. DTMF 的原理DTMF 是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。
两个单音频的频率不同,代表的数字或实现的功能也不同。
这种电话机中通常有16个按键,其中有10个数字键0~9和6个功能键*、#、A 、B 、C 、D 。
由于按照组合原理,一般应有8种不同的单音频信号。
因此可采用的频率也有8种,故称之为多频,又因它采用从8种频率中任意抽出2种进行组合来进行编码,所以又称之为“8中取2”的编码技术。
根据CCITT 的建议,国际上采用的多种频率为687Hz 、770Hz 、852Hz 、941Hz 、1209Hz 、1336Hz 、1477Hz 和1633Hz 等8种。
用这8种频率可形成16种不同的组合,从而代表16种不同的数字或功能键,具体组合见下表1:二.DTMF 信号的产生:首先来分析下正弦信号的产生算法和抽样频率频率选取。
设有一系统:其传输函数H (z )没有零点,只有一对处在单位圆上的共扼的极点,则单位冲击响应为恒幅度的振荡,即产生了正弦信号。
1212()1b H z a za z--=++其中:00sin b A w =102cos a w =- 21a =相位信息:1,2jwP e±=时域单位冲激响应:0()sin((1))()h n A n w u n =+?然后,由两个不同频率的正弦信号叠加而成来模拟双音频信号,有上面的式子可得: y(n)=h1(n)+h2(n). ( h1(n)为具有行频的正弦信号,h2(n)为具有列频的正弦信号)根据A T&T 技术规范:(1)数字号码最大传输速度为每秒10个,即一个号码占100ms 时间片。
沈阳工程学院学生实验报告实验室名称:通信实验室课程名称:数字传输技术实验名称:双音多频电话拨号音产生实验实验日期:2015年11月6日班级:通信32 姓名:张翼学号:2013312211指导教师:何思远成绩:一、实验目的1. 理解双音多频电话拨号音产生的原理。
2. 掌握使用MATLAB语言产生双音多频电话拨号音的方法。
二、实验原理电话拨号产生的电话号码是通过双音多频(DTMF)格式从电话机传送给交换机的。
所谓双音多频,就是利用两个规定频率的正弦波去代表电话机的某一个按键,当按下某按键时,就发送相应的一组正弦波。
交换机一方通过检测这组正弦波的频率来识别相应的号码信息。
DTMF规定的电话拨号按键与发送正弦波频率组的对应关系如图1所示。
图1 DTMF规定的电话拨号按键与发送正弦波频率组的对应关系此外,Matlab也提供了关于电话拨号的演示程序phone。
图2为使用phone命令打开的演示窗口。
图2 Matlab中的phone演示窗口三、实验内容及要求根据双音多频电话拨号音产生的原理,用一个函数文件(Function File)产生双音多频电话拨号音。
要求该函数能够根据输入的电话号码产生拨号音频,每个号码的DTMF音持续时间为0.3秒,拨号间隔为0.1秒。
四、程序代码function y=myphone(num_str)%输入num_str为电话号码字符串,为1.2.3.4.5.6.7.5.6.0.*.#%输出为相应的拨号音效矩阵%如果不给出输出变量,则从声卡输出拨号音频freq_low=[697 770 852 941]; %低频频率freq_Hgh=[1209 1336 1477]; %高频频率time_of_num=0.3; %每个号码的DTMF音持续时间Fs=8000; %信号采集率wav=inline('0.25*sin(2*pi*p(1)*[1/p(3):1/p(3):p(4)])+0.25*sin(2*pi*p(2)*[1/p(3):1/p(3):p(4)])','p'); %P=[fL,fH,time_of_num]%参数的含义:[高频率,低频率,采样率,持续时间]XX=[]; %提高运行速度for k=1:length(num_str)switch num_str(k) %根据拨号确定双音频对case '1'fL=freq_low(1);fH=freq_Hgh(1);case '2'fL=freq_low(1);fH=freq_Hgh(2);case '3'fL=freq_low(1);fH=freq_Hgh(3);case '4'fL=freq_low(2);fH=freq_Hgh(1);case '5'fL=freq_low(2);fH=freq_Hgh(2);case '6'fL=freq_low(2);fH=freq_Hgh(3);case '7'fL=freq_low(3);fH=freq_Hgh(1);case '8'fL=freq_low(3);fH=freq_Hgh(2);case '9'fL=freq_low(3);fH=freq_Hgh(3);case '0'fL=freq_low(4);fH=freq_Hgh(2);case '*'fL=freq_low(4);fH=freq_Hgh(1);case '#'fL=freq_low(4);fH=freq_Hgh(3);otherwiseerror('输入号码错误');endX=wav([fL,fH,Fs,time_of_num]); %产生拨号频率信号X=[X,zeros(1,Fs*0.1)]; %添加拨号间隔XX=[XX,X]; %多个拨号顺序合成endif nargout==1y=XX; %返回else %如果无返回变量,则播放声音,并做出波形图sound(XX,Fs);plot([1:length(XX)]./Fs,XX);axis([0 length(XX)/Fs -1 1]);xlabel('time(sec)');title(['The telephone number is : ',num_str]);end编辑并存盘为myphone.m后,执行:(1)myphone('31975555');从声卡输出拨号DTMF音,并显示出拨号波形图,如图3所示。
基于MATLAB的双音多频信号识别作者:刘晓芳冯克迁来源:《科技视界》 2013年第21期刘晓芳冯克迁(河南师范大学计算机与信息工程学院,河南新乡453007)【摘要】本文采用FFT和戈泽尔算法对计算机模拟产生双音多频信号进行检测;并基于短时能量和过零率,分割一串语音信号;考虑到录制信号含有噪声,提出将双声道合并成单声道,进而增强了语音,同时,设计出高低群双边带带通滤波器,得到了就很好的检测效果,使得两种算法也更好的适应于含噪信号的检测。
【关键词】DTMF;FFT单声道;戈泽尔算法;高低群双边带带通滤波器作者简介:刘晓芳(1991.02—),女,河南周口人,本科,河南师范大学,信号处理专业。
冯克迁(1992.06—),男,河南济源人,本科,河南师范大学,信号处理专业。
0 引言DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器,在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理与识别。
对DTMF信号进行检测是DTMF技术应用的关键,一般的文献中也只给出了计算机模拟的DTMF信号的检测[1]。
本文用FFT算法和戈泽尔算法分别分析了计算机模拟下的DTMF信号的检测;并设计双边带的带通滤波器,对实际通信中带有噪声的音频信号进行分析,能清晰的分出来语音信号。
1 FFT算法的单音信号的识别1.1 电话按键语音信号电话号码键的信号是由低频、高频两个信号的余弦表达式合成的:yi=sin2πfLt+sin2πfHt,其中fL、fH分别代表合成电话信号键i的高低频率,如表1所示。
1.2 FFT算法识别电话按键用Windows自带的声卡采集录制语音信号。
yi为连续的语音信号,而计算机处理的却是离散的信号,针对于这种问题采用奈奎斯特采样定理对信号进行采样,fs为抽样频率,Ts为采样间隔,得到信号的离散表示:对yn进行N点的FFT变换得到yn的频域表达式Yn。