一种DTMF信号检测装置及方法转让专利

申请号 : CN201910315296.9

文献号 : CN109818685B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李小兵黄一火许昊

申请人 : 翱捷科技(上海)有限公司

摘要 :

本申请公开了一种DTMF信号检测装置,包括顺序连接的总能量门限判断单元、Goertzel算法DFT幅值计算单元、DFT幅值基本判据单元、分频段FFT能量计算单元、分频段FFT能量增强判据单元、DTMF双音频率检索单元。本申请还公开了一种DTMF信号检测方法。本申请通过DFT运算和判断、FFT运算和判断的双重判断模式提升了在复杂环境即干扰条件下检测DTMF信号的准确率与稳定性,降低虚警概率。

权利要求 :

1.一种DTMF信号检测装置,其特征是,包括顺序连接的总能量门限判断单元、Goertzel算法DFT幅值计算单元、DFT幅值基本判据单元、分频段FFT能量计算单元、分频段FFT能量增强判据单元、DTMF双音频率检索单元;

所述总能量门限判断单元用于将输入的语音信号拆分为一个个语音帧,计算每一个语音帧在时域上的能量,并与某一个门限值做比较,舍弃能量小于门限值的语音帧,保留能量大于或等于门限值的语音帧并传输给Goertzel算法DFT幅值计算单元;

所述Goertzel算法DFT幅值计算单元用于采用Goertzel算法计算每个语音帧在DTMF信号的八个频率点的DFT幅值,并传输给DFT幅值基本判据单元;

所述DFT幅值基本判据单元用于采用Goertzel算法对每个语音帧的DFT幅值进行判断,得到初步认定的DTMF信号,并传输给分频段FFT能量计算单元;

所述分频段FFT能量计算单元用于选取若干频率点,所选取的频率点分为低频群、高频群和补偿群;所述低频群的频率点是在625Hz至1025Hz的低频频段内以78Hz至79Hz的频率间隔、并且接近DTMF信号的四个低频频率值来选取;所述高频群的频率点是在1176Hz至

1674Hz的高频频段内等间距地、并且接近DTMF信号的四个高频频率值来选取;所述补偿群是在低频频段和高频频段以外选取频率点;所述分频段FFT能量计算单元还对初步认定为DTMF信号的语音帧分频段在这些频率点计算FFT幅值,并传输给分频段FFT能量增强判据单元;

所述分频段FFT能量增强判据单元用于对初步认定为DTMF信号的语音帧的分频段FFT幅值进行判断,得到最终认定的DTMF信号,并传输给DTMF双音频率检索单元;

所述DTMF双音频率检索单元用于将最终认定的DTMF信号中检测到的能量最大的低频频率点与能量最大的高频频率点在DTMF频率表上查表输出对应的按键键值。

2.根据权利要求1所述的DTMF信号检测装置,其特征是,所述总能量门限判断单元将输入的语音信号拆分为长度固定为20ms的一个个语音帧。

3.根据权利要求1所述的DTMF信号检测装置,其特征是,所述Goertzel算法DFT幅值计算单元在进行DFT运算时采用64至256之间的采样点数。

4.根据权利要求1所述的DTMF信号检测装置,其特征是,所述分频段FFT能量计算单元所选取的低频群频率点分别是705Hz、784Hz、862Hz、941Hz;所选取的高频群频率点分别是

1176Hz、1333Hz、1490Hz、1647Hz;所选取的补偿群频率点分别是78Hz、235Hz、313Hz、392Hz、

548Hz、1098Hz。

5.根据权利要求1所述的DTMF信号检测装置,其特征是,所述分频段FFT能量计算单元在进行FFT运算时采用64至256之间的采样点数。

6.一种DTMF信号检测方法,其特征是,包括如下步骤:

步骤202:采集语音信号,将实时的语音数据分为一个个语音帧;

步骤204:计算每个语音帧在时域上的能量,并与某一个门限值做比较,舍弃能量小于门限值的语音帧,保留能量大于或等于门限值的语音帧;

步骤206:采用Goertzel算法计算每个语音帧在DTMF信号的八个频率点的DFT幅值;

步骤208:采用Goertzel算法对每个语音帧的DFT幅值进行判断,得到初步认定的DTMF信号;

步骤210:将初步认定为DTMF信号的语音帧分频段计算FFT幅值;所述分频段计算FFT幅值是选取若干频率点,对初步认定为DTMF信号的语音帧分频段在这些频率点计算FFT幅值;

所选取的频率点分为低频群、高频群和补偿群;所述低频群的频率点是在625Hz至1025Hz的低频频段内以78Hz至79Hz的频率间隔、并且接近DTMF信号的四个低频频率值来选取;所述高频群的频率点是在1176Hz至1674Hz的高频频段内等间距地、并且接近DTMF信号的四个高频频率值来选取;所述补偿群是在低频频段和高频频段以外选取频率点;

步骤212:对初步认定为DTMF信号的语音帧的分频段FFT幅值进行判断,得到最终认定的DTMF信号;

步骤214:将最终认定的DTMF信号相应的能量最大的低频频点、能量最大的高频频点在DTMF频率表上查表得到对应的按键键值。

7.根据权利要求6所述的DTMF信号检测方法,其特征是,所述步骤208具体包括如下步骤:步骤302:以DTMF信号的四个低频频率值为行,以DTMF信号的四个高频频率值为列,计算每个语音帧在DTMF信号的八个频率点的能量的平均值Dmean,并得到每个语音帧在行上的最大能量Rmax以及在列上的最大能量Cmax,还计算每个语音帧在除DTMF信号的八个频率点以外的能量的平均值Dothers;或者,这一步的部分或全部计算改为在步骤206中进行;

步骤304:当Rmax≥两倍的Dmean、且Cmax≥两倍的Dmean时,进入下一步;否则舍弃该语音帧;

步骤306:当Rmax与Cmax的比值≤4、且Cmax与Rmax的比值≤8时,进入下一步;否则舍弃该语音帧;

步骤308:当Rmax与Dothers的比值≥2、且Cmax与Dothers的比值≥2时,进入下一步;否则舍弃该语音帧;

所述步骤304、步骤306、步骤308的顺序或者互换,或者同时进行;

步骤310:进入这一步的语音帧就是初步认定的DTMF信号。

8.根据权利要求7所述的DTMF信号检测方法,其特征是,所述步骤308中的判断条件改为当Rmax与Dothers的比值≥3、且Cmax与Dothers的比值≥3。

9.根据权利要求6所述的DTMF信号检测方法,其特征是,所述步骤212具体包括如下步骤:步骤402:查找DTMF信号的八个频率点在进行FFT后对应的频带;

步骤404:将每个DTMF信号的频率点所在频带及其左右各k个频带即总共2k+1个频带的能量取平均值作为一个DTMF频率点的能量;所有频带中去除掉八个DTMF频率点的能量所占用的16k+8个频带后的各频带能量的平均值作为非DTMF平均能量;

步骤406:当某个DTMF频率点的能量≥第二门限值时,进入下一步;否则舍弃该DTMF频率点;

步骤408:某个DTMF频率点的能量≥非DTMF平均能量时,进入下一步,否则舍弃该DTMF频率点;

所述步骤406、步骤408的顺序或者互换,或者同时进行;

步骤410:如果语音帧有且仅有一个低频DTMF频率点、同时有且仅有一个高频DTMF频率点进入这一步,则该语音帧就是最终认定的DTMF信号;否则DTMF信号检测失败。

说明书 :

一种DTMF信号检测装置及方法

技术领域

[0001] 本申请涉及一种DTMF信号检测技术,特别是涉及在具有干扰信号的复杂环境下具有较高准确率的DTMF信号检测技术。

背景技术

[0002] 双音多频(DTMF,Dual-Tone Multi-Frequency)技术是一种电话设备与其他通讯设备和交换中心之间在电话线上通过音频频带传输的带内(in band)通讯信号,通常用于快速、可靠地传输电话号码。
[0003] 请参阅图1,这是一种采用DTMF技术的拨号键盘,为4×4的矩阵结构,其中第4列的按键也可以省略。每一行代表一个低频信号,例如分别是697Hz、770Hz、852Hz和941Hz。每一列代表一个高频信号,例如分别是1209Hz、1336Hz、1477Hz和1633Hz。每按一个键就发送相应行的低频信号和相应列的高频信号的组合,例如按下“1”键就发送697Hz低音(low tone)信号和1209Hz高音(high tone)信号的组合。交换中心可以解码这些频率组合并确定所对应的按键。
[0004] 所有支持语音通话的电子设备中都具有SLIC(Subscriber Line Interface Circuit,用户线接口电路)芯片,通常在SLIC芯片中包含有DTMF检测电路。为了节省成本,SLIC芯片中也可以没有DTMF检测电路,而是在手机等电子设备的基带芯片中包含DTMF检测电路。
[0005] 现有对DTMF信号的检测多采用Goertzel算法,基本原理是从给定的采样信号中求出某一特定频率信号的能量,以判断是否存在有效的DTMF信号。当待检测信号比较干净、不混杂语音信号时,采用Goertzel算法就能达到比较高的检测准确率。当待检测信号中混杂有语音、音乐、噪声等干扰信号时,会存在干扰信号的基波能量或谐波能量恰好覆盖或部分覆盖DTMF信号频带的情况,此时对DTMF信号的检测就容易出错。
[0006] 理想情况下,DTMF信号只在基波上有较高的能量,而语音、音乐等干扰信号则是在基波上叠加有较强的二次谐波。所以在进行DTMF信号检测时,可以根据二次谐波的能量来区分DTMF信号和语音、音乐等干扰信号。但是实际情况下,不同厂家的SLIC芯片产生的DTMF信号质量有较大的差异,有的SLIC芯片产生的DTMF信号的二次谐波能量也较大,因此根据二次谐波的能量来进行区分也容易出错。
[0007] 因此,非常需要一种能够用于强噪声、音乐、语音等干扰环境下高鲁棒性(robustness)的DTMF信号检测方法。

发明内容

[0008] 本申请所要解决的技术问题是提供一种在强噪声、音乐、语音等干扰环境下的DTMF信号检测装置,具有较高的检测准确率。为此,本申请还要提供一种DTMF信号检测方法。
[0009] 为解决上述技术问题,本申请提供了一种DTMF信号检测装置,包括顺序连接的总能量门限判断单元、Goertzel算法DFT幅值计算单元、DFT幅值基本判据单元、分频段FFT能量计算单元、分频段FFT能量增强判据单元、DTMF双音频率检索单元。所述总能量门限判断单元用于将输入的语音信号拆分为一个个语音帧,计算每一个语音帧在时域上的能量,并与某一个门限值做比较,舍弃能量小于门限值的语音帧,保留能量大于或等于门限值的语音帧并传输给Goertzel算法DFT幅值计算单元。所述Goertzel算法DFT幅值计算单元用于采用Goertzel算法计算语音帧的DFT幅值,并传输给DFT幅值基本判据单元。所述DFT幅值基本判据单元用于采用Goertzel算法对语音帧的DFT幅值进行判断,得到初步认定的DTMF信号,并传输给分频段FFT能量计算单元。所述分频段FFT能量计算单元用于对初步认定为DTMF信号的语音帧分频段计算FFT幅值,并传输给分频段FFT能量增强判据单元。所述分频段FFT能量增强判据单元用于对语音帧的分频段FFT幅值进行判断,得到最终认定的DTMF信号,并传输给DTMF双音频率检索单元。所述DTMF双音频率检索单元用于将最终认定的DTMF信号中检测到的能量最大的低频频率点与能量最大的高频频率点在DTMF频率表上查表输出对应的按键键值。
[0010] 上述DTMF信号检测装置通过DFT幅值、FFT分频段幅值先后进行两次判断,在混杂有语音和音乐的情况下,能比较准确的检测出DTMF信号,将虚警概率降到最小。
[0011] 优选地,所述总能量门限判断单元将输入的语音信号拆分为长度固定为20ms的一个个语音帧。这是语音帧的一种优选示例。
[0012] 进一步地,所述Goertzel算法DFT幅值计算单元在进行DFT运算时采用64至256之间的采样点数。考虑到DTMF信号的特点,在此范围内的采样点数可以减少时延和运算量。
[0013] 进一步地,所述分频段FFT能量计算单元在进行FFT运算时采用64至256之间的采样点数。考虑到DTMF信号的特点,在此范围内的采样点数可以减少时延和运算量。
[0014] 进一步地,所述Goertzel算法DFT幅值计算单元选取若干频率点,计算语音帧在这些频率点的能量即DFT幅值;所选取的频率点分为低频群、高频群和补偿群;所述低频群是指在低频频段内大致等间距地选取四个频率点;所述高频群是指在高频频段内大致等间距地选取四个频率点。这是计算DFT幅值的一种优选实现方式。
[0015] 进一步地,所述Goertzel算法DFT幅值计算单元还计算语音帧在所述补偿群的所有频率点的能量的平均值Dothers。所计算的Dothers将用于后续的判断过程中。
[0016] 本申请还提供了一种DTMF信号检测方法,包括如下步骤:步骤202:采集语音信号,将实时的语音数据分为一个个语音帧。步骤204:计算每个语音帧在时域上的能量,并与某一个门限值做比较,舍弃能量小于门限值的语音帧,保留能量大于或等于门限值的语音帧。步骤206:采用Goertzel算法计算语音帧的DFT幅值。步骤208:采用Goertzel算法对语音帧的DFT幅值进行判断,得到初步认定的DTMF信号。步骤210:将初步认定为DTMF信号的语音帧分频段计算FFT幅值。步骤212:对语音帧的分频段FFT幅值进行判断,得到最终认定的DTMF信号。步骤214:将最终认定的DTMF信号相应的能量最大的低频频点、能量最大的高频频点在DTMF频率表上查表得到对应的按键键值。
[0017] 上述DTMF信号检测方法提供了DFT幅值、FFT分频段幅值的两个判断步骤,以尽可能消除各种环境因素的影响,能够得到极强的鲁棒性。整体方法仍能保持较低的运算复杂度,具有很高的实际应用价值。
[0018] 进一步地,所述步骤208具体包括如下步骤:步骤302:以DTMF信号的四个低频频率值为行,以DTMF信号的四个高频频率值为列,计算每个语音帧在DTMF信号的八个频率点的能量的平均值Dmean,,并得到每个语音帧在行上的最大能量Rmax以及在列上的最大能量Cmax,还计算每个语音帧在除DTMF信号的八个频率点以外的能量的平均值Dothers。步骤304:当Rmax≥两倍的Dmean、且Cmax≥两倍的Dmean时,进入下一步;否则舍弃该语音帧。步骤306:当Rmax与Cmax的比值≤4、且Cmax与Rmax的比值≤8时,进入下一步;否者舍弃该语音帧。步骤308:当Rmax与Dothers的比值≥2、且Cmax与Dothers的比值≥2时,进入下一步;否则舍弃该语音帧。所述步骤304、步骤306、步骤308的顺序或者互换,或者同时进行。步骤
310:进入这一步的语音帧就是初步认定的DTMF信号。这是步骤208的一种具体实现方式。
[0019] 优选地,所述步骤308中的判断条件改为当Rmax与Dothers的比值≥3、且Cmax与Dothers的比值≥3。这是步骤308的一种优选参数示例。
[0020] 进一步地,所述步骤212具体包括如下步骤:步骤402:查找DTMF信号的八个频率点在进行FFT后对应的频带。步骤404:将每个DTMF信号的频率点所在频带及其左右各k个频带即总共2k+1个频带的能量取平均值作为一个DTMF频率点的能量;所有频带中去除掉八个DTMF频率点的能量所占用的2k+1个频带后的各频带能量的平均值作为非DTMF平均能量。步骤406:当某个DTMF频率点的能量≥第二门限值时,进入下一步;否则舍弃该DTMF频率点。步骤408:某个DTMF频率点的能量≥非DTMF平均能量时,进入下一步,否则舍弃该DTMF频率点。所述步骤406、步骤408的顺序或者互换,或者同时进行。步骤410:如果语音帧有且仅有一个低频DTMF频率点、同时有且仅有一个高频DTMF频率点进入这一步,则该语音帧就是最终认定的DTMF信号;否则DTMF信号检测失败。这是步骤212的一种具体实现方式,用来对初步认定的DTMF信号进行复核以提升检测准确率。
[0021] 本申请取得的技术效果是通过DFT运算和判断、FFT运算和判断的双重判断模式提升了在复杂环境(干扰条件下)检测DTMF信号的准确率与稳定性,降低虚警概率。

附图说明

[0022] 图1是一种采用DTMF技术的拨号键盘的示意图。
[0023] 图2是本申请的DTMF信号检测装置的结构示意图。
[0024] 图3是本申请的DTMF信号检测方法的流程示意图。
[0025] 图4是图3中步骤208的详细流程示意图。
[0026] 图5是图3中步骤212的详细流程示意图。
[0027] 图6是采用现有的DTMF信号检测方法得到的检测结果频谱图。
[0028] 图7是采用本申请的DTMF信号检测方法得到的检测结果频谱图。
[0029] 图中附图标记说明:10为DTMF信号检测装置;12为总能量门限判断单元;14为Goertzel算法DFT幅值计算单元;16为DFT幅值基本判据单元;18为分频段FFT能量计算单元;110为分频段FFT能量增强判据单元;112为DTMF双音频率检索单元。

具体实施方式

[0030] 请参阅图2,本申请提供的DTMF信号检测装置10包括顺序连接的总能量门限判断单元12、Goertzel算法DFT幅值计算单元14、DFT幅值基本判据单元16、分频段FFT能量计算单元18、分频段FFT能量增强判据单元110、DTMF双音频率检索单元112。
[0031] 所述总能量门限判断单元12用于将输入的语音信号拆分为一个个语音帧,语音帧的长度可以是固定的或可变的,优选地语音帧的长度固定为20ms。所述总能量门限判断单元12还用于计算每一个语音帧在时域上的能量,并与某一个门限值做比较,舍弃能量小于门限值的语音帧,保留能量大于或等于门限值的语音帧并传输给后续单元。所述能量的计算方式例如是 ,其中h(n)例如是汉宁窗(Hann window)函数。
[0032] 所述Goertzel算法DFT幅值计算单元14用于采用Goertzel算法计算语音帧在DTMF信号的八个频率点的能量即DFT(Discrete Fourier Transform,离散傅里叶变换)幅值,并传输给后续单元。Goertzel算法的优势在于能够快速计算DFT幅值。进一步地,所述Goertzel算法DFT幅值计算单元14在进行DFT运算时采用64至256之间的采样点数,优选采用128个采样点数,这样可以尽可能降低时延和减少运算量。
[0033] 所述DFT幅值基本判据单元16用于采用Goertzel算法对语音帧的DFT幅值进行判断,得到初步认定的DTMF信号,并传输给后续单元。所述初步认定的DTMF信号是一个语音帧,其中有一个能量最大的低频频点x1与一个能量最大的高频频点y1。
[0034] 所述分频段FFT能量计算单元18用于对初步认定为DTMF信号的语音帧分频段计算FFT(Fast Fourier Transform,快速傅里叶变换)幅值,并传输给后续单元。进一步地,所述分频段FFT能量计算单元18在进行FFT运算时采用64至256之间的采样点数,优选采用128个采样点数,这样可以尽可能降低时延和减少运算量。所采用的采样点数就是分频段的数量,例如做128点FFT就是分为128个频段。由于DTMF信号的八个频率点的相互间隔最小是73Hz,所以选取128点FFT就能满足分辨率要求,并且FFT引入的运算量也不大。
[0035] 所述分频段FFT能量增强判据单元110用于对语音帧的分频段FFT幅值进行判断,得到最终认定的DTMF信号,并传输给后续单元。所述最终认定的DTMF信号是一个语音帧,其中有一个能量最大的低频频点x2与一个能量最大的高频频点y2。
[0036] 所述DTMF双音频率检索单元112用于将最终认定的DTMF信号中检测到的能量最大的低频频率点与能量最大的高频频率点在DTMF频率表上查表输出对应的按键键值。
[0037] 请参阅图3,本申请提供的DTMF信号检测方法包括如下步骤。
[0038] 步骤202:采集语音信号,将实时的语音数据分为一个个语音帧。
[0039] 步骤204:计算每个语音帧在时域上的能量,并与某一个门限值做比较,舍弃能量小于门限值的语音帧,保留能量大于或等于门限值的语音帧。
[0040] 步骤206:采用Goertzel算法计算每个语音帧在DTMF信号的八个频率点的能量即DFT幅值。
[0041] 步骤208:采用Goertzel算法对每个语音帧的DFT幅值进行判断,得到初步认定的DTMF信号。
[0042] 步骤210:将初步认定为DTMF信号的语音帧分频段计算FFT幅值。
[0043] 步骤212:对初步认定为DTMF信号的语音帧的分频段FFT幅值进行判断,得到最终认定的DTMF信号。
[0044] 步骤214:将最终认定的DTMF信号相应的能量最大的低频频点、能量最大的高频频点在DTMF频率表上查表得到对应的按键键值。
[0045] 请参阅图4,所述步骤208在DTMF信号检测装置10中是由DFT幅值基本判据单元16予以实现的,具体包括如下步骤。
[0046] 步骤302:以DTMF信号的四个低频频率697Hz、770Hz、852Hz、941Hz为行,以DTMF信号的四个高频频率1209Hz、1336Hz、1477Hz、1633Hz为列,计算每个语音帧在DTMF信号的八个频率点的能量的平均值Dmean,并得到每个语音帧在行上的最大能量Rmax以及在列上的最大能量Cmax,还计算每个语音帧在除DTMF信号的八个频率点以外的能量的平均值Dothers。这一步的部分或全部计算也可放在步骤206中由DTMF信号检测装置10中的Goertzel算法DFT幅值计算单元14予以实现。
[0047] 步骤304:当Rmax≥两倍的Dmean、且Cmax≥两倍的Dmean时,进入下一步;否则舍弃该语音帧。这是由于DTMF信号应该只有一个低频频点的能量特别强,也应该只有一个高频频点的能量特别强,因此以DTMF信号的八个频率点的能量的平均值Dmean作为判断依据剔除掉不符合要求的语音帧。
[0048] 步骤306:当Rmax与Cmax的比值≤4、且Cmax与Rmax的比值≤8时,进入下一步;否者舍弃该语音帧。这是由于DTMF信号的低频频段与高频频段的能量较为接近,并且通常低频能量要强于高频能量。
[0049] 步骤308:当Rmax与Dothers的比值≥2、且Cmax与Dothers的比值≥2时,进入下一步;否则舍弃该语音帧。这是由于DTMF信号能量一般远大于其他信号能量。优选地,这一步的判断条件可以改为当Rmax与Dothers的比值≥3、且Cmax与Dothers的比值≥3。
[0050] 步骤304、步骤306、步骤308的顺序可以互换,或者同时进行。
[0051] 步骤310:进入这一步的语音帧就是初步认定的DTMF信号。该语音帧在行上的最大能量Rmax对应于能量最大的低频频点x1,该语音帧在列上的最大能量Cmax对应于能量最大的高频频点y1。
[0052] 图3中的步骤210在DTMF信号检测装置10中是由分频段FFT能量计算单元18予以实现的,是选取若干频率点并计算每个语音帧在这些选取的频率点的能量即FFT幅值。所选取的频率点分为低频群、高频群和补偿群。所述低频群是指在625Hz至1025Hz的低频频段内大致等间距地、并且尽量接近DTMF信号的四个低频频率值来选取四个频率点,例如分别是705Hz、784Hz、862Hz、941Hz,频率间隔为78Hz至79Hz大致相同。所述高频群是指在1176Hz至
1674Hz的高频频段内大致等间距地、并且尽量接近DTMF信号的四个高频频率值来选取四个频率点,例如分别是1176Hz、1333Hz、1490Hz、1647Hz,频率间隔为157Hz完全相同。所述补偿群是指在低频频段和高频频段以外选择六个频率点,例如分别是78Hz、235Hz、313Hz、
392Hz、548Hz、1098Hz。
[0053] 处理语音信号的大量实验及经验表明:低频能量对整体的语音质量会有很大的影响。在DTMF信号检测中,低频能量的干扰也会对整体检测结果产生很大的影响。因此分频段FFT能量计算单元18在低频频段内选取的频率点的间隔较小。而高频频段的能量分布分散且对DTMF信号的检测影响较小,为减少运算量可以扩大所选取的频率点的频率间隔。
[0054] 请参阅图5,所述步骤212在DTMF信号检测装置10中是由分频段FFT能量增强判据单元110予以实现的,具体包括如下步骤。
[0055] 步骤402:根据所述步骤208的计算结果查找DTMF信号的八个频率点在进行FFT后对应的频带。例如当进行128点FFT运算后,就被分为128个频段,DTMF信号的八个频率点由低至高分别对应FFT变换后的第11、12、14、15、19、21、24、26个频带。
[0056] 步骤404:将每个DTMF信号的频率点所在频带及其左右各k个频带即总共2k+1个频带的能量取平均值作为一个DTMF频率点的能量。优选地,k取1。所有频带中去除掉八个DTMF频率点的能量所占用的16k+8个频带后的各频带能量的平均值作为非DTMF平均能量。这一步采用相邻频带求和后平均可以综合考虑各频带的能量分配情况,使得结果更为准确。降低环境噪声、语音等对DTMF信号检测的影响,提升鲁棒性。
[0057] 步骤406:当某个DTMF频率点的能量≥第二门限值时,进入下一步;否则舍弃该DTMF频率点。
[0058] 步骤408:某个DTMF频率点的能量≥非DTMF平均能量时,进入下一步,否则舍弃该DTMF频率点。
[0059] 步骤406、步骤408的顺序可以互换,或者同时进行。
[0060] 步骤410:如果语音帧有且仅有一个低频DTMF频率点、同时有且仅有一个高频DTMF频率点进入这一步,则该语音帧就是最终认定的DTMF信号;否则DTMF信号检测失败。进入这一步的低频DTMF频率点作为该语音帧的低频频点x2,进入这一步的高频DTMF频点作为该语音帧的高频频点y2。
[0061] 图5所示的步骤212主要针对一些复杂语音、音乐背景音等场景下,通过信号的频谱能量判断可以有效地降低虚警率,达到极高的检测准确率。
[0062] 请参阅图6,这是采用现有的DTMF信号检测方法得到的检测结果频谱图,其中上半部分是信号处理前的语音信号,下半部分是信号处理后的语音信号。图中,横坐标为时间,纵坐标为声音频率,鱼骨状的纹路对应于声音的能量分配频率点,颜色越浅(呈现为白色)的地方能量越强。由于现有的DTMF信号检测方法鲁棒性不够强,因此在环境噪声的影响下会将与DTMF频点接近的语音信号误检测为DTMF信号。由于DTMF信号只有两个单频,人听到会引发不适,因此将其去除,所以在下半部分的方框中看不到这一段,即丢失了语音内容。这也就是产生了误检测。
[0063] 请参阅图7,这是采用本申请的DTMF信号检测方法得到的检测结果频谱图,其中上半部分是信号处理前的语音信号,下半部分是信号处理后的语音信号。图中,横坐标为时间,纵坐标为声音频率,鱼骨状的纹路对应于声音的能量分配频率点,颜色越浅(呈现为白色)的地方能量越强。与图6采用的同样的一段语音信号,使用了本申请的方法后,在做完语音处理后仍然保留了原始语音,并不会产生误检测,体现了较强的鲁棒性。
[0064] 本申请提供的DTMF检测装置及其方法对现有的DTMF信号检测算法做了一些改进,具有以下技术效果。
[0065] 第一,能够在各种复杂环境(干扰条件下)稳定准确地检测DTMF信号,例如强噪声、语音、音乐等干扰项,降低虚警概率。这是由于采用了DFT运算和判断、FFT运算和判断的双重判断模式。
[0066] 第二,考虑DTMF信号的特点,尽可能多地运用门限值,因此能够满足更多不同的应用场景,具有极强的鲁棒性。
[0067] 第三,实现DTMF信号检测的装置很难保证硬件一致性,本申请能够适应不同通讯设备的硬件条件,硬件的质量好坏不会影响检测精度,具有极强的鲁棒性。
[0068] 第四,本申请的DTMF信号检测装置可以放在基带处理芯片中,从而对SLIC芯片要求降低,降低成本。随着移动通信技术发展,无线客户终端设备(CPE,Customer-Premises Equipment)的应用越来越广泛。这是一种将高速4G信号转换成WIFI信号,同时接上话机也可以打电话的设备。CPE能利用现有的移动通信网络,节省铺设有线网络的费用。本申请的DTMF信号检测装置也可以放在CPE通讯芯片中,以降低成本,适用于各种形式的电话机。
[0069] 以上仅为本申请的优选实施例,并不用于限定本申请。对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。