DTMF信号的产生与检测_第1页
DTMF信号的产生与检测_第2页
DTMF信号的产生与检测_第3页
DTMF信号的产生与检测_第4页
DTMF信号的产生与检测_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——DTMF信号的产生与检测

DSP课程设计试验报告

DTMF信号的产生与检测

指导老师:申艳老师时间:2023年7月18日

DTMF信号的产生与检测

1设计任务书

双音多频DTMF(DualToneMultiFrequency)信号是在按键式电话机上得到广泛应用的音频拨号信令,一个DTMF信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4个频率,据CCITT的建议,国际上采用的这些频率为697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz和1633Hz等8种。在每组频率中分别抽出一个频率进行组合就可以组成16种DTMF编码,从而代表16种不同的数字或功能键,分别记作0~9、*、#、A、B、C、D。如下图所示。

图1-1双音多频信号编码示意图

要用DSP产生DTMF信号,只要产生两个正弦波叠加在一起即可;DTMF检测时采用改进的Goertzel算法,从频域探寻两个正弦波的存在。

1.1试验目的

把握DTMF信号的产生和检测的DSP设计可使学生更加透彻的理解和应用奈奎斯特采样定理,与实际应用相结合,提高学生系统地思考问题和解决实际问题的能力。通过对DSP信号处理器及D/A和A/D转换器的编程,可以培养学生C语言编程能力以及使用DSP硬件平台实现数字信号处理算法的能力。

1.2技术指标及设计要求

1.2.1基本部分

1)使用C语言编写DSP下DTMF信号的产生程序,要求循环产生0~9、*、#、A、B、C、

D对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。2)使用C语言编写DSP下DTMF信号的检测程序,检测到的DTMF编码在CCS调试窗口中显示,要求既不能漏检,也不能重复检出。

1

DTMF信号的产生与检测

3)DTMF信号的发送与接收分别使用不同的试验板完成。

1.2.2发挥部分

1)使用一个DSP工程同时实现DTMF信号的发送和检测功能。

2)改进DTMF信号的规定指标,使每秒内可传送的DTMF编码加倍。

3)发送的DTMF信号的幅度在一定范围内可调,此时仍能完成DTMF信号的正常检测。

1.3方案完成状况

在实现基本要求的基础上,我们又完成了发挥部分的全部要求:能够实现在一个DSP试验箱上同时实现自发自收,基本能实现无过错传输。通过改变处理信号的点数N的数值实现了DTMF信号编码加倍,能够在一秒内传送够多的数据。通过gel添加滑动条的方法实现输入信号幅度可调,并实现判决门限的自适应处理,能随着幅度的变化自动调整门限的值,进而了判决传输信号的正确性。

2设计内容

2.1DTMF信号的的定义

双音多频(DTMF)信号是由两个不同频率的信号叠加而成,设V(t)为DTMF信号、VH?t?和VL?t?分别为构成V(t)的两个信号,则它们应满足关系式(1)。

V(t)=VH?t?+VL?t?

(1)

根据CCITT建议,国际上采用697Hz、770Hz、852Hz、941Hz、1209Hz、1336Hz、1477Hz、1633Hz8个频率,并将其分成两个群,即低频群和高频群。从低频群和高频群中任意抽出一个频率进行叠加组合,具有16种组合形式,让其代表数字和功率,如表3-1所列,则有关系式(2)。

V(t)=Asin?Ht+Bsin?Lt

(2)

其中Asin?Ht为低频群的值,Bsin?Lt为高频组的值,A、B分别为低频群和高频群样值的量化基线,具体见表2-1。

fLfH6977701209141336251477361633AB

2

DTMF信号的产生与检测

8529417*80表2-1DTMF频率及其对应的键值

9#CD2.2DTMF信号生成方法

2.2.1利用math.h采用数学方法产生DTMF信号

buffer[k]=sin(2*pi*k*f0/fs)+sin(2*pi*k*f1/fs)(式2-1)

f0为行频频率,f1为列频频率,fs为8000采样频率,k为对信号的采样。

2.2.2利用两个二阶数字正弦波振荡器产生DTMF信号(本课程设计实际采用方法)

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

(式2-2)

其中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内其他时间为静音,以便区别连续的两个按键信号。编程的流程如图1所示,由CCITT的规定,数字之间必需有适当长度的静音,因此编码器有两个任务,其一是音频信号任务,产生双音样本,其二是静音任务,产生静音样本。每个任务终止后,启动下一个任务前(音频信号任务或静音任务),都必需复位决定其持续时间的定时器变量。在静音任务终止后,DSP从数字缓存中调出下一个数字,判决该数字信号所对应的行频和列频信号,并根据不同频率确定其初始化参数a1=-2cosω0与y(-2)=-Asinω0。该流程图可采用C语言实现,双音信号的产生则由54x汇编代码实现。整个程序作为C54x的多通道缓冲串口(McBsp)的发射串口中断服务子程序,由外部送入的16000Hz串口时钟

触发中断,可实时处理并通过D/A转换器输出DTMF信令信号。

3

DTMF信号的产生与检测

图2-1DTMF编码流程

2.3DTMF信号的检测方法

DTMF信号的检测方法可以有多种。主要分为从信号时间域处理和从信号频率域处理两大类。

前一种方法包括:过零点位置检测法、信号峰值位置检测法、过零点位置及信号幅值检测法。其特点是实现简单,可以通过MT8880等芯片加上外围电路实现,易于集成化。缺点是易受干扰,对信噪比要求高。现在广泛应用于一般的脉冲拨号电话机。通过神经网络等辅助判别方法可以大大提高信号的识别率。

后一种方法包括:频率判断、能量判断两类。频率判断主要通过滤波器提取DTMF相应的频率信号进行比较判断,滤波器可以用窄带、低通、高通滤波器,应用方式可以有并联、级联、混合联接等方式。能量判断是直接对DTMF信号相应的能量进行计算,找出高、低频率群中最强的信号,进行判断,包括有DFT法(DiscreteFourierTransform)、FFT(FastFourierTransform)、Goertzel法等。

本次试验我们采用的是能量判断法,并采用了Goertzel算法。

4

DTMF信号的产生与检测

图6-11程序编译成功

图6-12将程序下载到试验箱

25

DTMF信号的产生与检测

图6-13程序运行

图6-13开启gel文件滚动条

6.2试验结果及图像

本次试验中,我们通过一台电脑循环产生0——9、A、B、C、D、*、#,在另一台电脑上会循环显示检测到的DTMF信号,即循环显示0——9、A、B、C、D、*、#。下面我们从时域和频域两个角度观测一下检测信号的波形:

6.2.1使用CCS中Graph显示

发送端的时域图形参数设置及显示结果如下所示:

图6-14发送缓存区图形参数设置(时域及频域)

26

DTMF信号的产生与检测

图6-15发送缓存区时域图形显示

图6-16发送缓存区波形频谱显示

检测端的时域图形参数设置及显示结果如下所示:

27

DTMF信号的产生与检测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论