当前位置:首页 > 电源 > 数字电源
[导读] 双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜

  双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。

       DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收到的DTMF信号中检测击键或数字信息的存在性。电话机键盘上每一个键通过由图1所示的行频与列频唯一确定。DTMF的编解码方案无需过多的计算量,可以很容易的在DSP系统里与其他任务并发执行。  
 

                                                图  1

       由图1可知,一个DTMF信号由两个频率的音频信号叠加构成。这两个音频信号的频率来自两组预分配的频率组:行频组或列频组。每一对这样的音频信号唯一表示一个数字或符号。为了产生DTMF信号,DSP用软件产生两个正弦波叠加在一起后发送,解码时DSP则采用改进的Goertzel算法,从频域搜索两个正弦波的存在。本文即讨论DTMF编解码在TI公司定点DSP芯片TMS320C54x(以下简称为C54x)系列上的实现。

       1、 DTMF信号的产生  

       DTMF编码器基于两个二阶数字正弦波振荡器,一个用于产生行频,一个用于产生列频。向DSP装入相应的系数和初始条件,就可以只用两个振荡器产生所需的八个音频信号。典型的DTMF信号频率范围是700~1700Hz,选取8000Hz作为采样频率,即可满足Nyquist条件。  
 

                                                       图   2

       由图2数字振荡器对的框图,可以得到该二阶系统函数的差分方程为:  

                                    y(n) = -a1y(n-1) - a2y(n-2) (1)   

其中a1=-2cosω0,a2=1,ω0=2πf0 /fs,fs为采样频率,f0为输出正弦波的频率,A为输出正弦波的幅度。该式初值为y(-1)=0,y(-2)=-Asinω0。  

       CCITT对DTMF信号规定的指标是,传送/接收率为每秒10个数字,即每个数字100ms。代表数字的音频信号必须持续至少45ms,但不超过55ms。100ms内其他时间为静音,以便区别连续的两个按键信号。
 

                                      图   3

       编程的流程如图3所示,由CCITT的规定,数字之间必须有适当长度的静音,因此编码器有两个任务,其一是音频信号任务,产生双音样本,其二是静音任务,产生静音样本。每个任务结束后,启动下一个任务前(音频信号任务或静音任务),都必须复位决定其持续时间的定时器变量。在静音任务结束后,DSP从数字缓存中调出下一个数字,判决该数字信号所对应的行频和列频信号,并根据不同频率确定其初始化参数a1=-2cosω0与y(-2)=-Asinω0。  

       该流程图可采用C语言实现,双音信号的产生则由54x汇编代码实现。整个程序作为C54x的多通道缓冲串口(McBsp)的发射串口中断服务子程序,由外部送入的8000Hz串口时钟触发中断,可实时处理并通过D/A转换器输出DTMF信令信号。 

       2 DTMF信号的检测 

       在输入信号中检测DTMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。  

       2.1 Goertzel算法  

       DTMF解码即是在输入信号中搜索出有效的行频和列频。计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。此时Goertzel算法能更加快速的在输入信号中提取频谱信息。

                                                       图   4

       Goertzel算法实质是一个两极点的IIR滤波器,其算法原理框图如图4。由于在DTMF检测中,输入的信号是实数序列,并不需要检测出8个行频/列频的相位,只需要计算出其幅度平方即可。

       2.2 DTMF检测器流程  

       检测流程可参照图5,把检测程序作为C54x的McBsp接收中断服务子程序,在每一个接收中断到来时,表明采到一个新样点。样点值代入式(2),迭代计算8个行频/列频的中间变量vk(n)(k为8个行频/列频分别对应的数字

 

频率),直到采到N=125个样点(在8kHz采样频率下,约为15ms)。此时再按式(4)计算8个行频/列频的幅度平方|X(k)|2。接下来将|X(k)|2与门限作比较,并作二次谐波检测,判决出有效的音频信号。将音频信号映射为数字信号后,再与上一个检测到的数字信号比较,最终判决出有效的数字信号。  
 

                                                         图   5

       按图5所示流程得到DTMF信令检测程序。整个程序作为C54x的McBsp接收串口中断服务子程序,从而可以实时分析来自A/D转换器的DTMF信令信号。

       3 性能分析  

       基于上述原理与算法代码,在TI公司的DSP开发环境Code Composer Studio(CCS)下,分析上述整个DTMF信令的产生与检测方案的性能。

       (1)由CCS给出的如下内存印象文件报告,DTMF的产生(gen_dtmf.obj)与DTMF的检测(de_dtmf.obj)这两段核心代码分别占用3e6H和1e0H个字(16bit word),即约占1K字的存储器空间,消耗系统资源极低;  

       (2)DTMF信令的产生与检测程序均放置于C54x的McBSP中断服务子程序内,由CCS的代码剖析工具分析代码执行时间,当 C54x 运行在主频100MHz时,DTMF产生中断服务子程序interrupt transmit()最大消耗283个时钟周期,即2.83μs,DTMF检测中断服务子程序interrupt receive()最大消耗6148个时钟周期,约61μs。因此该方案能够实时产生与检测DTMF信令,还可保证有时间冗余度,与其他程序在用户系统中并发执行。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭