教学工作的资源分享

基于改进Goertzel算法的双音多频探测器的设计

职业学校

职业学校

994-2010 chinaacademicjournalelectronicpublishinghouse.all rights reserved.http://www.cn ki.net文章编号33601009-22696965208

薛曼芳

(福州职业技术学院技术工程系,福建福州350108 )。

摘要:利用国际联盟(ITU )对双工音频多频(DTMF )信号的提出和双工音频检测算法的理论背景,提供了双工音频发生器和检测器的具体算法和Matlab实现细节,并给出了其中改进的音调检测Go2ertzel算法Goertzel算法; 国际通信联盟中图分类号: TN 713文献识别码: A0引言

双音多频信令被用在按键式电话机中,而不是用在传统的拨号式电话机中的拨号脉冲信令。 除了电话拨号信息的传输外,还广泛应用于语音邮件、电话银行等低容量异步数据传输。 结构简单,计算量少,抗干扰能力强。 用Matlab进行的仿真结果表明,它能满足国际通信联盟(ITU )的所有建议要求.1 DTMF信号

每个DTMF信号对应于16个DTMF数字或符号

号码(0 - 9、A - D、#、3 )中任一个是将一对低频(697、770、852或941Hz )和高频(1209、1336、1477或1633Hz )的音频信号重叠而构成的

表1电话按钮和音频频率的组合

频率1209 Hz 1336 Hz 1477 Hz 1633 Hz 697 Hz 123 a 770 Hz 456 b 852 Hz 789 c 941 Hz 30 # d

DTMF标准最初由Bellcore制定,然后,由国际通信联盟进一步定义的[1 ]. ITU的建议在时间和频率方面对DTMF信号施加了严格的限制。 请参见表2。 表2对ITU的DTMF信号的建议各指标信号在本范围内允许频率偏移

有效1. 5 %无效3. 5 %信号持续时间有效40 ms无效23 ms信号间断暂停持续时间40 ms信号中断10 ms信号反转正向8 dB反向4 dB信号强度信噪比15 dB

信号功率- 26 dBm

除“信号强度”项外,其他各项指标说明如下

1 )检测允许频率偏移量:的偏差在1. 5 %内的DTMF频率,不应检测到超过3. 5 %的错误频率。

2 )如果信号持续时间为:个信号的持续时间超过40ms,则应该检测到,而如果信号的持续时间小于23ms,则不应该检测到。 3 )在信号的断续超过:信号的中断超过40ms的情况下,应该被检测为两个独立信号,在中断小于10ms的情况下,不应该被检测为两个独立信号。 第十五卷第三期2008年9月兰州工业高等专科学校学报

journaloflanzhoupolytechniccollegevol.15,No. 3Sep .2008

稿件受理日期:2008 - 07 - 07

简介:薛曼芳(1964 -),女,闽清人,讲师,工学硕士

1994-2010 chinaacademicjournalelectronicpublishinghouse.all rights reserved.http://www.cn ki.net4)信号反转:用于低频组和高频组的正向反转是指低频功率大于高频功率,反向反转是指高频功率大于低频功率。 检测器应该拒绝8 dB和4 dB的正向和反向反转. 2改进的Goertzel算法2. 1 Goertzel算法

DTMF检测器的典型方式是测量接收到的信号在8个DTMF频率下的功率以确定接收器是否为有效的DTMF语音。

教育信息化十四五规划

教育信息化十四五规划

因为仅考虑了8个频率,所以没有必要全部计算DFT系数。 只要计算这些频率下的系数,就可以应用Goertzel算法。 从滤波器角度来看,Goertzel算法可被认为是2阶无限冲激响应(IIR )带通滤波器,其中传递函数为:Hk

(z )=1 - ej2k/Nz- 1

1-2cos(2kn

(z-1z-2 ) 2.1 ) ) ) ) )。

过滤器状态变量为每帧输入信号(

n )开始时清除。 滤波器的第n个输出是第k个DFT系数。

由Goertzel算法得到的DFT系数位于=2k/N的n个等间隔的频率,其中k=0、N- 1 .这些频率并不都与DTMF频率一一对应. 2. 2改进的goertz

改进基于Goertzel的算法,可以准确求出某个DTMF频率fi下的DFT系数,同时可以简化算法提高运算效率[ 3,4,5 ]。 采样率(通常为8000 Hz )的fs设定为k=Nfi/fs。 改进的Go2ertzel滤波器的传递函数为Hk

(z )=1 - ej2fi/fsz- 1

1-2cos(2fi/fs ) z- 1 z- 2

(2. 2 ) )。

在fi=1209 Hz、fs=8000 Hz情况下,滤波器的频率响应如图1所示,改善后的Goertzel滤波器传递函数的信号流程图如图2所示,滤波器的递归部分为:

s[n]=x[n]2cos(2fi/fs ) s[n-1]-s[n-2] ) 2.3 )滤波器的非递归部分是:

y [ n ]=s[ n ] - ej2fi/fss[ n - 1 ] (2. 4 )

由于只需要滤波器第n个输出y [ n ],所以在滤波器的递归部分的最后的迭代完成之前,不需要计算非递归部分.另外,考虑到需要检测各DTMF频率中的信号的功率,对DFT系数的振幅进行平方即可

2

=s[ N ]2

-2cos(2fi/fs ) s[ N ] s[ N - 1 ] S [ N - 1 ]2

(2. 5 ) )。

由此,不需要复数运算,另外,对于各DTMF频率,也可以不每次计算而将2cos(2fi/fs )设为常数.

3改进的双音多频检测和Matlab实现仿真3. 1改进的双音多频检测

检测出的频率在表2所示名义频率的1. 5 %以内时,该频率有效,但超过名义频率的3 %时无效。

职业教育诊改网

职业教育诊改网

如果帧长小,则存在接收误差超过3. 5 %频率、特别是低频组的情况(考虑滤波器的灵敏度提高,排斥误差小于1. 5 %的频率、特别是高频组的情况(参照图3 (b ) )、高, 低频群为28 兰州工业高等专科学校学报第15卷1994-2010 chinaacademicjournalelectronicpublishinghouse.all rights reserved.3358 ww.cn ki

图3表示与各自频率对应的Goertzel滤波器的2帧长时的输出振幅的平方

ITU的时间规范要求DTMF信号至少持续40ms。 高频组的帧长为106个样本,采样率为8000Hz时,支持13. 3 ms的窗口宽度,保证40ms的双音多频音跨越至少两个完整的帧。 低频组的帧长在212不能保证。 要解决此问题,可以使用长度为212的Goertzel滤波器检测低频组的功率,每次四个。 在两个之间错开106个样本相当于使用106个宽样本的滑动窗口。 通过使用这两个滑动窗口,可以同时满足ITU的频率和时间规格。 为了不错误地检测语音中对应的DTMF的频率

DTMF声音可使用另一组Goertzel滤波器计算DTMF声音的8个二次谐波。 声音信号的高次谐波丰富,在某个DTMF频率下功率大的话,即使在2倍频率下功率也会变大,但是在DTMF中没有这样的情况,可以避免误检测。 在各帧最后的采样到来之后,为了使DTMF信号的功率超过-26 dBm,在以下的检查步骤中判断是否检测到有效的DTMF号码3:1 )功率检查3360高频带和低频带的最大功率中的哪一个

2 )信号反相检查:比较低频组和高频组的最大功率,比值必须在- 4 dB至8分贝之间。 3 )频偏校验:低频组或高频组的最大功率与该组其他频率的功率之比应大于一个阈值。 4 )总功率校验:低频组或高频组的最大功率与总功率之比应大于一定阈值。 如果输入信号是语音,则每组最大功率远小于总功率.5)二次谐波检测器:低频组或高频组的最大功率与对应的二次谐波功率之比必须大于某个阈值。 否则,输入信号为语音,并且在DTMF频率处的功率将较大。 如果通过上述所有检查,则为该帧

在中检测DTMF数字。 将检测到的DTMF数字与上次和上次检测到的数字进行比较,如果新结果与上次相同但与上次不同,则表示检测到新的有效DTMF数字。 如果连续三个帧检测到相同的结果,则新结果是前两个帧的连续结果,表示没有新数字。 3. 2 Matlab实现了仿真

为了评估DTMF检测算法,同时采用Matlab实现了DTMF信号发生器。 由该发生器产生的DTMF信号满足所有ITU限制,具有以下可调参数:的频率偏移、持续时间、休止时间、反转比率、二次谐波能量、高斯噪声强度、衰减强度。 可以在输出上叠加声音和音乐信号。 产生的信号可以用声卡播放。 通过改变信号而发生

统计特征,我们慎重选择了用于DTMF检测器的各个阈值。 测试结果表明,DTMF检测器可以满足所有ITU方案。 图4是DTMF发生器和检测器的屏幕截图。 4结语

将发生器参数调节到最坏情况,验证了文中提供的DTMF检测算法能满足所有ITU方案。 本DTMF检测算法基于三期薛曼芳:改进的Goertzel算法的双音多频检测器设计29

1994-2010 chinaacademicjournalelectronicpublishinghouse.all rights reserved.http://www.cn ki.net移植到数字信号处理器或VLSI 图4 DTMF发生器和检测

[1] ITU blue book.recommendationq.24:多因素推送- buttonsignalreception [ m ].Geneva,Switzerland 3360 it TTT

[2 ] M. D. Felder,J. C. Mason,b.l.Evans.efficient dual-tonemultifrequencydetectionusingthenonuniformdis2cretefon

[3 ] R. Beck,A. G. Dempster, I.kale.finite-precision go2 ertzelfiltersusedforsignaltonedetection [ j ].ieetransactionsoncircuitsandsystems -3: a60 2001,48 (6) :691~700.[4 ]王卫兵,等. Goertzel算法的改进计算结构[J ] .武汉大学学报[理学版],2007,53 (3) :375~378.

implementationofdtmftonedetectionbasedonmodifiedgoertzelalgorithmxueman-Fang

(technicalengineeringdepartmentoffuzhouvocationaltechnicalcollege,Fuzhou 350108,China ) tonegeneratorandde2tectorbymatlab.theauthorintroducestheiturecommendationsondtmfsignal, providestheoreticalbackgroundonthealgorithmsusedfortonedetection、 anddescribestheactualimplementationindetail.thedtmfdetectional2gorithmisbasedonthemodifiedgoertzelalgorithmthatmetsalllofthe Goertzel algorithm; ITU30 兰州工业高等专科学校学报第15卷

随机看看

NEW ARTICLE

标签

Tag