当前位置:首页 > 单片机 > 单片机
[导读]摘 要:本文介绍了一种基于MSP430的嵌入式DTMF拨号解码器实现方案。DTMF拨号部分使用4根I/O线的电阻网络,配合软件产生DTMF信号。利用MSP430F133内置的ADC,并采用改进的Goertzel算法,实现DTMF信号的实时解码。该方

摘 要:本文介绍了一种基于MSP430嵌入式DTMF拨号解码器实现方案。DTMF拨号部分使用4根I/O线的电阻网络,配合软件产生DTMF信号。利用MSP430F133内置的ADC,并采用改进的Goertzel算法,实现DTMF信号的实时解码。该方案成本低、性能可靠,已经得到了实际应用。

引言
DTMF(双音多频)信号是电话网中常用的信令,无论是家用电话、移动电话还是程控交换机上,多采用DTMF信号发送接收号码。DTMF技术还可以用于电力线载波通信等场合。可见,DTMF拨号和解码在通信系统及其它方面有着广泛的应用。通常DTMF信号的检测采用专用芯片或DSP来实现,但其成本较高。本文介绍了一种低成本的基于MSP430F133的DTMF拨号解码器实现方案。 MSP430F133是TI的一款16位RISC结构MCU,最短指令周期为150ns,含有8KB Flash ROM,256B RAM并内置12位ADC。

DTMF信号
DTMF信号是将拨号盘上的0~9、A~D及*/E、#/F共16个字符,用音频范围的8个频率来表示的一种编码方式。8个频率分为高频群和低频群两组,分别作为列频和行频。每个字符的信号由来自列频和行频的两个频率的正弦信号叠加而成。频率组合方式如图1所示。

 

根据CCITT Q.23建议,DTMF信号的技术指标是:传送/接收率为每秒10个号码,或每个号码100ms。每个号码传送过程中,信号存在时间至少45ms,且不多于55ms,100ms的其余时间是静音。在每个频率点上允许有不超过±1.5%的频率误差。任何超过给定频率 ±3.5%的信号,均被认为是无效的,拒绝承认接收。另外,在最坏的检测条件下,信噪比不得低于15dB。

DTMF拨号
DTMF拨号部分的电路原理图如图2所示。电路主要由4根I/O线构成的电阻网络和滤波器组成。电阻网络构成4位的DAC,高通滤波器和低通滤波器组成一个带通滤波器用来滤除双音频的谐波信号。在输出端采用600Ω的1:1变压器与电话线接口,电话线的输出电平可通过改变Rx来进行调节。

 

 

软件上使用查表方式模拟产生两个不同频率的正弦波。首先确定一个合适的采样间隔,对每个频率的正弦波进行采样并规格化成0~7(3位数据),制成相应的正弦表。正弦表的制定要保证合成信号的频率误差在±1.5%以内,同时使采样点数尽量少。为使波形失真度小,正弦表记录的总信号时间对应原始信号的整数个周期,并且采样起点选在正波形的峰值上。本设计采样间隔选定为122us,保证频率误差均在±1%以内,各个频率信号的采样点数及频率误差见图3所示。

DTMF拨号程序流程图如图4所示。

DTMF解码
采用软件方式进行DTMF解码,首先要将模拟信号转换成数字信号,然后再送入CPU处理。利用MSP430F133内置的12位ADC加上简单的接口就可以实现模数转换,ADC接口电路如图5所示。其中应选1%精度的金属膜电阻。ADC参考电压选内部2.5V:

 

DTMF解码可以通过计算所接收到的信号在8个既定频率点的频谱值来确定是否为有效的DTMF信号及接收到的是哪个号码。另外,需要通过一系列的有效性检验以防止误判。

FFT可用来计算N点频率处的频谱值,但不适合于此处应用。因为它计算了许多不需要的值,计算量太大;而且为保证频率分辨率,FFT的点数较大。另外,它不能按逐个样点的方式处理,不利于实时实现。

由于只需要知道8个特定点的频谱值,采用一种称为Goertzel算法的DFT算法可以有效地提高计算效率。它相当于一个含两个极点的IIR滤波器,8个频点对应各自相匹配的滤波器,其传递函数为

 

然而Goertzel算法还是有一个缺点,那就是它计算的是频率处的频谱值,而精确的频率值通常只能对应某个近似的整数k,为了达到要求的分辨率,就需要较大的样点数N。改进的方法是:修改传递函数,不计算角频率 处的频谱值,而计算精确角频率 处的频谱值。这样分辨率能达到数据自然加窗(矩形窗)的分辨率。它的传递函数为

 

改进的Goertzel算法运算步骤如下:
1. 对每个采样点递归计算(n=0,1,…,N)

其初始条件是

2. 当N个样点采集并计算完成后,计算8个频谱值:

在选定采样频率为6Khz基础上,选取N=86个样点即可达到所需的频率分辨率。这对应约15ms信号,可以保证一位号码能接收到两个完整的DTMF信号周期。

当8个频谱值计算出来后,还要进行DTMF有效性检验,以判定是否为有效的DTMF信号。有效性检验包括以下几项内容:(1)高、低频段的最大幅值都必须大于某个门限值,而且二者之和也要大于某个门限值。(2)高、低频段的最大幅值与各自频段其它三个幅值相比,其差值必须大于某个门限值。(3)逆向绞度检验即低频段最大幅值不得超过高频段最大幅值8dB,标准绞度检验即高频段最大幅值不得超过低频段最大幅值4dB。(4)高、低频段最大幅值之和与其它6个幅值之和之比,必须大于某个门限值。

若上述检验通过,判定当前周期DTMF信号有效,根据频率组合可确定是对应哪个号码。但要确认接收到一个有效的号码,还要满足两个条件,一是要有两个以上连续周期的有效且相同的DTMF信号,以保证信号持续时间,二是前面有足够的静音时间,以避免重复识别。

DTMF解码程序流程图如图6所示。

 

解码时每次迭代需要八次乘法,由于F133没有硬件乘法器,要用"移位加"做乘法,因此优化乘法运算将大大提高计算效率。优化从几个方面考虑:尽量使用寄存器寻址方式,充分利用150ns指令;另外每个频点的乘数 是固定已知的,因此"移位加"可以不用逐位循环并判断的方式,而用按位完全展开的方式以省去判断动作;此外,在前端增加简单的增益控制可以保证后续运算不发生溢出,省去溢出处理。经过上述优化,实现了DTMF的实时解码。

结语DTMF拨号解码器方案成本低、性能可靠,已经得到了实际应用。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭