完整版DTMF信号系统的Matlab仿真毕业设计.docx
- 文档编号:26708240
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:24
- 大小:224.46KB
完整版DTMF信号系统的Matlab仿真毕业设计.docx
《完整版DTMF信号系统的Matlab仿真毕业设计.docx》由会员分享,可在线阅读,更多相关《完整版DTMF信号系统的Matlab仿真毕业设计.docx(24页珍藏版)》请在冰豆网上搜索。
完整版DTMF信号系统的Matlab仿真毕业设计
以下文档格式全部为word格式,下载后您可以任意修改编辑。
DTMF信号系统的Matlab仿真
摘要
双音多频(DualToneMultiFrequency,DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。
这种信号制式具有很高的拨号速度,且容易自动检测识别,很快就代替了原有的用脉冲计数方式的拨号制式。
这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其他通信系统中,用于电子邮件和银行系统中。
这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。
DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了DA变换器;在接收端用AD变换器将其转换成数字信号,并进行数字信号处理。
本文着重介绍了一种快速的频率检测算法——GEORTZEL算法的原理,以及该算法在双音多频拨号检测系统中的应用。
并根据此算法设计出了相应的滤波器,利用MATLAB在计算机上对双音多频的信令产生及检测接收系统进行了仿真测试。
关键词:
双音多频,Goertzel算法,数字信号处理,傅里叶变换;
Ⅰ
Abstract
Dual-tonemulti-frequencysignaling(DTMF)istonedialingsignals,developedbyAT&T,andusedintelephonenetworks.Thissignalsystem,soontooktheplaceoftheoriginaldial-upformofpulsecountingmethodused.Thisdual-tonemulti-frequencysignalingsystemisnotonlyusedinthetelephonenetwork,canalsobeusedinothercommunicationsystemstotransferdecimaldata,e-mailandbankingsystem.ThesesystemuserscanselectsendDTMFsignalsbytelephonevoicemenuforoperation.
DTMFsignalingsystemisatypicalsmallsignalprocessingsystem,itistousedigitalmethodstoproducetheanalogsignalandtransmission,whichalsousedtheDAconverter;atthereceivingendwithDAconvertertoconvertitintoaditigalsignal,anddigitalsignalprocessing.Thisarticlespeciallyintroducedthetheoryofafastcheckalgorithm--GEORTZELalgorithm,anditsapplicationindetectingthedoubletonemultifrequencysystem.Wedesignedthecorrespondingfilteraccordingtothealgorithmthesametime,andweimitatethewholedialingprocessofthesystemthroughtheMATLABinthecomputeratlast.
Keywords:
Dual-tonemulti-frequency(DTMF);GEORTZELalgorithm;Digitalsignalprocessing (DSP);Fouriertransfer;
Ⅱ
目录
摘要………………………………………………………………………………Ⅰ
Abstract……………………………………………………………………………Ⅱ
1.绪论…………………………………………………………………………………1
1.1引言…………………………………………………………………………1
1.2数字信号简介………………………………………………………………1
1.3数字滤波器…………………………………………………………………3
1.4频率分析……………………………………………………………………4
1.4.1傅里叶级数及傅里叶变换…………………………………………4
1.4.2Z变换及系统函数………………………………………………4
1.4.3离散系统傅里叶变换(DFT)………………………………………5
2.双音多频(DTMF)通信系统………………………………………………………6
2.1双音多频(DTMF)信号简介………………………………………………6
2.2双音多频(DTMF)信号的产生……………………………………………6
2.3双音多频(DTMF)信号的检测……………………………………………7
3.戈泽尔(Goertzel)算法…………………………………………………………11
3.1戈泽尔(Goertzel)算法原理……………………………………………11
3.2戈泽尔(Goertzel)算法程序……………………………………………13
4.检测双音多频信号(DTMF)的DFT参数…………………………………………14
4.1频谱分析的分辨率………………………………………………………14
4.2频谱分析的频率范围……………………………………………………14
4.3检测频率的准确性………………………………………………………14
5.双音多频(DTMF)系统的Matlab实现…………………………………………16
5.1Matlab简介………………………………………………………………16
5.2双音多频(DTMF)系统的仿真……………………………………………17
6.结束语……………………………………………………………………………21
致谢…………………………………………………………………………………22
参考文献……………………………………………………………………………23
1绪论
1.1引言
双音多频(DualToneMultiFrequency,DTMF)信号,由美国AT&T贝尔实验室研制,用于音频电话网络中的拨号信号。
一方面这种信号具有非常高的拨号速度,另一方面它便于自动检测识别及电话业务的拓展,所以很快代替了原有的脉冲计数方式的拨号形式。
自1876年美国贝尔发明电话以来,电话交换技术发展主要经历了三个阶段:
人工交换、机电交换、电子交换。
早在1878年就出现了人工供电制交换机,它借助话务员进行话务连接。
15年后步进制的交换机问世,这种交换机属于“直接控制”方式,用户通过话机拨号脉冲直接控制步进接续器做升降和旋转动作。
从而自动完成用户间的接续。
这种交换机虽然实现了自动接续,但存在着速度慢、效率低、杂音大与机械磨损严重等缺点。
直到1938年发明了纵横制交换机由直接控制过渡到间接控制方式,随后又出现了电子交换机及程控交换机等。
用户的拨号脉冲不再直接控制接线器动作,而先由记发器接收、存储,然后通过标志器驱动接线器,以完成用户间接续。
由于标志器记取的是标识信号,所以可以不采用不稳定的脉冲计数方式,逐步发展到数字号码标识,所以快速、稳定灵活的DTMF音频拨号方式取代了脉冲计数方式。
本文主要阐述GOERTZEL算法在双音拨号系统中的应用,并利用Matlab的强大功能,用软件实现DTMF(双音多频)信号的检测。
1.2数字信号简介
信号是反映消息的物理量,是消息的表现形式。
由于非电的物理量可以通过各种传感器较容易地转换成电信号,而电信号又容易传送和控制,所以使其成为应用最广的信号。
电信号是指随着时间而变化的电压或电流,因此在数学描述上可将它表示为时间的函数,并可画出其波形。
信息可以通过电信号进行传送、交换、存储、提取等。
电信号的形式是多种多样的,可以从不同的角度进行分类。
根据信号的随机
性可以分为确定信号和随机信号;根据信号的周期性可分为周期信号和非周期信
1
号;根据信号的连续性可以分为连续时间信号和离散信号;在电子线路中将信号分为模拟信号和数字信号。
我们每天遇到的信号,大部分都是模拟信号。
离散时间信号只被定义在一种特定的时间瞬间集合上,表现为具有连续数值范围的数值序列。
而数字信号在时间上和幅值上都有离散的数字。
因此在实际的操作中,数字信号更容易处理。
随着数字电子技术的发展,在语音处理、通信控制、图象处理等领域DSP(DigitalSignalProcessor数字信号处理器)也得到了越来越广泛的应用。
数字通信抗干扰能力强、无噪声积累,由于数字信号的幅值为有限个离散值(通常取两个幅值),在传输过程中虽然也受到噪声的干扰,但当信噪比恶化到一定程度时,即在适当的距离采用判决再生的方法,再生成没有噪声干扰的和原发送端一样的数字信号,所以可实现长距离高质量的传输。
较之传统的方法,数字信号处理系统自身有着无可比拟的优点:
(1)便于加密处理
信息传输的安全性和保密性越来越重要,数字通信的加密处理的比模拟通信容易得多,以话音信号为例,经过数字变换后的信号可用简单的数字逻辑运算进行加密、解密处理。
(2)便于存储、处理和交换
数字通信的信号形式和计算机所用信号一致,都是二进制代码,因此便于与计算机联网,也便于用计算机对数字信号进行存储、处理和交换,可使通信网的管理、维护实现自动化、智能化。
(3)设备便于集成化、微型
数字通信采用时分多路复用,不需要体积较大的滤波器。
设备中大部分电路是数字电路,可用大规模和超大规模集成电路实现,因此体积小、功耗低。
(4)便于构成综合数字网和综合业务数字网
采用数字传输方式,可以通过程控数字交换设备进行数字交换,以实现传输和交换的综合。
另外,电话业务和各种非话业务都可以实现数字化,构成综合业务数字网。
2
(5)占用信道频带较宽
一路模拟电话的频带为4kHz带宽,一路数字电话约占64kHz,这是模拟通信目前仍有生命力的主要原因。
随着宽频带信道(光缆、数字微波)的大量利用以及数字信号处理技术的发展,数字电话的带宽问题已不是主要问题了。
1.3数字滤波器
数字滤波器由数字加法器、单位延时和常数乘法器组成的一种算法或装置。
数字滤波器的功能是对输入离散信号的数字代码进行运算处理,即把输入序列通过一定的运算变换成输出序列,以达到改变信号频谱的目的。
数学公示表示如下:
(1.3-1)
通常可以用两种方法实现数字滤波器:
一种方法是把滤波器所完成的运算编成程序并让计算机执行,也就是采用就算机软件实现;另一种方法是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现。
存在着两种数字滤波器的的基本类型:
无限长单位冲击响应(IIR)滤波器和有限长单位冲击响应(FIR)滤波器。
它们的系统函数分别为:
(1.3-2)
(1.3-3)
式(1.3-2)中的H(Z)称为N阶IIR滤波器函数式,(1.3-3)中的H(Z)称为N-1阶FIR滤波器函数。
无限长单位冲激响应(IIR)滤波器的单位冲激响应h(n)是无限长的;系统函数H(Z)在有限Z平面(0<︱Z︱﹤∞)上有极点存在;结构上存在着输出到输入的反馈,也就是结构上是递归型的。
1.4频率分析
3
任何给定信号的频率分析,都包含着时域信号向其频率分量的转换。
之所以要在频域内对信号进行描述,因为在实现信号处理时,通常都利用以频率响应形式描述的系统。
而这些频域信号处理概念时傅立叶变换是必不可少的。
同时Z变换对进行数字系统分析和实现也极其重要。
1.4.1傅立叶级数及傅立叶变换
任何周期信号X(t)均可以表示为无穷多个谐波调谐相关的正弦波和复指数之和。
具有周期T0(秒)周期信号x(t),其基本的数学表达式为具有系列定义的傅立叶级数:
(1.4.1-1)
式中Ck为傅立叶级系数,第k个傅立叶系数Ck可以表示为
(1.4.1-2)
用周期信号的傅立叶级数通过极限的方法导出的非周期信号的频谱表示式,称为傅立叶变换:
傅立叶逆变换:
(1.4.1-3)
傅立叶正变换:
=(1.4.1-4)
1.4.2Z变换及系统函数
对于离散时间系统来说,与拉普拉斯对应的变换是是Z变换,Z变换提供了离散时间信号和系统的频域描述,并为数字滤波器的设计和实现,提供了有力的工具。
序列x(n)的Z变换定义为:
(1.4.2-1)
式中z是一个复变量,定义中对n求和是在+∞和-∞之间求和,称为双边
Z变换。
还有一种称为单边Z变换的定义,如下式:
4
(1.4.2-2)
将系统的单位脉冲响应h(n)进行Z变换,得到H(z),一般称H(z)为系统的系统函数,它表征了系统的频域特性。
对N阶差分方程进行Z变换,得到系统函数的一般表示式
(1.4.2-3)
令Z=ejω即得系统的传输函数H(ejω)。
1.4.3离散系统傅立叶变换(DFT)
离散傅立叶变换是针对有限长序列或周期序列从存在的,相当把序列的连续傅立叶变换加以抽样,频率的离散化造成时间函数也呈周期,故级数应限制在一个周期内。
令,则,我们即可得到离散傅立叶变换对为:
(1.4.3-1)
(1.4.3-2)
其中表示有限长序列的抽样点数,或周期序列一个周期的抽样点数。
5
2双音多频(DTMF)通信系统
2.1双音多频(DTMF)信号
过去的电话拨号时靠脉冲计数确定0~9这10个数字的,拨号速度慢,也不能扩展电话上网其他服务功能。
现在均采用双音拨号。
每一位号码由两个不同的单音频组成,所有的频率可分成高频带和低频带两组。
每一位号码由一个高频信号和一个低频信号叠加形成,DTMF信号有16个编码。
一般情况下,声音信号很难造成对DTMF接收器的错误触发。
电话中的双音多频信号有两个作用:
用拨号信号去控制交换机接通被叫的用户电话机;控制电话机的各种动作,如播放留言、语音信箱等。
2.2双音多频(DTMF)信号的产生
DTMF编码器基于两个二阶数字正弦波振荡器,一个用于产生行频,一个用于产生列频。
典型的DTMF信号频率范围是700~1700Hz,选取8000Hz作为采样频率,DTMF双音频信号由两个二阶数字正弦振荡器产生,一个用来产生行音频信号,另一个产生列音频信号。
在电话键盘上的每次按键,会产生式(2.2-1)表示的两个音调之和。
规定用8KHz对DTMF信号进行采样,采样后得到时域离散信号为
(2.2-1)
两个频率f1,f2唯一确定了被按压的键。
具体数字对应的两个频率如表2.2.1所示。
6
表2-1DTMF拨号频率(第四列常被省略)
1209Hz
1336Hz
1477Hz
633Hz
697Hz
1
2
3
A
770Hz
4
5
6
B
852Hz
7
8
9
C
942Hz
*
0
#
D
形成上面序列的方法有两种,即计算法和查表法。
用计算法求正弦波的序列值容易,但实际中要占用一些计算时间,影响运行速度。
查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按顺序和一定的速度取出便可。
这种方法要占用一定的存储空间,但是速度快。
因为采样频率是8000Hz,因此要求每125ms输出一个样本,得到的序列再送到DA变换器和平滑滤波器,输出便是连续时间的DTMF信号。
DTMF信号通过电话线路送到交换机。
2.3双音多频(DTMF)信号的检测
在接收端,要对收到的将收到的双音多频信号进行检测,即检测两个正弦波的频率,以判断其对应的十进制数字或者符号。
用数字方法进行检测,需要将接收到的模拟音频信号进行AD变换,恢复为数字信号,然后检测其中的音频频谱来确定所发送的数字。
检测方法有两种,一种是用一组滤波器来提取所需频率,判断对应的数字或符号;另一种是用快速傅立叶变换(FFT)算法的DFT对双音多频信号进行频谱分析,有信号的幅度谱,判断信号的两个频率,最后确定对应的数字或符号。
以下章节对两种方法进行分析并对Goertzel算法进行详细的推导。
由上面可以知道一个DTMF信号是由两个不通频率f1和f2的正弦波组成,它可以用下式表示
(2.3-1)
7
我们可以考虑通过离散傅立叶变换进行信号的频谱分析来检测离散的双音
多频码。
这是因为只有时域及频域都是离散的情况下,才能适合于在计算机上运算;也就是周期的离散时间信号与离散频率间的变换对。
周期性离散时间信号x(n)的离散傅立叶变换-周期性离散频率函数X(k)两相邻谱线分量之间的角频率增量与周期之间的关系可表示为,代表信号的基频。
取样频率与取样周期T的关系是
取样角频率
T为时域取样间隔,在一个周期内取样点数为N。
在自变量为t及f的情况下,在一个时域中对函数进行取样,两取样点间增量的倒数,必是另一个域中函数的周期。
现序列的周期为NT,所以对频谱取样的间距是。
以数字频率表示时,则频谱间距是
k=0,1,……,N-1
令并称之为因子。
离散傅立叶变换(DFT)可写成如下形式:
,0≤k≤N-1(2.3-2)
DFT的表达式可以直接写成:
,k=0,1,……,N-1(2.3-3)
一般来说,x(n)和都是复数,X(k)也是复数,每计算一个X(k)值,需要N次复数乘法(x(n)与相乘)以及(N-1)次复数加法。
而X(k)一共有N个点(k从0取到N-1),所以完成整个DFT运算总共需要次
8
复数乘法及N(N-1)次复数加法。
复数运算实际上是由实数运算来完成的,因此上式可写成:
(2.3-4)
由此可见,一次复数乘法需用四次实数乘法和两次实数加法;一次复数加法则需两次复数加法。
因而每运算一个需要4N次复数乘法和2N+2(N-1)=2(2N-1)次实数加法。
所以,直接计算DFT,乘法次数和加法次数都是和成正比的,当N很大时,运算量是很可观的,例如,当N=8时,DFT需64次复数乘法,而当N=1024时,DFT所需复数乘法为1,048,576次,即一百多万次复数乘法运算,这对实时性很强的信号处理来说,对计算速度的要求太高了。
因而需要改进对DFT的计算方法,以大大减少运算次数。
仔细观察DFT的运算量可以看出,利用系数的以下固有特性,可以减少DFT的运算量。
(1)的共轭对称性:
(2)的周期性:
(3)的可约性:
由此得出
,,
这样,
(1)利用这些特性,使DFT运算中有些项可以合并;
(2)利用的周期性和对称性,可以将长序列的DFT分解为短序列的DFT。
而前面已经说到,DFT的运算量使与成正比的,所以N越小越有利,因而小点数的DFT比大
9
点数的DFT的运算量要小。
基于这样的思路,快速傅立叶变换(FFT)发展起来了。
如果按时间抽取的FFT算法,系统的运算量是,运算量明显比DFT运算量减少。
但它有一个缺点,需要全部抽样数据到达时,才能进行计算;不适合双音多频信号频谱的计算,满足不了双音拨号系统实时性的要求。
因此开发出了适合于DMFT的特殊算法-Goertzel算法。
10
3戈泽尔(Goertzel)算法
3.1戈泽尔(Goertzel)算法原理
戈泽尔算法利用DFT中的旋转因子的周期性,将DFT的运算转换成一种线性滤波运算。
下面推导戈泽尔算法的计算公式和实现结构。
假设长度为N的序列x(n)的N点DFT用X(k)表示,因为
(3.1-1)
因此
k=…,N-1(3.1-2)
按照上式定义序列
(3.1-3)
这个方程可以解释为有限长序列x(n),,与序列的卷积,因此表示为
(3.1-4)
令(3.1-5)
则(3.1-6)
由上式,将看成是序列x(n)通过单位脉冲响应为的滤波器的输出,根据式(3.1-2)和式(3.1-3),得到
(3.1-7)
那么,x(n)的DFT的第k点就是序列x(n)通过滤波器输出的第n=N点样值。
那么N点DFT就是这N个滤波器分别对序列x(n)的响应序列的第N点输出。
对式(3.1-5)进行Z变换,得到滤波器的系统函数
11
(3.1-8)
该滤波器是一个一阶纯极点滤波器,极点为,极点频率为。
该滤波器的结构图如图3-1所示,戈泽尔算法的原理方框图如图3-2所示。
图3-1单极点滤波器
图3-2戈泽尔算法的滤波器组
在图3-1中存在一次复乘算法,为了避免复乘算法,将一阶纯极点滤波器变为二阶滤波器,推导如下
(3.1-9)
按照图3-2所示。
再按照该结构图,可以用两个差分方程表示该二阶滤波器,即
(3.1-10)
=(3.1-11)
对于音调检测,只有的幅值平方是需要的,通过实现这种需求,可以
使算法作进一步简化,由(3.1-11)式,的平方幅值可以计算为:
12
(3.1-12)
这样输入信号是实序列,用式(3.1-10)计算中间变量,用式(3.1-12)计算输出信号的幅度,避免了复数的运算。
由此得到=。
因为有8种音频要检测,所以需要8个式(3.1-8)表示的滤波器,或者8个式(3.1-9)表示的滤波器。
8个滤波器的中心频率分别对应8种音频。
3.2Goertzel算法程序
下面是按(3.1-12)式编写的Goertzel算法子程序。
它根据输入序列x(n)和指定的DFT样本的序号k计算待求的DFT样本X。
其核心语句只有四句,具体如下:
functionX=gfft(x,k)
N=length(x);x1=[x,0];
d1=2*cos(2*pi*kN)
v=filter(1,[1,-d1,1],x1);
w=exp(-i*2*pi*kN);
x=v(N+1)-w*v(N);
13
4检测双音多频信号(DTMF)的DFT参数
用DFT检测模拟DTMF信号所含有的两个音频频率,即为用DFT对模拟信号进行频谱分析的问题,要确定三个参数:
采样频率Fs,DTF的变换点数N,需要对时间的观察长度Tp。
4.1频谱分析的分辨率
观察表2-1要检测的8个频率,相邻间隔最小的是第一个和第二个频率,间隔是73Hz,要求DFT至少能够分辨相隔73Hz的两个信号,即要求Fmin=73Hz。
DFT的分辨率和对信号的观察时间Tp有关,Tpmin=1F=173=13.7ms。
考虑到可靠性,应留有富余量,要求按键的时间在40ms以上。
4.2频谱分析的频率范围
要检测信号的频率范为697~1633Hz,但考虑存在语音干扰,除了检测这8个频率外,还要检测它们的二次倍频的幅度大小。
波形正常且干扰小的正弦波的二次倍频是很小的。
如果发现二次谐波很大,则认为不是DTMF信号。
这样频谱分析的范围为697~3266Hz。
按照采样定理,信号的最高频率不能超过折叠频率,即0.5Fs≥3266Hz,由此要求最小采样频率应为6.53KHz。
总系统已经规定Fs=8KHz,因此一定满足对频谱分析的要求。
按照Tpmin=13.7ms,Fs=8KHz,算出对信号最少的采样点数为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 DTMF 信号系统 Matlab 仿真 毕业设计