Goertzel算法下DTMF信号检测及参数优化.pdf

上传人:b****2 文档编号:3178331 上传时间:2022-11-19 格式:PDF 页数:5 大小:381.56KB
下载 相关 举报
Goertzel算法下DTMF信号检测及参数优化.pdf_第1页
第1页 / 共5页
Goertzel算法下DTMF信号检测及参数优化.pdf_第2页
第2页 / 共5页
Goertzel算法下DTMF信号检测及参数优化.pdf_第3页
第3页 / 共5页
Goertzel算法下DTMF信号检测及参数优化.pdf_第4页
第4页 / 共5页
Goertzel算法下DTMF信号检测及参数优化.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Goertzel算法下DTMF信号检测及参数优化.pdf

《Goertzel算法下DTMF信号检测及参数优化.pdf》由会员分享,可在线阅读,更多相关《Goertzel算法下DTMF信号检测及参数优化.pdf(5页珍藏版)》请在冰豆网上搜索。

Goertzel算法下DTMF信号检测及参数优化.pdf

Goertzel算法下DTMF信号检测及参数优化金鑫春,汪一鸣(苏州大学电子信息学院江苏苏州215021)摘要:

DTMF因具有很强的抗干扰能力以及较快的传输速度,被广泛应用于音频电话系统以及交互式控制系统中,如语音邮件、电话银行以及ATM终端等。

因此对它进行正确的检测十分关键。

这里就DTMF信号检测中的Goertzel算法原理以及主要参数的选择进行详细分析,重点对参数N的选取进行论证。

给出DTMF信号的检测流程及仿真结果。

最后将它与传统的FFT算法相对比从而得出Goertzel算法的优势。

关键词:

DTMF信号检测;Goertzel算法;参数优化;FFT算法中图分类号:

TP391.4文献标识码:

A文章编号:

10042373X(2010)062152204DTMFSignalDetectionandParameterOptimizationBasedonGoertzelAlgorithmJINXinchun,WANGYiming(SchoolofElectronicsandInformationEngineering,SoochowUniversity,Suzhou,215021,China)Abstract:

Duetoastronganti2interferenceabilityandfastertransmissionspeed,DTMFhasbeenwidelyusedinatouch2tonephonesystemsandinteractivecontrolsystem.Suchasvoicemail,telephonebankingandATMterminals.Thereforeitiscriticaltodetectitcorrectly.TheprincipleofGoertzelalgorithmforDTMFtonedetectionaswellashowtochoosethemainparametersarediscussedindetail,focusingonthedemonstrationoftheparameterNoptimization.SimulationenvironmentofthisalgorithmisdoneinMATLABandresultsfromperformancetestsaregiven.ComparingwiththetraditionalFFTalgo2rithm,Goertzealgorithmshowesitsadvantages.Keywords:

DTMFsignaldetection;Goertzelalgorithm;parameteroptimization;FFTalgorithm收稿日期:

20092112200引言双音多频信号(DualToneMultipleFrequency,DTMF)最初是由美国贝尔实验室研制。

作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力以及较快的传输速度,因此被广泛应用于音频电话系统中。

另外,它也可以在数据通信系统中被用来实现各种数据流和语音等信息的远程传输。

DTMF信令因其能实现更快的拨号速率而逐渐在全世界范围内被广泛采用,加上它便于自动检测识别以及电话业务的扩展,所以很快取代了传统转盘式电话机使用的脉冲计数方式的拨号形式1。

由于DTMF信号包含特定的频率,因此采用像Goertzel算法这样特定的频谱分析方法会比传统的DFT分析在软硬件实现上具有优势。

虽然目前对Goertzel算法的研究已很深入,但对检测过程中参数优化的详尽讨论不多。

本文在DTMF信号特有属性的基础上,结合Goertzel算法具有的递归特性实现对双音多频信号的正确检测,并着重对检测过程中涉及的参数进行详细的讨论,给出了参数N选取的论证,并分析检测过程中N选取不当造成的频率区分度差的问题。

为DTMF信号检测时正确选取参数提供了理论依据。

1DTMF信号及其特点一个DTMF信号由两个单音频正弦信号所组成,即每个DTMF信号必须包含一个来自低频组(697Hz,770Hz,852Hz,941Hz)的低频成分和一个来自高频组(1209Hz,1366Hz,1477Hz,1633Hz)的高频成分。

所以共可以有16种不同的组合来代表16个惟一的按键信息:

10个数字键09以及6个功能键2,即3,#,A,B,C,D,如图1所示3。

图1DTMF键盘组成DTMF信号的频率有一些特有的属性3:

251科学计算与信息处理金鑫春等:

Goertzel算法下DTMF信号检测及参数优化

(1)所有的音频都位于人的可听范围内,因此当按键按下时人可以监测到;

(2)8个频率中没有一个频率是其他任意一个频率的倍数;(3)8个频率中任意两个频率的组合,如相加或相减,都不等于其他任意一个频率。

这些特性不仅简化了DTMF信号的解码同时也降低了DTMF误检的概率。

这样便使得接收端几乎可以立即检测出按键的信息并可以摈弃语音或噪声的谐波能量。

因此语音或者噪声被误检为DTMF信号的概率就大大减小。

设DTMF信号用下式表示:

x(t)=0.25sin(2f1t)+0.25sin(2f2t)

(1)式中:

f1是选自低频组(697Hz,770Hz,852Hz,941Hz)中的任意一个频率,f2是选自高频组(1209Hz,1366Hz,1477Hz,1633Hz)中的任意一个频率,则产生按键A所对应的DTMF信号如图2所示。

图2DTMF信号对该DTMF时域信号用8kHz进行采样便可以得到DTMF的数字序列x(n)。

在信号接收端,需要对DTMF信号进行检测,即寻找信号的行频和列频,最后根据图1的DTMF键盘信息确定相应的数字或符号。

对DTMF信号的检测一般有两种方法:

通过滤波器进行频率的选择判定或者通过分析信号的频谱进行判定。

由于频谱分析的方法比较灵活,对硬件要求低,本文选择通过对信号的频谱进行分析从而判定按键信息。

对信号频谱的分析可以采用DFT,FFT以及Goertzel算法。

这里主要采用Goertzel算法进行检测判定。

2Goertzel算法原理Goertzel算法实质是以一个二阶IIR带通滤波器为基础,该带通滤波器具有如下的传递函数4:

Hk(z)=1-ej2k/Nz-11-2cos(2k)/Nz-1+z-2

(2)利用该算法可以有效地计算DTMF信号的DFT值。

以往实验已经表明该算法对于提取DTMF输入信号既有效又快速。

该滤波器的直接型实现可以表述为以下差分方程5:

vkn=xn+2cos(k)vkn-1-vkn-2(3)ykn=vkn-vkn-1exp(-jk)(4)该滤波器所对应的网络结构如图3所示。

其中,xn是输入的采样值,并且vk-1=vk-2=0,k=2fk=2kfs/N。

式(3)代表Goertzel算法的递归部分,它对每一个输入样值进行计算(共计算N次)。

式(4)在递归结束后只需计算一次,这样便可以得到所需要的DFT的信息。

由以上分析不难推出计算一个DFT共需N+2次实数乘和2N+1次加运算6。

图3Goertzel算法框图3Goertzel算法具体实现及性能分析首先,由于DTMF信号在时域是模拟的,因此对它的检测需要先对其采样形成数字信号。

从组成DTMF信号的高、低频率组中可以看到其最大频率为1633Hz,采用fs=8kHz的采样频率对其采样显然满足奈奎斯特采样定律。

此外,N的选取决定了频率分辨率以及捕捉N个样值所需要的时间,对基于Goertzel算法的DTMF信号检测的有效性来说至关重要。

频率分辨率被用来选择IIR滤波器中所需的DTMF信号的频率,这可以通过计算下式中的k来实现:

fk=(kfs)/N(5)这样计算出的DTMF信号频率可能与实际的DTMF信号频率有一定的差别,但可以通过加大N的选取来减小这种频率差异。

然而从另外一方面来考虑,虽然加大了N的选取会使频率的差异减小,但这势必会带来捕捉N个样值所需要的时间的增加,而这个时间的增加势必会对检测的效果造成一定的影响。

因此,需要在频率分辨率和捕捉N个样值所需要的时间这两个因素之间做出权衡。

由DTMF信号频率所具有的特性不难发现要选取一定的N值使得计算出的频率和真实的DTMF信号的频率相一致几乎不可能,而实际中也并不需要计算出来的频率值与其真实频率相一致,只需偏差保持在1.5%即可认为是DTMF信号的真实频率729。

在对DTMF信号采样以及确定N,k值之后就可以进行检351现代电子技术2010年第6期总第317期?

计算机应用技术?

测。

检测过程如图4所示。

图4DTMF信号检测流程图图57是部分检测结果。

根据谱线峰值出现对应的k值即可确定对应的行频与列频,从而辨别出对应的按键信息。

图57分别对应数字(0,1)、字母(A,B)和符号(3,#)的信号频谱图(N=205)。

实验发现,N值的恰当选取可以使得Xk最大峰值远远大于其他值,特别是与相邻值可以有尽可能大的幅度差值,有利于在噪声背景下正确检出信号。

反之,若N值选取不恰当,会出现误判的现象。

图5检测的DTMF信号频谱图

(一)例如当N=225时,判决“#”键时得到的结果如图8所示。

比较图8和图7右侧部分发现,此时的频率区分度明显很差,可见N的取值关系到检测DTMF信号的正确概率。

由(5)式可知,当k的绝对误差越小时,检测到的频率的正确率越高。

图6检测的DTMF信号频谱图

(二)图7检测的DTMF信号频谱图(三)下面对k的绝对误差最小时N的取值进行简要的论证:

任取一有效频率进行证明,如941Hz,令y1表示k的绝对误差,t表示对x变量替换后的变量,y2是y1的上取整表示。

问题便简化为以下数学模型:

x为何值时y1=|941/8000x-941/8000x|可取得最小值?

其中N的变化区间用x表451科学计算与信息处理金鑫春等:

Goertzel算法下DTMF信号检测及参数优化示,160x250。

证明:

(1)|941/8000x-941/8000x|min=min(y2,-|941/8000x|+941/8000x)。

其中y2=|941/8000x|-941/8000x,而-|941/8000x|+941/8000x=1-y2。

|941/8000x-941/8000x|min=min(y2,1-y2),这样就要求由函数y2划分区间得到的单调函数的最大和最小值,从中找到最小的一个。

图8N取值不当时检测的DTMF信号频谱图

(2)变量代换:

y2=|941/8000x|-941/8000x=|941/8000(t+160)|-941/8000(t+160)=|941/8000t+0.82|-941/8000t-0.82,其中0t90。

t=0时y2=0.18;t=1时y2=0.062375,然后按941/8000t10以后发现每一个分段函数由常数项和一次项组成,而常数项每次增加1,对于一次项941/8000t,当ti+1-ti8.5时,才有941/8000(ti+1-ti)1。

了解这些之后,只要计算0,1,10,27,44,61,78这些端点的值,找出最小的一个。

计算这些点的函数值,得到:

t=10时,y2有最小值,返回原定义域,即x=170时,y2有最小值0.00375。

依照以上同样的原理,y2的最大值只可能在以上每一分段区间的左端点取到,本例中y2取得最大值0.946625。

x=170时,y1取得最小值,且:

y1min=min(y2,1-y2)=0.00375。

同理对于其他的频率可以得到相应的x的取值,这样便得到分别对应8个频率误差最小的一个最佳N值序列xi=241,187,

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

当前位置:首页 > 工程科技 > 材料科学

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

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