教学工作的资源分享

改进Goertzel算法的DTMF信号检测仿真与应用

职教20条

职教20条

文章编号: 1002-8684652009 ) 12-0065-05() 6圈) 0 @@ss6嗡数字信号处理

基于改进Goertzel算法的DTMF 论文信号检测的模拟与应用邵明东

(清华大学机械3-程学院精密仪器与机械学系,北京100084 )。

【摘要】利用Seilab仿真了DTMF信号的产生和Goertzel算法进行拨号检测的过程以及随机噪声和语音信号对DTMF分析了拨盘检测的影响,分析了错误识别拨盘的原因。 给出了应用DSP技术进行DTMF拨号检测的步骤、方法和改进措施给出结果【关键词】DTMF; Goerlzel算法; DSP; Scilab图中分类编号: TN911.72【文献识别代码】a

simulationandapplicationofdtmfsignaldetectionusingmodifiedgoertzelalgorithm邵明—东

(departmentofprecisioninstrumentandmeehanology,SchoolofMechanicalEngineering,TsinghuaUniversity,Beijing100084,China )

【Abstract】thescilabisusedtosimulatetheprocessofgeneratingdtmf (dualtonemultifrequency ) signalsanddetectingthedialingsignalsbymeansofgoertzelalgorithmaswellastheeffectsoftherandomnoiseandspeechsignalsoilthedetectionofthedtmfdialing.in addition,thereasonofthefalsedetectionisanalyzed。thenthedspapplicationofdtmfdialingdetectionisprovidedwiththesteps,the methods,the improvements和结果。【Keywords】DTMF; Goertzelalgorithm; DSP; Scilab1引言

双重音频多频(DualToneMultiFrequency,DTMF )信号由于具有很好的抗干扰能力,所以是电话按钮信号的信令

该特性广泛用于通信系统的拨号传输,例如主呼叫识别信号信息传播显示(CID )服务、电话语音服务、远程控制和ATM终端等I”。 DMF信号可以由编码集成电路生成,用解码集成电路检测。 但是,硬编码电路中处理较多在DTMF信号情况下,一般需要多路复用器电路,且周边电路包括振动等用户接口电路,容易引入噪声,不用敏捷。 然而,采用Goertzel算法的DSP软件编解码器片j单片DSP处理器实现多路DTMF信号的产生和校验因为可以测量,按照设计灵活编程,所以基于Goertzel算法的DSP软件系统成为了更好的编解码方式2 DTMF信令

2.1 DTMF信号的定义

ITU的推荐标准Q.23Eji定义了DTMF标准信号。 每天一个DTMF信号由南重叠2个正弦波信号组成,其中之一

属于低频组(697、770、852、941Hz ),另一个属于高频组(1209、1336、1477和1633Hz )。 一共16种组合。 每次按下用下一个电话按钮生成一个DTMF信号。 键控信号的确定定义如图1所示。 为了便于编程,键值如表l所示。 管教公式1~16是定义的键值,其他值是错误代码,为了方便起见,将错误代码一律取整数20

! 妻子做藤蔓调查藤蔓数字信号处理

() 6固0S6轮0@? ) 6响表1键值的定义2.2 DTMF信号的产生

(1)数字正弦振荡产生DTMF信号DTMF信号数学式可以写为如下

s((lsin(toi ) ahsin (toht ) )1) ) ) ) ) ) ) ) ) ) ) ) ) )。式中,AL为低频信号振幅; to是低频信号角频率; A是高频信号振幅; 是高频信号角频率。

根据式(1),可以用两个重合数字来观察DTMF信号正弦振子产生_1。 单位正弦振动序列的z变换、一一日() () (2) ) ) ) )。1-2

式中,to .=2'nf'o/f,fo为信号频率为采样频率。根据式(2)可以得到正弦振动序列

f (凡一2 )2(costoo ) y(n-1 ) 6(n一2 )=(Sinto0)6(n一1 ) ) ) ) ) ) )

ly(n )=2) Costoo ) y(n~1 )一y ) n一2 ) ) sinto0)8(n-1 ) ) ) ) ) ) ) ) ) sinto0)8)8) ) )(3) ) )。式中,6 (数学)是单位脉冲函数序列。 设al=2成本。n2=1、b=sinto时,式(3)为

y(n )=0.y(n ) n(1) af ) n )2) bs ) n )1)4) ) )4) ) ) ) ) ) ) 652 )当y(-1 )=0且y(1)2)=0时,_y(0)=0; y(0)=0,y(-1 )=如果为0,则y(1):6。 计算(,)2)时,y(1):6,y ) )0)。 因此,您可以将初始值设定为y (一1 )=6,y )一2 )=0,删除8 ) n一1 )项后将公式(4)改写为根据以上分析可以得到DTMF信号序列

(n )=a ) n ) twy(n ) ] )6) ) )。式中,信号振幅,(n )是低频成分,(n )是高频成分量;

全国教育信息化

全国教育信息化

)2)利用Scilab仿真生成DTMF信号! 香蕉主蔓鲣鱼蔓! 塑料制品

使用Scilab,根据公式(5)和公式(6)分别计算DTMF信道{序列,tw=4dB,A=1=8000Hz,将结果用于函规则“wav”文件被保存在“savewave ()”中,并且检测DTMF信号的速度更快读取对应的wav数据。 其中,数字键"1000如图2所示,FFT从图2读取的低频高达约696Hz约为1208Hz,频率偏差不比ITU的Q.23建议标准大值1.5%z

图2数字键…1’的FFr采样3 DTMF信号检测3.1 Goertzel算法

Goertzel算法适用于实时在线计算少数频率DFT。计算公式如下

(n )=(n ) ) n(1),on) ) 7式中,W :e。 j;是样品点数。 n=,v时,(n ):)。即,x(n )的第k点DFF。 因为是复数,所以运算不方便,将该(n )的z变换改写为h(z )=L1 -。 一1 -1

(1-W z ) ) 1一) )。一l()1-2) t8

1-2cosF2~rkln(z导入变量(n )即可得到

I(n )=x ) n )2cos ) 2rk/n ) v ) n-1 )-v ) n-2 ) ) ) ) ) ) ) ) ) ) ) )。Il (尼)=(一k ) )-1 ) ) ) ) ) ) ) )。{ ii (2) I=L ) n ) I=2) )2)1)一)9) ) ) ) )。f【2cos(2wk/n ) v ) ) 1】

初始值

Vk (一1 )=(一2 )=0)1(3

Goertzel算法的推导过程详见文献[4—5。 实际的APP应用的情况下,根据式(9)和式(10 )进行计算,不需要计算(x ) ),直接判断平方断x ()的振幅。3.2 Scilab仿真分析

DTMF信号的情况.可以使用改进的Goertzel算法进行计算8频率点“x(k )”在没有噪声的情况下可容易地确定DTMF关键值。 在PCM通信系统的情况中,采样频率为8000Hz。 16位线性正则化码。 取N=205,=,k时可以按最近的用整数取值。 以键…1’为例,在Scilab中使用8频率的{x(k ) l ),计算1 ),n ) 1的数据如图3所示。 图3中,轴表示8个频率点对应于矩阵频率值,并且l对应于697Hz,8

1633Hz; y轴为205个样本; z轴为{(n ) l ) .轴第205点是IX(k ) l‘。 在冈3中,五角星与数据点相对应,看起来像L(697Hz )和5 )5(1029Hz )频率点的值逐渐上升,其他频率的值一直被维持得很小。 由此可以判定键为“1”。 分别是频率1 ) ) I的值如图4所示,从图4中可以读取的扭曲tw=201g(63.33/39.9 )=4dB,与振荡器产生的信号发生扭曲程度一致

6) 6喷0S6响轮0 @@ss6数字信号处理

典型信道中存在噪声,可表示为加性随机白噪声。 接受考试考虑到最坏的情况,对于SNR:l5dB、密钥“0”~…9’DMF信号检测每个20个样本(205点),总共200个样本,例如如图5所示,轴针对每一键对应于20个样本、以及轴对应于键编号、l拨号键“0”。 10对应键“9”z轴为键“0”~“9”。 相对于DTMF信号检测每个380个样本(205点),并针对每个DTMF信号采集样品(0S,共计3800个样品,如图6所示,轴为每键380采样,其他轴与图5相同。 从图6中可以看出,S=15dB3800个样本没有错误识别。 3800个样本的相对宽度值如7所示,轴按照3800个样本("0"~"9"的顺序排列列)、点划线表示高频相对振幅,实线表示低频相对振幅,相对振幅=振幅/8频率点的最大值。 南图7可读扭转范围为3.41~4.62【201g(1/0.6750 )~201g(1/0.5875 ) dB。噪声会影响判别信号扭曲,因此需要降低信号

可以拧1dB,使之成为t~4dB

在说话路上存在声音信号情况下,不能误识别声音信号为了DTMF信号,需要设定DTMF信号的阈值及其2谐波阈值。 一般来说,DTMF信号的二次谐波频谱泄漏较少。语音信号在二次谐波频率下具有较大的振幅。 二次谐波频率垒妻熊垂圭蔓堂蔓模叺数字信号处理

(6) )囿于0 o,@@ss6囿于莨图7 3800个样本的相对振幅

如果振幅较大,可以判断为检测信号中包含语音信号。 门槛值值的设定必须根据实际的声音信号的大小进行调整。 使用l段模拟NPR互联网电台的声音,作为DTMF信号和声音信号编号最大振幅比为6dB,随机白噪声SNR=15dB,DTMF对信号的扭曲f=0dB,键…1’计算了3800个键值,没有出现作出错误的判决。 相对振幅如图8所示,图中五角星为低频值、三个方形是高频值,可知声音信号扭曲以判别DTMF信号对温度有很大的影响。

职教云旧版本

职教云旧版本

在声音信号强情况下,发生DTMF等的误判定信号和声音信号最大振幅比为0dB时,第24个键在采样点将“l’”误判为…4’。 IX(k ) l如图9所示,可以看到频率点2振幅比频率点l高是由于声音信号的影子

(如图10所示,该声音信号Ffvr的振幅为图中的770Hz值较大,是错误判定的原因。 因此,在实用上,尽量不要做同时传输DTMF信号和语音信号。 否则,将语音信号振幅小,或者避免使用图10所示语音服务信号请不要DTMF信号。圆圆! 妻子结伴而行

4 Goertze1算法在DSP系统中的应用相对于8kHz采样的PCM话路,帧周期为125txs,为了提高系统的实时性,需要在一个采样周期内计算完1的8个信号及其二次谐波的DFI ',因此需要比较采用实现高性能的DSP处理器。 TI公司的TMS320VC5402DSP门可以满足上述条件。对于PCM30/32路方案,TMS320VC5402DSP配置的拨号检测系统和PCM线路接口在DSP的

McBSP外围设备.与主机的连接151DSP的HPI外围设备可用,连接法律请参考TI的外围设备手册。 McBSP收到的PCM数量通过DMA存储在RAM中。 采用帧同步信号生成中断了。 每1帧周期处理1路数据可以用轮询的方法实现30路DTMF信号的检测。 设N=200,用Goertzel算法求解代码DTMF拨号的过程如下。

(1)初始化变量

)2)按轮询顺序获得1路抽样(n ),按式(9)计算计算(n );(艏

(3)当n=200时,根据公式(9)计算LX ) k ) I;)4)寻找移动频率和列频率的最大功率点,根据矩阵频率编号键值的初始判别;)5)电力未超过阈值,或不超过外出限制,进入下一步步骤,否则步骤(8);

(6)判断是否有违和感,在不超出范围的情况下进入下一步骤,否则旋转步骤(8) :

)7)判别二次谐波功率是否超过外出限制;(8)确定键值后,进入步骤(1),进入下一个循环。在上述步骤中通过扫描方式检测到拨号时

由于DTMF信号的起始端和终止端都不完整,所以容易出现误码。通过4个存储位综合判别,判断占多数的是正确的键值,可以解决这个问题。 ITU推荐标准规定了每秒最多l0个传输数字小键盘拨号。 每人100ms,DTMF信号持续时间更长40ms,剩下的时间段安静地发出声音。 普通电话机自动重拨所有人DTMF信号持续100ms,静音为100ms。 一般手动拨号位DTMF信号持续约100ms。 这两种情况都属于ITU提出标准。 200点采样用25ms,每次拨盘正好可以测量会出现4个关键值。 如果TMS320VC5402DSP以100MHz运行,及DTMF信号、其他信号音、中断处理、键值判定的发生截止、滤波、存储器访问等一般只能计算二次谐波的一部分频率DFr。 应用该方法的DSP拨盘检测系统计算两点在谐波频率DFF、SNR=24dB时,检测到1000次拨号说话没有错误认识。

5结论

用数字正弦振荡器完全符合ITU的推荐标记的DTMF信号。 不需要保存签名表,没有计算量

大。 在使用Goertzel算法判断某一频率点处信号的dpi强度的情况下。为了避免运算过多,可以通过该频率的功率直接判别。 从模拟中6 6匍匐06响苏0,@@ s6响数字信号处理、

通过分析可知语音信号和随机噪声对DTMF信号的有效性因为对检查有很大的影响,所以不要用于DTMF信号的频率高振幅语音信号。 TMS320VC5402DSP在l帧周期中能够计算出在期间内判断单路DTMF拨号所需的一次dpi为了同时判断多重DTMF拨号,递归计算需要大量使用TMS320VC5402DSP以上的DSP,例如TI的TMS320C64XX系列坏事0DSP。参考文献【1】管庆、徐胜. DSP系统中双极多频DTMF技术的实现《JI》。今天的电子,2003(11 ) 35。

[2] ITU.ITU _ trecommendationq 23 technicalfeaturesofpush -buttontelephonesets[S].【S.1 .】: ITU,1988。

[3] Texas instruments.dtmftonegenerationanddetection :animplementationusingthetms 320 c 54x,应用程序re—portspra096a[G].【S.1 .】: Texas,2000。【4】MIT rask.digitalsignalprocessingacomputer—basedapproach [ m ].2nd ed.Beijing:tsinghuauniversitypress,2001:535—538。【5】KUO S M,LEE B H,TIAN Wen-shun.Real—time digitalsignalprocessing,implementati0nsandapplications [ m ]。2nd ed.England:W iley,2006:23—426。【6】Texas instruments.TMS 320 VC 5402 data sheet [ g ].[ s.1.] :2008年。

【8】ITU.ITU-trecommendationq.24 muhifrequencypush -buttonsignalreception [ s ] .【s.1 .】: ITU,1988。作者简介邵明东.硕士研究生,研究方向为复杂系统智能与优化控制控制、基于DSP芯片的控制系统的开发和数字信号处理等。【责任编辑】潘浩然【收稿日期l2009—09—04接第61页

【6】schmidtr.multipleemitterlocationandsignalparameterestimation [ j ].IEEE trans.onantenasandprop—agation,1986,34 (3) 276-280。

【7】7]BIENVENU G,koppl.adaptivitytobackgroundnoisespatialcoherenceforhighresolutionpassivemethods [ cy /proceedingsofieeinternationalconferenceonacousticsSpeech,and SignalProcessing,ICASSP80.【S.1 .】:IEEE Press,1980,5:307-310。【8】tree shlv.optimumarrayprocessing:part4of detection,estimation,andmodulationtheory [ m ] _ fs.1.]:aJOHN WILE Y SONS,INC. PUBLICAT10N,2002 :

3O一31.1155—1158。作者简介

张勇,硕士研究生,主要研究方向为嵌入式系统设计、阵列信号处理:

蓓尔,副教授,博士,中国AVS专家组核心成员,中}摹I电子学会员.中国电子学会音频t课程分会委员,主要研究方向为多媒体音频信号处理、核磁共振信号处理。【责任编辑】侯莉【交稿日期】2009—10—29妻熊童生蔓墅鲛蔓囫

标签

Tag