基于dsp的dtmf信号的检测

上传人:第*** 文档编号:32749967 上传时间:2018-02-12 格式:DOC 页数:14 大小:2.58MB
返回 下载 相关 举报
基于dsp的dtmf信号的检测_第1页
第1页 / 共14页
基于dsp的dtmf信号的检测_第2页
第2页 / 共14页
基于dsp的dtmf信号的检测_第3页
第3页 / 共14页
基于dsp的dtmf信号的检测_第4页
第4页 / 共14页
基于dsp的dtmf信号的检测_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基于dsp的dtmf信号的检测》由会员分享,可在线阅读,更多相关《基于dsp的dtmf信号的检测(14页珍藏版)》请在金锄头文库上搜索。

1、基于 DSP 的 DTMF 信号的检测作者: 高中秋 物理与电子信息学院 01 信电 1 班 01063103摘 要:双音多频DTMF(Dual Tone Multi-Frequency)信令在全世界范围内得到广泛应用,将DTMF信令的产生与检测集成到含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。本文给出一种实现方案,阐述DTMF信令的产生与检测的基本原理:用两个二阶数字数字正弦振荡器产生DTMF信号,并通过Goertzel算法实现DTMF信号检测。本论文是在TI公司定点DSP芯片TMS320C54x系列中的实现DTMF信号的检测,采用DSP技术既增加了系统的功能、灵活性,又

2、降低费用,克服了硬件电路实现检测的缺点。关键词:数字信号处理器DSP 双音多频DTMF 正弦波振荡器 Goertzel算法 目 录1 背景阐述1.1引言12. 方案对比2基本原理2.1DTMF号简述22振荡器的工作原理23Goertzel算法24TMS320C54X系列DSP芯片特点3TMS320C5402中实现DTMF信号的产生与检测31。 TMS320C5402中实现DTMF信号的产生3。2。DTMF信号的检测3。2。1。方法:3。2。2。 DSP中实现DTMF频谱信号的提取3。2。3。 DTMF信号有效性的检测3。2。4。DTMF信号检测程序流程图 4。数据分析5。性能分析6。MATLA

3、B 验证 DTMF 信号的产生与检测7。结论2 背景阐述1.1引言电话中的双音多频信号(DTMF)有两种用途:一是用于双音多频信号的拨号,去控制交换机接通被叫的用户话机;二是利用双音多频信号遥控电话机各种动作,如播放留言、语音信箱等,并可以通过附加一些电路来是实现遥控家电设备的开启关闭等智能功能。前者解决双音多频信号的发送和编码,后者是双音多频信号的接收和解码。这些东西都离不开DTMF信号的正确检测。目前,大多数的DTMF信号的检测均采用专用的发送、接收芯片,这种解码的原理都依赖于计算输入信号的过零率。但这种方法有很大的局限性,无法检测多路DTMF信号,当混有语音和噪声时,专用芯片检测往往出现

4、误差,如果音频信号频率改变应用于别的系统时,专用的芯片就发挥不了作用。所以,用硬件实现DTMF信号的检测并不是一种很好的选择。信息化已经成为社会发展的大趋势,信息化是以数字化为背景的,而DSP技术则是数字化最重要的基本技术之一。在过去的短短的二十来年里,DSP处理器的性能得到很大改善,软件和开发工具也得到相应的发展,价格却大幅度地下降,从而得到越来越广泛的应用。通信领域(移动通信的交换设备、基站和手机,网络的路由和交换设备,智能天线,软件无线电,IP电话等) ,雷达和声纳系统,巡航导弹、灵巧炸弹及各种武器系统,自动测试系统,医疗诊断设备(CT、核磁共振、B超等) ,计算机及其外设,消费类电子设

5、备(VCD、DVD、HDTV、机顶盒、MP3、家庭影院系统、数字照相机和摄象机等) ,机器人及各种自动控制系统,等等,应用范围不胜枚举。12. 方案对比方案 1. 硬件实现:以往的 DTMF 信号的产生检测一般用的是模拟硬件电路实现的。前几年 DTMF 编解码电路大量是使用 LC 或者音叉振荡电路以产生 DTMF 的 8 个音频。而解码电路过去采用的是音叉滤波,后又改进为有锁相环检测集成电路和简单的滤波器组成,但需要八路。这些电路复杂,制造和调整麻烦。电路多属于 CMOS 集成电路,它一般包括DTMF 分组滤波器和 DTMF 译码器,当 DTMF 信号经输入电路输入时,先进入高、低频滤波器滤波

6、,经带通滤波后,不仅滤波后,不仅滤掉了信号中的噪声干扰,而且 DTMF 信号的高频信号(f H )和低频信号(f L)也被区分开来,然后这两组信号分别进入过零检测,比较后,得到相应于 DTMF 的两路 fH 、f L 信号的输出,该两路信号经译码、锁存、缓冲、恢复成对应于 16 种 DTMF 信号音频的 4 比特二进制码。这种用硬件电路实现 DTMF 检测与软件处理数字信号比起来会有较大的缺陷。(1) 对于一个可编程的数字系统,改变下程序就可以改变对信号处理的方式,而对模拟系统的重新配置就意味着重新设计硬件。(2) 精度上的要求也决定了处理器的选择。(3) 数字信号可以很容易地存储在磁介质中而

7、不会丢失方案2. 软件实现:曾经有人尝试用DSP构成一个数字式带通滤波器,其中心频率随着采样频率的不同而改变。用顺序扫描的方式来检查每个频率,当某个频率超过给定的门限值时,将其记录,从而确定收到的是哪一个键的信号。然而该方法有一个严重的缺点:由于在给定的时间内只能检测8个频率中的一个,而不是8个同时检测,从而使检测的速度缓慢。因此,本文基于TMS320S54X的DTMF信号的检测,是在频域解决了上述问题,使DTMF的检测更加快捷、准确。下面详细介绍基于DSP的DTMF信号的检测。2基本原理2.1DTMF号简述DTM F 信令由8 个频率组成, 其中4 个行频、4 个列频。每个按键唯一地由一组行

8、频和列频组成, 如图A-1 所示:图A-1 电话机按键频率阵列其中12 个按键是我们比较熟悉的按键, 另外由第4 列确定的按键作为保留, 为今后他用。上述标准频率的选定不是任选的,而是设计时考虑了拨号音、忙音及交流电源的杂音,这些杂音均不在上述DTMF信号的范围内。同时为了避免标准率之间的谐波干扰出现,故所列最高标准频率小于最低标准频率的三次谐波频率。音频组合信号发送方式:有并列发送、串列发送及串并发送。(1)并列发送并列发送是同时发送几个频率。其特点是呼叫所需时间短,但每个频率的调制小(因为总调制量平均分给了各个频率),因此在接收信噪比受到一定影响,同时信号之间可能会产生互调,因而造成误码。

9、所以不宜采用三个以上的频率并列发送,一般均采用双频并列发送,且选用标准频率避开谐波的影响。(2)串列发送串列发送是将组合的频率串行逐一发送,其特点是可以得到最大调制度(因为每个时刻只发送其中一个频率信号),则接收端的信噪比比并行高,故误码率、抗干扰能强,只发一个音频f,故不会产生互调失真。同时由于是串行发送,同样多的频率的排列组合数比并列的多,因此编码容量大。另外,由于串行发送呼叫时间长。(3)串、并组合发送将并列、串列发送组合起来,这样它就吸收了并、串列发送各自的长处,弥补了各自的不足。优点是编码容量大,且呼叫时间有不长。但在串、并列组合时要特别注意的是合理选择所使用的音频频率,有效减少二次

10、谐波所产生的寄生干扰,以减少误码。DTM F 编解码算法在产生编码时将按键信号转换成对应音频信号并发送出去, 解码时对收到的音频信号进行检测分析有效频率组合的存在性, 并将其转换成对应的按键或数字信息。电话中的双音多频信号(DTMF)有两种作用:一是用于双音多频信号的拨号,去控制交换机接通被叫的用户电话机;二是利用双音多频信号控制电话各种动作。22振荡器的工作原理DTMF双音多频信号由图A-2所示的两个二阶数字正弦振荡器产生,一个用来产生行音频信号,另一个用来产生列音频信号。图A-2中包括了两个二次谐波数字振荡器。该模型的系统函数为(E-1)的2阶系统,该系统具有2个在单位圆上的复共轭极点。其

11、中b0=Asin 0,a 1=-2cos 0,a2=-1对应的极点分别为P 1、2 =ej0 其单位脉冲应为h (n) = sin ( (n + 1) )* u (n) (E-2)系统差分方程为y (n) = - a1y (n - 1) - a2y (n -2) - b0(n) , (E-3)其初始条件为y (- 1) = y (- 2) = 0。为应用方便可以通过选取初值而避免将一个脉冲作为输出条件。我们取y(-1)=0 ; y(-2)=-Asin 0,其中 0=2f 0/fs, f0为所需产生的频率,f s为采样频率,根据Nyquist 采样定理对于最高频率不高于4 kHz 的信号都可以完

12、整地恢复。通过对初值的修改,得到图A-2的振荡器模型。其系统差分方程为:y (n) =a1y (n - 1) - a2y (n -2) (E-4),其中a 1=2cos 0; a2=-1。初值条件y (- 1)=0;y(-2)= Asin 0, A为输出正弦波的幅度。根据CCITT 规定,DTMF信令每秒最多10个数字, 也就是周期为100ms, 其中DTMF信号的持续时间不少于45ms, 不大于55ms; 其余时间为静音信号, 用以区别两个DTMF数字信号。本设计输出DTMF持续时间为50ms(45ms,55ms), 根据最高频率确定400 个采样点。23Goertzel算法Goertzel

13、 算法执行离散傅立叶变换(Discrete Fourier Transform),这个算法较为精简,而且每个频率只需要一个实数系数就可以决定值的振幅;但是,正确计算数值振幅和相位时需要复数系数,故需要较复杂的程序,借助只计算音调频率的振幅而忽略相位的计算,我们可以简化DTMF信号的译码工作。此外,Goertzel算法只要获得任何采样就可以立刻处理,不必获得全部采样之后才处理,可明显地提高速度。Goertzel算法是DTMF信号检测的核心,它利用二极点的IIR滤波器计算离散傅立叶变换值,快速有效的提取输入信号的频谱信息。Goertzel 算法利用了相位因子W Nk的周期性,允许我们将DFT的计算

14、表示为线性滤波运算,因W N-kN=1,我们可以利用该因子乘上DFT,于是,可得11()00()()NkkmkNmXWxxW(E-5)注意:式(E-5)为卷积形式,的确,如果我们定义序列y k(n)为1()0()Nknmkmynx(E-6)很清楚,y k(n)是长度为N的有限时宽输入序列x(n)与滤波器的卷积,并且滤波器的冲激响应为:()()knmkNhWu(E-7)当n=N时,该滤波器的输出为DFT在频率W k=2k/N处的值,亦即(E-8)如同将(E-5)与式(E-6)相比较就可验证一样。冲激响应为h k(n)的滤波器,他的系数函数可表示为1()kkNHzWz(E-9)该滤波器在单位圆上的

15、频率W k=2k/N处有一个极点。因此,通过将输入的数据组输入到N个单极点并行滤波器(谐振器)组就可计算整个N点DFT,其中,每一滤波器在响应的DFT频率上有一个极点。我们可以利用对应于式(E-9)给定的滤波器的差分方程来递推计算y k(n),而不是按式(E-5)通过卷积来实现DFT的计算,因此我们有yk(n)=WN-kyk(n-1)+x(n) (E-10)初始条件:y k(-1)=0所期望的输出是X(k)=y k(N),其中k=0,1,,N-1,为了完成这一计算,我们可以一次计算并储存相位因子W N-k。通过将具有复共轭极点的谐波器结合成对,就可以避开式(E-10)所固有的复数乘法和加法,这

16、就产生了具有两个极点的的滤波器,其系统函数为(E-11)12()12cos(/)kNkWzHz该系统的直接型实现如图A-5所示:图A-5 用于计算DFT的两极点谐振器的直接型实现该系统可以用差分方程描述为(E-12)()2cos(/)(1(2)(k kkvnNvnxn(E-13)knyW初始条件为 。()2)0kv对n=0,1,N,式(E-12)中的递推关系可迭代进行。但式(E-13)中的程序仅当n=N时计算一次,每迭代需要一次实数乘法和两次加法。因此,对实输入序列x(n),该算法通过N+1次实数乘法不仅得到X(k),而且由于对称性也得到X(N-k)的值。当值M相对较小时,比如 ,Goertzel

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号