目录
DTMF信号是由两个不同频率的音频信号同时发送形成的复合信号,它由8个高频音调(1209Hz, 1336Hz, 1477Hz, 1633Hz)和8个低频音调(697Hz, 770Hz, 852Hz, 941Hz)组成,形成16种不同的信号组合,对应于0-9的数字及A-D、*、#等特殊字符。
DTMF,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信令有16个编码。利用DTMF信令可选择呼叫相应的对讲机同时,双音多频信号是电话系统中电话机与交换机之间的一种用户信令,通常用于发送被叫号码。在使用双音多频信号之前,电话系统中使用一连串的断续脉冲来传送被叫号码,称为脉冲拨号。脉冲拨号需要电信局中的操作员手工完成长途接续。
双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频。每按一个键就发送一个高频和低频的正弦信号组合,比如'1'相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。
数字或功能键组合表如下图所示:
DTMF 是用两个特定的单音频组合信号来代表数字信号以实现其功能的一种编码技术。两个单音频的频率不同,代表的数字或实现的功能也不同。这种电话机中通常有16 个按键, 其中有10 个数字键0~9 和6 个功能键*、#、A、B、C、D。由于按照组合原理,一般应有8 种不同的单音频信号。因此可采用的频率也有8 种,故称之为多频,又因它采用从8 种频率中任意抽出2 种进行组合来进行编码,所以又称之为“8 中取2”的编码技术。
根据 CCITT 的建议,国际上采用的8个频率为:687Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz 和1633Hz。用这8 个频率可形成16 种不同的组合,从而代表16 个不同的数字或功能键。
0.DTMF信号的生成
设某一按键对应的DTMF信号由两个特定频率的正弦波合成:
则该键产生的DTMF信号可表示为两路信号的叠加:
其中,ℎAhigh 和Alow 是各自频率成分的幅度。
1.DTMF信号的识别
DTMF信号包含两组音频信号,解码器的任务是通过数学变换把它从时域转化到频域,然后得出对应的数字信息。
在接收端,将收到的模拟音频信号进行A/D变换,恢复为数字信号,然后检测其中的音频频谱来确定所发送的数字。检测算法可以是快速傅立叶变换(FFT)算法的DFT,或是用一组滤波器来提取所需频率。以下章节对两种方法进行分析并对GOERTZEL算法进行详细的推导。
由上面可以知道一个DTMF信号是由两个不通频率 和 的正弦波组成,它可以用下式表示
我们可以考虑通过离散傅立叶变换进行信号的频谱分析来检测离散的双音多频码。这是因为只有时域及频域都是离散的情况下,才能适合于在计算机上运算;也就是周期的离散时间信号与离散频率间的变换对。
2.DTMF信号的检测
检测中采用了频域的方法,N 点数据的DFT公式为:
它的好处是可以得到DFT的所有N 点的值。也就是通过DFT可以计算出信号中所包含的频率成分。具体实现时,由于它的计算量非常大,因而主要使用它的快速算法——快速傅立叶变换(FFT)。
对上述产生的DTMF信号,经过200点FFT运算得到DTMF信号的频谱X(K)(如图2-1所示)。根据结果中两条谱线的位置K值可知其频率分别为820Hz和1290Hz,即对应了电话号码盘的数字“7”。
DTMF检测的原理,是在DTMF频率上,检查接收到的信号能量,以确定是否接收到了正确的DTMF音调对。检测算法可以是利用FFT算法的DFT实现,也可以是滤波器组实现。FFT可以用来计算N个均匀配置的频率的能量。为了获得在 1.5%的频率偏差范围内,检测8个DTMF频率所需的频率所需的频率分辨率,对于8KHz的采样率,256点的FFT是必需的。对于要检测的音调数量比较小的情况下,滤波组实现更有效。
综上所述识别和检测DTMF信号的过程通常包含以下几个步骤:
1. 预处理
首先,对输入音频信号进行滤波、去噪、采样和量化等预处理操作,确保后续处理的有效性和准确性。
2. 分频
使用带通滤波器组(通常是四个高频频带滤波器和四个低频频带滤波器)对信号进行滤波,分别提取可能存在的高低频成分。
3. 幅度比较与判决
计算各频带内信号的能量(即功率谱密度的积分),若某个频带内的能量超过设定阈值,则认为该频带内有信号存在。
4. 符号匹配
根据高低频段能量最大值所对应的频率组合,对照预先定义的DTMF编码表,确定按下的是哪个按键。