基于DSP的DTMF信令的产生分析与检测

发布者:心有归属最新更新时间:2011-03-31 来源: elecfans关键字:DSP  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信令,还可保证有时间冗余度,与其他程序在用户系统中并发执行。

关键字:DSP  DTMF  信令 引用地址:基于DSP的DTMF信令的产生分析与检测

上一篇:SoC类的DSP芯片TMS320LF2407在测速和远程传送
下一篇:基于DSP芯片TMS320C6418的成像制导仿真系统设计

推荐阅读最新更新时间:2024-05-02 21:20

基于GIO/FVID的DSP视频处理驱动程序
  引言   随着时代的发展,DSP技术在远程监控、可视电话、工业检测等视频处理领域得到了广泛的应用,对于不同的视频处理系统,会使用不同的视频设备,所以有必要为视频设备设计驱动程序,为高层应用程序提供统一的接口来操作底层硬件。只要是遵行此驱动程序接口标准开发的高层应用程序,都可以在具有相同接口的不同硬件平台上运行,具有很好的通用性和可移植性,同时高层应用程序设计人员只要会使用设备驱动程序提供的API接口,就不必了解底层硬件的具体实现,可以大大地提高整体视频系统的开发效率。   对于视频设备,TI公司提出了对应的视频设备驱动程序模型,但这些模型主要是针对6000系列高端DSP,甚至是DM64X这样的视频处理专用DSP设计的,而TM
[嵌入式]
基于DSP的物体重量实时动态监测的研究
  目前,对物体的重量进行测量主要依据两种基本原理。一是利用力学中的杠杆平衡原理,二是利用各种传感器将物体的重量信息转化成电信号,再对此电信号进行分析处理提取该物体的重量信息。前者适用范围广,量程大,是一种经济的方法,但测量精度有限且需人工完成,因此,这种方法无法实现实时动态测量。后者采用了传感器,这就有利于用电子装置来对重量信息进行分析、计算,并显示结果,但是,很多传感器受动态范围的限制。本文则从光学技术角度结合力学原理利用CCD传感实现了对物体的动态实时测量。    2 测量原理   CCD对物体进行测量的原理如图1所示。平面镜的转动支点为O,且垂线OW交透镜轴为W点。W点位于f′(焦距)与2f′之间。当没有测量物体时,平
[嵌入式]
利用FPGA的DSP功能提高图像处理的实例分析
intevac是商用和军用市场光学产品的前沿开发商。本文介绍该公司nightvista嵌入式电子系统的开发,该产品是高性能超低亮度紧凑型摄像机。该摄像机最初采用了流行的数字信号处理器、几个assp和外部存储器件。系统对性能的需求越来越高,工程师团队决定试验一种替代方案——在可编程逻辑中实现可配置软核处理器。这一决定带来了以下好处: 达到了目标所要求的性能 在单个fpga中集成了分立的元件和数字信号处理(dsp)功能 功耗降低了近80% 将五块元件板缩减到一块,显著降低了成本 缩短了开发时间 图1 intevac nightvista摄像机中cyclone系列fpga功能框图   dsp基于处理器的实现方法   n
[应用]
基于DSP的Bluetooth嵌入式系统应用
蓝牙(Bluetooth)协议标准是由蓝牙特别兴趣小组(Bluetooth SIG)发布的,1999年发布了Bluetooth 1.0版, 2001年2月发布了Bluetooth1.1版。目前SIG成员已经发展到3000家左右。蓝牙协议规定的无线通信标准,基于免申请的2.4GHz的 ISM频段,采用GFSK跳频技术和时分双工(TDD)技术,通信距离为10米左右,Blue tooth 1.0版标准规定的数据传输速率为 1Mbps。主要适用于各种短距离的无线设备互连应用场合。可以提供点到点或点到多点的无线连接。 1 基于电缆替代的蓝牙协议简析 1.1 蓝牙协议体系 蓝牙协议规范所措述的协议栈模式如图1所示。 蓝牙体系结构
[嵌入式]
基于DSP实现的无差拍控制逆变器
随着计算机以及各种精密自动化设备、电子设备被广泛应用于通信、工业自动化控制、办公自动化等领域 , 逆变器作为UPS的重要组成部分,近年来得到了迅速展。 对逆变器的控制成为研究重点,即要求其输出波形稳态精度高、总谐波畸变率低和动态响应快。目前,瞬时 PID控制、重复控制等技术都在应用中占有重要地位。但这两种技术都有难 以克服的缺点,如瞬时 PID控制难以实现数字化;重复控制的动态响应慢。美国著名控制理 论专家卡尔曼于 60年代初提出了数字控制的无差拍控制思想。随着电力电子技术的发展,80 年代中期,无差拍控制被应用于逆变器控制,它具有瞬时响应快、精度高、 THD小等特点, 是一种优秀的控制策略。 1 无差拍控制逆变器的控制原理
[嵌入式]
DSP/BIOS在数字监测接收机中的应用
引言     随着通信与信息技术的不断发展及数字产品的普及,DSP被越来越多地应用于各种数字系统中。美国 德州仪器 (TI)公司于20世纪90年代开发了能在其DSP产品上运行的实时操作系统内核DSP/BIOS,并提出一系列DSP软件实施方案来加速应用开发进程。     本文将嵌入式技术应用于数字监测接收机系统设计中,采用TI公司的TMS320DM6437为核心处理器,以DSP/BIOS操作系统为软件平台,通过芯片支持库和应用程序构建成一个完整的数字监测接收机系统。监测接收机通过周期地扫描给定频段,利用频谱分析测量频谱占用度、频率发射类型、带宽和载干比等参数,并实现自动测量。 1 DSP/BIOS     针对TI公司的TMS3
[嵌入式]
DSP+CPLD空间瞬态光辐射信号实时探测系统
探测系统对输入的空间瞬态光辐射信号进行实时识别处理,反演估算出空间瞬态信号能量大小并报告发生时刻。采用DSP+CPLD的数字处理方案,利用dsp的高速数字信号处理特性及cold的复杂逻辑可编程特性,可实现对瞬态信号的实时识别和处理。其中用cpld实现a/d变速率采样,解决了嵌入式系统线路板面积有限与实时处理需要大容量存储空间的矛盾。   实时处理我国现役空间瞬态光辐射信号探测系统中,老型号较多,大部分没有配备自动检测和录取设备。空间瞬态信号的录取、数据的处理和上报大多由人工进行,难以胜任复杂环境下快速、准确录取信号以及气象情报入网的要求。为适应现代化气象分析的要求,采用dsp+cpld的方式将极大地提高现有空间瞬态信号探测
[工业控制]
8051、ARM和DSP指令周期的测试与分析
摘要 在实时嵌入式控制系统中,指令周期对系统的性能有至关重要的影响。介绍几种最常用的微控制器的工作机制,采用一段循环语句对这几种微控制器的指令周期进行测试,并进行分析比较。分析结论对系统控制器的选择有一定的指导作用。 关键词 指令周期测试 AT89S51 LPC2114 TMS320F2812   在实时控制系统中,选择微控制器的指标时最重要的是计算速度的问题。指令周期是反映计算速度的一个重要指标,为此本文对三种最具代表性的微控制器(AT89S51单片机、ARM7TDMI核的LPC2114型单片机和TMS320F2812)的指令周期进行了分析和测试。为了能观察到指令周期,将三种控制器的GPIO口设置为数字输出口,并采用循环不断地置
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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