转载请注明文章出处和作者!
出处:http://blog.csdn.net/xl19862005
作者:大熊(Xandy)
说明:此技术本人具有完全的知识产权及解释权,未经本人允许,
不得以任何形式用于商业开发,一但发现,将追究其法律责任!
一年一度的抢票大战刚刚结束,在电话订票的时候,有N多提示要你输入1啊、2啊,验证码啊……一堆的流程,
但有多少人知道,电话与交换机之间是如何进行这种数据交互的呢?今天我来和大家分享这方面的知识。
一、何为DTMF
在百度百科中对DTMF是这样解释的:
双音多频(DTMF)是由贝尔实验室开发的信令方式,通过承载语音的模拟电话线传送电话拨号信息。每个数字利用两个不同频率突发模式的正弦波编码,选择双音方式是由于它能够可靠地将拨号信息从语音中区分出来。一般情况下,声音信号很难造成对DTMF接收器的错误触发。DTMF是“TouchTone” (早期AT&T的商标)的基础, 替代机械式拨号转盘的按键。
说得简单明了一点,就是:用两种不同频率的信号叠加组合成一个信号,这个组合信号就代码一个字符,DTMF信号有16个编码(而半个字节4bit刚好也是16种状态,这就为我所设计的DTMF通信奠定了基础——基于DTMF的16进制编码),如下图所示,高频和低频相交处就是相应的一个编码:
下图是用手机音频分析仪检测到拨号一直按着“1”键时的频谱图,与上图中字符1相交的两个频率:1209、697吻合!
二、DTMF信号的产生
DTMF音调的产生可以分为硬件和软件的方式。电话已经是一个很古老的产品了,在按键式电话替代拨盘式电话的时候,DTMF就已经产生了,随着数字电路技术和DSP技术的发展,市面上已经有很多DTMF专用的编解码芯片了,如:MITEL公司生产的MT8880。
随着DSP技术和大规模集成电路的发展,用纯软件的方式调制和解调DTMF信号已经不再是难事了……在本文中主要也是介绍DTMF软件调制解调。