用单片机实现DTMF信号译码

发布者:馥睿堂最新更新时间:2011-12-20 关键字:单片机实  DTMF  信号译码 手机看文章 扫描二维码
随时随地手机看文章

引言

    DTMF信号首先用于电话的拨号系统,在频率编码遥控系统及数据编码传输中的应用也很普遍。目前的DTMF译码器中,大多采用通用集成器件(单音译码电路和组合门电路)或专用DTMF信号译码集成电路(如MC145436等)组成译码电路。在很多情况下,DTMF译码器输出的数据仍需送入单片机进行相应的运算及处理,进而控制其它各种设备的动作。因此,如果能找到一种基于单片机的DTMF信号的译码算法,再辅之以简单的整形电路就可以,既可省去成套译码电路,又能达到简化电路降低成本的目的。本文所要介绍的,就是这种构想的初衷,结果通过计算机仿真计算数据论证认为完全能够达到设计要求。

1、DTMF信号频率组成及整形前DTMF信号的幅值密度

    在DTMF信号中,16个指令键均由两个单音频率信号组合(见表1)。单音频率有两组,高频组为(1209Hz、1336Hz、1447Hz、1633Hz),低频组为(697Hz、770Hz、852Hz、941Hz),每个指令键,对应的都是一个高频组的频率和一个低频组的频率的组合。以“*”号指令键为例:其DTMF信号是由941Hz的低频组信号和1209Hz的高频组信号组成。图1为其频谱图。

    从图1中可以看出,“*”号指令键的DTMF信号在941Hz和1209Hz处有谱线。在理想条件下,可计算出频谱密度函数X(f)在f=941Hz和1209Hz时的模值为|X(941)|,|X(1209)|,即它们模值均不为零。也就是说,要是同时存在频谱密度函数模值为|X(941)|,|X(1209)|,并且它们模值均不为零时,其表征的键号为“*”。以此类推(见表1),可分别计算出低频组信号|X(697)|、|X(770)|、|X(852)|、|X(941)|和高频组信号|X(1209)|、|X(1336)|、|X(1447)|、|X(1633)|的模值。如果高、低频组中均各自有一个X(f)的模值不为零,则再通过f在表1查找出其表征的指令键。

表1 DTMF信号频率组成表

    在用单片机进行X(f)运算即离散傅立叶变换(DFT)时,只能对有限长的DTMF信号进行分析与处理,即对有限时间Tp=NT内的N个数据进行离散傅立叶变换(N为采样点数,T为采样时间间隔)。

    根据DFT定义式:

    同样以“*” 指令键信号为例,在高频率组f=1209 Hz,采样点数N=256,采样时间间隔T=55×10-6 S时,由式K=f×N×T,可得K=17,即|X(17)|为DTMF信号在频率为1209 Hz处的幅值密度其值为121.5。在低频率组f=941 Hz,采样点数N=256,采样时间间隔T=54×10-6 S时,由式K=f×N×T,可得K=13,即|X(13)|为DTMF信号在频率为941 Hz处的幅值密度其值为123.6。同理,可计算出其它15个指令键的幅值密度,见表2(表2为对16个指令键的DTMF信号采用计算机仿真计算后的幅值密度)。[page]

表2 整形前DTMF信号的幅值密度表

    从表2看出:由于时域无限长DTMF信号被截断所引起的泄漏效应,如“2”、“3”号键对应的DTMF信号虽然不含有频率为1209 Hz和941 Hz的信号成份,可是|X(17)|、|X(13)|不为零,理想时应为零,也就是说存在一定的幅值密度误差。但对于含有f=1209 Hz高频组信号的DTMF信号(如“1”、“4”、“7”、“*”键),其|X(17)|值远大于不含f=1209 Hz高频组信号的DTMF信号的|X(17)|值。同样,对于含有f=941 Hz低频组信号的DTMF信号的|X(13)|值远大于不含f=941Hz低频组信号的DTMF信号的|X(13)|值,这样就为实际DTMF信号译码识别提供了必要的条件。
    因在实际DTMF信号译码应用时,任一键号所对应的DTMF信号的译码过程为:

  (1)分别采样DTMF信号计算出谱线为697Hz、770Hz、852Hz、941Hz的幅值密度|X(k)|。
  (2)从中排序找到低频组频率fL对应幅值密度|X(k)|最大的值。
  (3)同法计算,谱线为1209Hz、1336Hz、1467Hz、1633Hz的幅值密度|X(k)|。
  (4)从中排序找到高频组频率fH对应幅值密度|X(k)|最大的值。
  (5)根据fL、fH查表1,即可得到其所表征的键号。

2、整形后DTMF信号的幅值密度及其实验数据误差分析

    为了把DTMF信号送入单片机进行DTMF信号译码,还必须要对DTMF信号进行整形,见图2所示。DTMF信号经比较限幅,整形为方波后。从DFT变换定义式看出:式中x(nT)的值只能为0或者1,因此计算|X(k)|的运算量大大降低,表3即为通过整形后DTMF信号采用计算机仿真计算出的幅值密度。

图2 DTMF信号比较限幅示意图
 
表3 整形后DTMF信号的幅值密度表

    对比表3和表2可以发现,整形为方波后的DTFM信号泄漏谱线的幅值密度有所增大,而有效谱线的幅值密度也相应变小。例如7号指令键产生的泄漏谱线的幅值密度其值从14.09增大到22.38,而有效幅值密度其值从127.9减小到107.26。造成此类问题的主要原因是:

    (1)由于N,T只能选择整数,1/f不可能被N×T所整除,所以这必然会带来栅栏效应,此时计算所得的有效谱线的幅值密度必然 小 于 实 际 值 。同 时 ,由于采样时间Tp=NT有限长而引起的泄漏效应,也必然会导致泄漏谱线的幅值密度增大。
    (2)DTMF信号经整形为方波后会产生了十分丰富的谐波干扰,这些干扰信号的频率如果接近泄漏谱线的频率,也会使泄漏谱线的幅值密度增大。

    因此在译码过程中,如果有效谱线的幅值密度值变小,而泄漏谱线的幅值密度增大,当泄漏谱线的幅值密度大于有效谱线的幅值密度时,就会引起错译和漏译现象。所以在N×T值选择过小,或者与待测周期的整数倍相差过大,再加上整形为方波后谐波干扰,将有可能引起错译和漏译。

    但是从表3中可见泄漏谱线的幅值密度最大值为22.38,而有效谱线的幅值密度最小值为87.92两者相差近4倍,还存在较大的冗余量。例如:对于含有f=1209 Hz高频组信号的DTMF信号(如“1”、“4”、“7”、“*”键),其|X(17)|值仍远大于不含f=1209 Hz高频组信号的DTMF信号的|X(17)|值。同样,对于含有f=941 Hz低频组信号的DTMF信号的|X(13)|值也远大于不含f=941Hz低频组信号的DTMF信号的|X(13)|值,二者仍可在排序中明显区分出来,所以对DTMF信号整形后产生的一定幅值密度误差增大,完全可以忽略不计,只要译码应用程序设计得当,合理选取N、T值,不会出现错译和漏译现象。

[page]

        在DTMF信号比较准确或干扰较小的场合,甚至还可以通过减少N,T的值来提高运算速度,减少译码时间。

3、重点参数的选取

        为了能更好的确保用单片机实现DTMF信号译码,避免出现错译和漏译现象,在软件设计时,采样点数N,采样时间间隔T,谱线系数K,是至关重要的参数,它们的选取应遵循以下原则:

  (1)N×T尽可能接近信号周期的整数倍。
  (2)通过增大N×T,可有效提高分辨率,但N增大会导致运算量增大,且N一般应满足N=2n,增大T时,一定需注意满足香农定理。
  (3)K=f×N×T


  表4为推荐的参数选择表。
 表4 推荐的参数选择表

4、DTMF信号译码应用程序设计

4.1 DTMF信号译码记录子程序流程图

          图中DL1为运行a、b、c、d、e、f、g所需时间,DL2为运行c、d、e、f、g所需时间。

图3 记录子程序流程图

4.2 DTMF信号译码主流程图

图4 DTMF信号译码算法主流程图

5、结论

    通过对DTMF信号译码算法的探讨和计算机仿真实验检测数据论证,认为完全可使用单片机来进行DTMF信号的译码,并且效果能达到设计要求。从而可省去成套译码电路,又能达到简化电路降低成本的目的。

 

 

关键字:单片机实  DTMF  信号译码 引用地址:用单片机实现DTMF信号译码

上一篇:一种基于单片机的灯光调光控制系统开发
下一篇:基于16位单片机的智能仪器监控平台设计

推荐阅读最新更新时间:2024-03-16 12:49

基于DTMF的智能电话控制器
    摘要: 介绍一种基于DTMF(双音多频)信号和RS485的远程智能控制器。它具有振铃检测和模拟摘机、DTMF信号解调、红外遥控编码自举学习和发射多路红外遥控信号的功能。本文对该控制器的组成、硬件配置、软件设计、工作原理、功能以及技术性能进行了详细论述。该控制器在远程控制的数据终端系统中使用后,证明其方便、可靠和有实用价值。     关键词: DTMF RS485 红外遥控 MT8870 1 概述 随着工业自动化水平的进一步提高,在许多无人看守的工业现场,希望能够对设备进行远程的控制和监测,以及对远程数据终端进行设置和数据采集。电话的逐渐普及使得在工业现场安装电话成为可能。根据这种情况,我们设计并制作
[传感技术]
基于DTMF方式的身份识别及语音自动播放系统
1 引言    由于电台多采用全透明的传输方式,只要频段相同,就可以接收到同频段上发送的语音信号,这样就无法准确辨别信号是否有用。带有语音加密功能的电台则可以避免这种情况,但在一些要求保密性高的领域或场所,如军事领域,拦截者一旦破获我方的加密信号,发出一段误导性的语音信号,我方则无法辨别,可能会造成一定损失。因此,这里介绍一种基于C8051F单片机,以DTMF编码的方式识别电台身份的系统。该系统使用简单,在不改变电台原有特性的基础上,只需和电台的扩展口连接,便可实现对电台身份的识别。即使对方破解了语音信号,还可通过地址编码来分辨电台的身份。该系统在保密性要求高的场所有一定应用前景。 2 系统组成与工作原理    图1
[安防电子]
基于<font color='red'>DTMF</font>方式的身份识别及语音自动播放系统
一种新的基于改进的ADALINE神经网络的DTMF解码器方案
一、引言     DTMF(双音多频)信号是电话网中常用的信令,无论是家用电话、移动电话还是程控交换机上,多采用DTMF信号发送接收号码。DTMF技术还可以用于电力线载波通信等场合。可见,DTMF拨号和解码在通信系统及其它方面有着广泛的应用。DTMF信号的解码目前常用的方法有两种:一种方法是采用滤波器组来分离8个DTMF信号。滤波器组的实现既可以用模拟滤波器,也可以用数字滤波器,这种方法在时域中进行分离。第二种方法是采用DFT或者Goertzel算法来检测8个信号的强弱,这种方法在频域中进行分离。然而,上述两种传统的DTMF信号检测方法都存在一定的缺陷,即在强信道噪声干扰下常常不能正确工作。本文提出了一种新的基于改进的ADA
[嵌入式]
基于51单片机的遥控智能小车作心得
两年前学习51单片机时,买了51hei单片机开发板。现在正在学习基于STM32嵌入式系统的FAT32,UGUI和UCOSII操作系统。几乎很少去看51单片机开发板了。某天,宝贝突然说要我给她买一个遥控小车,说别人都有。俺查了一下网上性能好点的小车价格不菲,我突然想起自己不是还有一块闲置的51hei单片机开发板吗?何不自己动手给宝宝做一个智能小车呢?闲话少说,付诸行动吧。 经过近一个星期的行动,小车终于完成了,虽然说样子是丑了一点,但是性能不弱。主要功能:1,红外遥控器遥控,小车同步前进,小车同步后退,左转弯,右转弯,左倒车,右倒车;2,行进中自动壁障。其实功能可以随便加,只要舍得花银子。 程序是在 51hei单片机
[单片机]
DTMF电路HT9200A与单片机的接口
在水、电、煤气表的自动抄录和IC卡电话机的话费统计等分布式测控系统中,人们希望能在现有的公用电话网上进行适当的网络联接以实现数据的传输与控制。 Holtek公司新近推出的DTMF电路HT9200A便是专用于电话联网控制的模块,它可以方便地与微控制器系统接口,以便组成智能型电话网络的测控系统。 1 HT9200A芯片介绍 HT9200A是串行式DTMF电路,具有很好的温度适应性, 其工作温度范围为-20℃~+70℃,它采用8脚DIP或SOP封装形式,其管脚排列昭图1所示。各引脚的功能说明如下: ●CE:片选信号输入端,低电平有效; ●X1、X2:3.579545MHz晶振接入端; ●VDD、Vss:电源
[单片机]
<font color='red'>DTMF</font>电路HT9200A与<font color='red'>单片机</font>的接口
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved