基于DSP的DTMF的信号检测与识别.docx

上传人:b****5 文档编号:5102481 上传时间:2022-12-13 格式:DOCX 页数:37 大小:594.64KB
下载 相关 举报
基于DSP的DTMF的信号检测与识别.docx_第1页
第1页 / 共37页
基于DSP的DTMF的信号检测与识别.docx_第2页
第2页 / 共37页
基于DSP的DTMF的信号检测与识别.docx_第3页
第3页 / 共37页
基于DSP的DTMF的信号检测与识别.docx_第4页
第4页 / 共37页
基于DSP的DTMF的信号检测与识别.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

基于DSP的DTMF的信号检测与识别.docx

《基于DSP的DTMF的信号检测与识别.docx》由会员分享,可在线阅读,更多相关《基于DSP的DTMF的信号检测与识别.docx(37页珍藏版)》请在冰豆网上搜索。

基于DSP的DTMF的信号检测与识别.docx

基于DSP的DTMF的信号检测与识别

基于DSP的DTMF的信号检测与识别

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

基于DSP的DTMF的信号检测与识别

摘要

双音多频DTMF(DualToneMulti-Frequency)信令在全世界范围内得到广泛应用,将DTMF信令的产生与检测集成到含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。

本文给出一种实现方案,阐述DTMF信令的产生与检测的基本原理:

用两个二阶数字正弦振荡器产生DTMF信号,并通过Goertzel算法实现DTMF信号检测。

本论文是在TI公司定点DSP芯片TMS320C54x系列中的实现DTMF信号的检测,采用DSP技术既增加了系统的功能、灵活性,又降低费用,克服了硬件电路实现检测的缺点。

因为本课题着重于DTMF信号的检测,所以DTMF信号的产生是通过音频处理软件CoolEditPro产生,然后将DTMF信号通过PC音频接口传输到AIC23B的接口,经过A/D采样编码后送到DSP进行信号检测,最后单片机将结果通过DSP的HPI接口读取再通过单片机的串口传输到PC的串口调试助手上显示出来。

最后结果,结合Goertzel算法,DSK5402板能够实现对DTMF信号的解码,通过串口显示到串口调试助手上,达到了本论文的研究目的。

关键词:

数字信号处理器DSP,双音多频DTMF,正弦波振荡器,Goertzel算法

 

DTMFSignalDetectionandRecognitionBasedonDSP

ABSTRACT

Withthedevelopmentofsociety,thesignalgeneratorhasbeenwidelyusedinradarapplication,communicationsystemofsimulationandtest,thenationaldefense,scientificresearchandindustry.Butwiththedevelopmentofsocietyandthedeepeningoftheresearch,thesignalgeneratorwaveformprogrammablesex,theprecisionandstabilityofwaveperformanceputforwardhigherrequest.ThesignalgeneratorbasedonDSPistheheightoftheprogrammingwithitsflexibility,forgreatapplicationvalueandbroadapplicationprospect.

ThissubjectintroducesbasedonDSPchipTMS320C5402sinewavesignalgeneratordesignprincipleandmethod.UseTMS320C5402asdataprocessor,STC89C51asacontrollertoleadandcontrolDSPchip.Thedirectsequencesynthesis(DDS)technology,inDSPestablishedonasignalgenerator,thedevelopmentofserialuppermachinesoftwarecontrolDSPproducedesignatedfrequency(audiorange)ofsinewave,ThesystemconsistsofDDSmoduleandsingle-chipmicrocomputercontrolmodule,serialports,soundcard,etcofperipherals.HereintroducesaDSPrealizesinusoidalsignalgenerator,itsanam,FMfunctionallhavesoftwaretorealize,andhastheverygoodscalability,stability.

KEYWORDS:

DTMFsignal,Goertzelalgorithm,DSK5402board,cooleditpro,DSP

目 录

 

前 言

双音多频(DualToneMultiFrequency,DTMF)信号产生起初是为了代替电话机的脉冲拨号而使用的,DTMF信号有一个高频信号和一个低频信号编码而成。

它是最早由美国贝尔公司作为注册商标而在商业领域中使用,DTMF信号的产生解决了脉冲拨号的不稳定性、传输速率慢和抗干扰能力差的特性,这样就使DTMF信号的使用扩展开来。

DTMF信号起先主要用于打电话时电话机的拨号和使用手机的其它功能,如播放语音信箱、查看邮件、阅读短信等。

DTMF信号具有稳定性强、抗干扰性强等优点,但它是在硬件的基础上实现的。

DTMF信号的稳定性强就需要在编码时符合规定的标准,信号具有足够的强度和不能混入杂音,DTMF信号的抗干扰能力强主要是它由两个特定的音频组成,在接收时能很好的与其它信号区别开来。

现在DTMF信号的产生和解码多依赖于专用的发生和解码芯片,但解码芯片是固化的程序或纯硬件,使用灵活性差,但遇到话音、音乐等其它杂声干扰时解码会出现一定的误差,而又不能改变其特性,而当专用芯片想用于其它非电话系统中时专用芯片就无用武之地了,因此DTMF信号的检测和识别只依靠专用芯片不是一个好的选择。

随着科技的发展将来的生活和工作将会越来越智能化、信息化、数字化,但它的实现需要依靠处理芯片的发展,处理芯片相当于人的大脑,需要它来统筹整个系统的工作。

处理器常常需要处理的是数字量,数字信号处理技术自然就成了将来的发展方向,而数字信号处理器也会广泛的用到生活中的方方面面。

通过几十年的发展,DSP芯片的处理速度越来越快,功耗越来越低,功能越来越多,而价格却越来越低,有很高的性价比,它们被广泛的运用到各个领域,如通信领域的移动电话,路由器,交换机,IP电话等,医疗设备中的B超,成像仪器,核磁共振,CT扫描仪等,军事领域中的导弹制导系统,自动火炮系统,卫星侦测系统,战机系统等,生活中的ATM取款机、音箱设备、MP4、MP5,游戏机,摄录相机等,工业控制领域的检测、自动控制系统等,近来好多芯片为了增强功能,多加入了DSP协处理器,使处理图像、声音和视频时更加流畅,等等,此种种都表现出DSP的应用非常广泛。

本课题采用TI公司生产的TMS320VC5402处理器,利用它的处理速度快、稳定性强和价格低等优势,来代替专用的芯片进行DTMF信号的检测与识别。

通过此种方法,能降低检测的成本也能缩小硬件的体积,减小对专用芯片的依赖,充分利用了芯片的资源,同时也能方便的运用到除通信领域的其它系统,如ATM取款机、便携手持仪器等。

综上,用DSP芯片检测DTMF信号具有很大的商业工程应用价值。

第1章绪论

 

1.1DTMF介绍

电话中的双音多频信号(DTMF)有两种用途:

一是用于双音多频信号的拨号,去控制交换机接通被叫的用户话机;二是利用双音多频信号遥控电话机各种动作,如播放留言、语音信箱等,并可以通过附加一些电路来是实现遥控家电设备的开启关闭等智能功能。

前者解决双音多频信号的发送和编码,后者是双音多频信号的接收和解码。

这些东西都离不开DTMF信号的正确检测。

目前,大多数的DTMF信号的检测均采用专用的发送、接收芯片,这种解码的原理都依赖于计算输入信号的过零率。

但这种方法有很大的局限性,无法检测多路DTMF信号,当混有语音和噪声时,专用芯片检测往往出现误差,如果音频信号频率改变应用于别的系统时,专用的芯片就发挥不了作用。

所以,用硬件实现DTMF信号的检测并不是一种很好的选择。

信息化已经成为社会发展的大趋势,信息化是以数字化为背景的,而DSP技术则是数字化最重要的基本技术之一。

在过去的短短的二十来年里,DSP处理器的性能得到很大改善,软件和开发工具也得到相应的发展,价格却大幅度地下降,从而得到越来越广泛的应用。

通信领域(移动通信的交换设备、基站和手机,网络的路由和交换设备,智能天线,软件无线电,IP电话等),雷达和声纳系统,巡航导弹、灵巧炸弹及各种武器系统,自动测试系统,医疗诊断设备(CT、核磁共振、B超等),计算机及其外设,消费类电子设备(VCD、DVD、HDTV、机顶盒、MP3、家庭影院系统、数字照相机和摄象机等),机器人及各种自动控制系统,等等,应用范围不胜枚举[1]。

1.2方案对比

方案1.硬件实现:

以往的DTMF信号的产生检测一般用的是模拟硬件电路实现的。

前几年DTMF编解码电路大量是使用LC或者音叉振荡电路以产生DTMF的8个音频。

而解码电路过去采用的是音叉滤波,后又改进为有锁相环检测集成电路和简单的滤波器组成,但需要八路。

这些电路复杂,制造和调整麻烦。

电路多属于CMOS集成电路,它一般包括DTMF分组滤波器和DTMF译码器,当DTMF信号经输入电路输入时,先进入高、低频滤波器滤波,经带通滤波后,不仅滤波后,不仅滤掉了信号中的噪声干扰,而且DTMF信号的高频信号(fH)和低频信号(fL)也被区分开来,然后这两组信号分别进入过零检测,比较后,得到相应于DTMF的两路fH、fL信号的输出,该两路信号经译码、锁存、缓冲、恢复成对应于16种DTMF信号音频的4比特二进制码。

这种用硬件电路实现DTMF检测与软件处理数字信号比起来会有较大的缺陷。

(1)对于一个可编程的数字系统,改变下程序就可以改变对信号处理的方式,而对模拟系统的重新配置就意味着重新设计硬件。

(2)精度上的要求也决定了处理器的选择。

(3)数字信号可以很容易地存储在磁介质中而不会丢失

方案2.软件实现:

曾经有人尝试用DSP构成一个数字式带通滤波器,其中心频率随着采样频率的不同而改变。

用顺序扫描的方式来检查每个频率,当某个频率超过给定的门限值时,将其记录,从而确定收到的是哪一个键的信号。

然而该方法有一个严重的缺点:

由于在给定的时间内只能检测8个频率中的一个,而不是8个同时检测,从而使检测的速度缓慢。

因此,本文基于TMS320S54X的DTMF信号的检测,是在频域解决了上述问题,使DTMF的检测更加快捷、准确。

下面详细介绍基于DSP的DTMF信号的检测。

1.3传统的DTMF信号编解码介绍

本文主要目的是研究用DSP实现DTMF信号检测的算法理论研究和软件设计的实现,在电话的双音多频(DTMF)有两种用途:

一种是用于双音多频信号的拨号,去控制交换机实现对被叫用户的呼叫,二是利用双音多频信号遥控电话机的各种动作。

如播放用户留言,语音信箱。

前者解决双音多频信号的发送,后者是双音多频信号的接受和解码。

这些都离不开DTMF信号的正确检测。

目前,DTMF信号的检测都是用专用的芯片来实现的,如发送的MT5087芯片,接受的MT8870芯片。

采用专用芯片的接受和解码都是依靠计算输入信号的过零率。

但这种方法有很多局限性,当混有语音和噪音时,专用芯片检测往往会出现误差。

如果音频信号频率改变应用于别处。

专用芯片就起不了作用[2]。

在本篇论文中,我们将要尝试利用DSP来实现对DTMF信号的检测。

第2章DTMF信号的基本原理

 

2.1双音多频(DTMF)信号

双音多频(DTMF)信号就是用两个不同频率的音频信号的组合来传输信息的一种通信信号形式,可以用数学式表示为

(2-1)

式中fH和fL分别是高频组和低频组的两个信号频率。

对这两个频率的要求是:

1、位于人而能够听到的音频频率范围内;2、频率间隔近似为乐音音阶的频率间隔(按十二平均律,相邻各个音的频率呈等比关系,其比值约为1.059463,例如C3130.8Hz,C4=261.7Hz,D4293.7)。

这种信号在电话线路上传输,而且声音悦耳。

在电话系统中,高低频组的频率已经标准化,如图2-1所示。

DTMF最早应用是在电话通信系统中作为控制信令使用的。

在电话通信系统中,最早的控制信令是使用直流脉冲信号。

脉冲拨号方式是由接在旋转拨盘位置上的开关或电子开关控制二线电路的通与断。

每拨出一位数字,都有唯一一串电流脉冲相对应,图2-2中给出了数字’3’的电流脉冲序列。

每个脉冲周期通常为100ms,其中有40%的占空时间,在人工控制条件下,两个相继数字的时间间隔可以从0.5S到数秒之间变化不等。

由此可见,利用拨号脉冲拨号,发送一个10位长的号码大约需要7秒的时间[3]。

图2-2脉冲拨号示意图

当采用DTMF拨号方式时,号码的每一个数字用一对音频表示,话机中有8个单音频,分为两组,通过拨号盘选拨号码时,各位数字由触键开关输入,其对应的某个频率对(高频和低频)同时传输,图2-2所示为各频率对应位置。

对DTMF信号所规定的指标为:

传送速率为每秒10个数字,即每个数字100ms。

每个数字传送过程中,信号必须存在至少45ms,且不得多于55ms,100ms里其余时间是静音。

另外ITU(国际电信联盟)还规定,DTMF信号在每个频率点上允许有1.5%的偏移,任何超出给定3.5%的信号认为无效,拒绝承认接收。

还规定,在最坏检测条件下,信噪比不得低于15dB。

显然。

DTMF的拨号方式比双脉冲拨号方式可快至10倍,明显缩短了拨号时间。

而且DTMF拨号方式发出的信号抗干扰能力大大高于脉冲拨号方式。

因此,目前普遍使用DTMF拨号方式。

采用DTMF信号,用话音频率发送数字,可以避免占用额外的信道,又比脉冲拨号方式节约时间。

在通信、测量、控制、自动服务等领域有着广泛的应用。

在基于电话的各种信息服务系统中,广泛使用了DTMF信号来传送按键操作信息。

利用这种按键信息,人们可以直接通过电话查询所需要的信息以及进行各种远程控制。

在实际系统中,首次拨号由程控交换机识别,完成主叫与被叫之间的接续;二次乃至多次拨号的识别以及操作由用户系统自己完成。

DTMF信号还可以用来在话音信道上传送各种类型的控制指令,例如利用电话控制家用电器的启停,传送远方的状态监测信息。

目前DTMF信号已经不仅仅限于在电话系统中应用,在测量、控制、遥测遥控等各个领域都有应用[4]。

由电话机键盘结构图可知,一个DTMF信号由两个频率的音频信号叠加构成。

这两个音频信号的频率来自两组预分配的频率组:

行频组或列频组。

每一对这样的音频信号唯一表示一个数字或符号。

当使用电话拨号时,电话机产生两个正弦波叠加在一起后发送,解码时Phonespy采用改进的Goertzel算法,从频域搜索两个正弦波的存在。

2.2DTMF信号的硬件产生与检测

通常是用硬件产生和检测DTMF信号。

已经有多种专用的产生和检测DTMF信号的集成电路器件。

具有代表性的DTMF发送、接收器的型号为MT8860,MT8862,MT8870,MT8872等。

DTMF信号发送器电路原理如图2-3所示,它主要包括:

(1)晶体振荡器——外接晶体(通常采用3.58MHz)与片内电路构成振荡器、经分频产生参考信号。

(2)键控可变速率时钟产生电路——它是一种可变分频比的分频器,通常由n级移位寄存器与键控反馈逻辑单元组成。

(3)正弦波产生电路——它出正弦波编码器与D—A变换器构成。

通常可变速时钟信号先经过5位移位寄存器,产生—组5位移位代码,再由可编程逻辑阵列(PLA)将其转换成二进制代码,送到D—A变换器转换成台阶形正弦波。

显然台阶的宽度等于时钟频率的倒数,这样形成的正弦波频率必然对应于时钟的速率和按键的号码。

(4)混合电路——将键盘所对应产生的行、列正弦波信号(即低高群fL、fH单音)相加,混合成双音信号而输出。

(5)附加功能单元,如含有单音抑制、输出控制(禁止)、双键向按无输出等控制电路。

图2-4硬件接受DTMF信号的电路原理图

DTMF接收器主要包括DTMF分组滤波器和DTMF译码器,其基本原理如图2-4所示。

DTMF接收信号先经高、低群带通滤波进行fL/fH区分,然后过零检测、比较,得到相应于DTMF的两路fL/fH信号输出。

该两路信号经译码、锁存、缓冲,恢复成对应于16种DTMF信号音对的4比特二进制码(L1一L4)。

2.3双音多频信号软件产生与检测

近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。

将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用[5]。

为了产生DTMF信号,DSP用软件产生两个正弦波叠加在一起后发送,软件具体实现方式可以有三种方法:

(1)用软件模拟DSP的方式产生两个数字正弦波振荡器并把输出合成起来,建立所希望的双音频。

(2)通过产生的某频率的方波后再附加滤波器滤出二次以上的谐波,产生DTMF信号。

(3)查表输出产生DTMF信号。

软件检测DTMF信号主要有以下方法:

(1)利用离散傅立叶变换(DFT)及其快速算法(FFT),求取DTMF信号频谱的峰值点,进而利用峰值点的频率判断发送的数字。

这种方法的缺点是计算量大,不利于实时处理。

但是如果使用MATLAB软件仿真则可以用很简单的几条语句实现。

(2)对于DTMF信号的波形,波形过零点数量决定了低频信号的频率,而极值点数量决定了高频信号的频率。

因此通过软件分别计算出高频频率和低频频率,从而实现DTMF的解码。

这里选择采样频率为8K,已知每一个信号的频率至少持续40ms的时间,我们对DTMF采样160个点,即20ms,这样总会有一个20ms的采样点全部落在40ms的发送范围内,对采样的点进行6次求和取平均,去掉噪声成分,然后分别计算过零点的数目a和极值点的数目b,对应频率可以计算为:

既然可以求出DTMF信号的一组频率值,那么就可以得出对应电话号码值。

这种算法比较适合于单片机硬件实现,但是其抗噪声性能较差。

(3)计算接收到的DTMF信号在8个既定频率的能量,进而确定是否有DTMF信号到达以及收到的是哪一对信号,此外通过计算接收信号的总能量来防止误判。

采用Geortzel算法可进一步提高计算效率,Goertzel算法实质是一个两极点的IIR滤波器,对应每一个频点有一个匹配滤波器,在抽样时刻检测。

这种方法理论上属于最佳接收方法,而且算法有利于用DSP实现。

在本次课程设计中要求使用这种方法。

DTMF解码即是在输入信号中搜索出有效的行频和列频。

2.4数字正弦波振荡器原理

数字正弦波振荡器的功能是利用数字信号处理的方法产生正弦波信号

的抽样序列

基本原理是:

设数字正弦波振荡器要产生的波形为

(2-2)

则其Z变换为

上式的分子与分母同时乘以

y(n)可以看作是一个单位冲击函数激励了一个线性系统的冲击响应。

这个线性系统的传递函数就是Y(z)。

由Y(z)可以写出该线性系统的差分方程:

(2-3)

式中

为数字角频率。

令输入x(n)为单位冲击函数,即

则可以得到下面的递推方程

当n<0时,y(n)=0

当n=0时,y(0)=0

当n=1时,

当n=2时,

当n>2时,

(2-4)

实现时,首先将每个频率常数存在一个表中,用来初始化给定键的振荡器;再按照

(2)进行迭代计算,就得到正弦序列的输出;将两个这样的输出叠加即可得到双音频的输出。

每个数字输出的样本数取决于数字速率与采样速率。

双音频中的每一个音调之后都是同样长度的无音周期,从而可以检测到按键的释放[6]。

2.5数字匹配滤波器原理(Geortzel算法)

计算接收到的DTMF信号在8个既定频率的能量,进而确定是否有DTMF信号到达以及收到的是哪一对信号,此外通过计算接收信号的总能量来防止误判。

为满足检测8个DTMF频点(偏差1.5%),需计算256点FFT,因只对8个频点感兴趣,故可以直接计算8个频点附近的DFT

(2-5)

计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。

通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。

此时Goertzel算法能更加快速地在输入信号中提取频谱信息。

Goertzel算法实质是一个两极点的IIR滤波器,其算法原理框图如图2-5。

图2-5Geortzel算法信号流图

对应每一个频点有一个匹配滤波器,第k个频率匹配滤波器的传递函数为

(2-6)

其中

对应的前、后向差分方程为:

(2-7)

(2-8)

后一个方程无需全部计算,只需要在n=N时刻,即最后的输出时刻计算。

(2-9)

如果考虑同步相位误差,也可以在n=N时刻附近计算一段时间内的输出。

前向差分方程也可以改写为便于计算的递归形式:

(2-10)

并令初始值为

在n=N时刻既可以得到所需要的X(k)。

由于在DTMF检测中,输入的信号是实数序列,并不需要检测出8个行频/列频的相位,只需要计算出其幅度平方即可。

因此计算|X(k)|2如下:

(2-11)

这里

分别表示状态变量在N和N-1时刻的值。

在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。

整个检测过程分两步:

首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查[7]。

第3章DTMF信号接收电路及声卡

 

3.1声卡概述

  1、声卡是多媒体计算机中必不可少的一种接口部件。

  2、可支持11.025kHz、22.05kHz、44.1kHz三种采样频率,16位采样精度和选择单/双声道对模拟声音波形信号进行数字化采样,生成WAVE文件[8]。

3.1.1声卡的功能

声卡是多媒体设备最基本的部分,是实现声音A/D、D/A(模/数、数/模)转换的硬件电路。

声卡的功能与性能直接影响到多媒体系统中的音频效果。

 

(1)录制和编辑音频文件能以一定频率和精度采样声源模拟波形,并数字化和量化成数字量,以*.VOC、*.WAV、或*.AU等各种声音文件格式存储。

(2)合成和播放音频文件

   (3)压缩和解压缩音频文件

   (4)具有与MIDI设备和CD-ROM驱动器的连接功能

3.1.2声卡的基本组成 

 声卡上一般有以下几个功能单元:

   

(1)数字信号处理器

   

(2)CD音频连接器

   (3)音频控制芯片

   (4)混音器

   (5)合成器

FM合成是采用频率调制的原理产生声音,通过芯片产生各种频率复合而成,用以模拟各种乐器的声音。

  波表合成则是对真实乐器发出的声音进行采样,将采样值制表保存在ROM中,可由数字信号处理器随时查表调用处理,再将合成后的数字音频信号经D/A转换器变成模拟音频信号,其声音效果与真实的乐器声几乎没有什么差别[9]。

   (6)波形表只读存储器

   (7)CD-ROM接口

   (8)MIDI接口

   (9)跳接器

   (10)I/O端口

    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1