版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1-淮阴工学院数字信号处理课程设计报告题目:基于MATLAB的双音多频拨号系统的仿真系(院):计算机工程学院专业:通信工程班级:学号:姓名:指导教师:顾相平学年学期:2013~2014学年第1学期2013年12月
摘要双音多频(DualToneMultiFrequency,DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。DTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,MATLAB功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是MATLAB还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。所以该课程设计利用MATLAB进行仿真,编写代码,运行程序,根据提示键入8位电话号码如12345678,回车后可以听见8位电话号码对应的DTMF信号的声音,并输出相应的8幅频谱图,最后显示检测到的电话号码12345678。说明DTMF信号的参数:采样频率、DFT的变换点数以及观测时间的确定原则。关键词多音双频频谱图采样频率
942Hz*0#DDTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。2课程设计题目描述和要求DTMF(DoubleToneMultiFrequency,双音多频)信号是音频电话拨号信号,由美国AT&T贝尔实验室开发。作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。但绝大部分是用作电话的音频拨号。另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音等信息的远程传输。这种拨号方法取代了脉冲拨号,在DTMF通信系统中共有8个频率,分为4个高频音和4个低频音.用1个高频音和1个低频音的组合来表示一个信号.这样,共能提供16种组合,分别代表16种信号.图一为电话按键与信号频率的对应关系。1124758*A3AB609C#D679HZ770HZ852HZ941HZ1290HZ1366HZ1477HZ1633HZ行频率列频率图一DTMF编码各种DTMF信号的应用都离不开DTMF信号的检测,这是DTMF信号应用的关键。对它的检测,主要通过数字信号处理的算法以及硬件实现。本文主要通过MATLAB的软件编程来实现DTMF信号的仿真检测,从频域分析了快速傅立叶变换(FFT)和GOERTZEL两种方法,并对GOERTZEL算法进行了详细的推导,提出采用Goertzel算法来实现DTMF信号的检测。3课程设计报告内容3.1信号的产生及算法实现DTMF编码,是将电话拨号盘上的数字0~9,字母A~D,及*/E、#/F,共16个字符,用音频范围的8个频率表示出来。具体来说,将8个频率分为高频群和低频群两组,分别作为列频和行频。每一个键的频率模式由来自于列频和行频的两个频率叠加而成。DTMF信号所规定的指标是:传送/接收率为每秒10个数字,或每个数字100ms。每个数字传送过程中,信号必须存在至少45ms,且不得多于55ms,100ms里的其余时间是静音。1)、DTMF信号的产生假设时间连续的DTMF信号用表示,式中是按照表1选择的两个频率,代表低频带中的一个频率,代表高频带中的一个频率。显然采用数字方法产生DTMF信号,方便而且体积小。下面介绍采用数字方法产生DTMF信号。规定用8KHz对DTMF信号进行采样,采样后得到时域离散信号为形成上面序列的方法有两种,即计算法和查表法。用计算法求正弦波的序列值容易,但实际中要占用一些计算时间,影响运行速度。查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按顺序和一定的速度取出便可。这种方法要占用一定的存储空间,但是速度快。因为采样频率是8000Hz,因此要求每125ms输出一个样本,得到的序列再送到D/A变换器和平滑滤波器,输出便是连续时间的DTMF信号。DTMF信号通过电话线路送到交换机。2)、DTMF信号的检测检测中采用了频域的方法,N点数据的DFT公式为:它的好处是可以得到DFT的所有N点的值。也就是通过DFT可以计算出信号中所包含的频率成分。具体实现时,由于它的计算量非常大,因而主要使用它的快速算法——快速傅立叶变换(FFT)[3,4]。对上述产生的DTMF信号,经过200点FFT运算得到DTMF信号的频谱X(K)(如图二所示)。根据结果中两条谱线的位置K值可知其频率分别为820HZ和1290HZ,即对应了电话号码盘的数字“7”。从图中可以看出,FFT运算中出现了两个问题:1、由于数据的截断,带来了频谱泄漏误差;2、通过FFT运算,计算出了200点的频谱,而DTMF信号只需8个频率点,计算效率大大降低。为解决这个问题,文中采用了GOERTZEL算法[5]。图二“7”的DTMF编码FFT频谱GOERTZEL算法本身也是对DFT的快速运算,但可以有选择地计算个别点处的DFT,而对不需要的点不进行计算。GOERTZEL算法原理如下:GOERTZEL算法实质是一个两极点的IIR滤波器,其算法原理框图如图三所示:Yk(n)Yk(n)Vk(n)X(n)图三GOERTZEL算法原理框图由图可知:具体推导如下:令n=m=(n=N)所以对序列X(n)的DFT等价于X(n)与系统传递函数的第N个卷积值.对进行Z变换可得:=因此,H(z)可看作是级联型网络:因此其中V(-1)=V(-2)=0..因而,系统输出的功率谱为:其中n=N图四“7”的DTMF编码GOERTZEL功率谱根据以上算法,使用MATLAB语言具体实现,程序如下:k=f/fn;vk(1)=0;vk(2)=0;fori1=1:8w=2*cos(2*pi*k(i1)/N);fori2=3:202vk(i2)=w.*vk(i2-1)-vk(i2-2)+x(i2);end;Xk(i1)=vk(202).^2+vk(201).^2-w*vk(202)*vk(201);end;程序运行结果如图四所示。从图中可以看出,利用GOERTZEL算法,只需计算出八个点的功率谱就可以进行拨号的判断,减少了运算量,提高了计算效率,使判断可以实时进行。3.2详细设计仿真界面图DTMF信号的产生与识别仿真实验在MATLAB环境下进行,编写仿真程序,运行程序,送入8位电话号码,程序自动产生每一位号码数字相应的DTMF信号,并送出双频声音,再用DFT进行谱分析,显示每一位号码数字的DTMF信号的DFT幅度谱,安照幅度谱的最大值确定对应的频率,再安照频率确定每一位对应的号码数字,最后输出8位电话号码,程序名为exp8。程序分四段:第一段(2—7行)设置参数,并读入8位电话号码;第二段(9—20行)根据键入的6位电话号码产生时域离散DTMF信号,并连续发出8位号码对应的双音频声音;第三段(22—25行)对时域离散DTMF信号进行频率检测,画出幅度谱;第四段(26—33行)根据幅度谱的两个峰值,分别查找并确定输入8位电话号码。根据程序中的注释很容易分析编程思想和处理算法。程序清单如下:tm=[1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68];%DTMF信号代表的16个数N=205;K=[18,20,22,24,31,34,38,42];f1=[697,770,852,941];%行频率向量f2=[1209,1336,1477,1633];%列频率向量TN=str2num(get(handles.edit1,'string'));%输入8位数字TNr=0;%接收端电话号码初值为零%figure(1)form=1:8;d=fix(TN/10^(8-m));TN=TN-d*10^(8-m);forp=1:4;forq=1:4;iftm(p,q)==abs(d);break,end%检测码相符的列号qendiftm(p,q)==abs(d);break,end%检测码相符的行号pendn=0:1023;%为了发声,加长序列x=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000);%构成双频信号sound(x,8000);%发出声音pause(0.1)%接收检测端的程序X=goertzel(x(1:N),K+1);%用Goertzel算法计算八点DFT样本val=abs(X);%列出八点DFT向量%hw=handles.axes1;%plot(val,'parent',hw);subplot(4,2,m);stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|')%画出DFT(k)幅度axis([10500120])limit=80;%fors=5:8;ifval(s)>limit,break,end%查找列号endforr=1:4;ifval(r)>limit,break,end%查找行号endTNr=TNr+tm(r,s-4)*10^(8-m);set(handles.edit2,'string',num2str(TNr));end3.3结果分析运行程序,根据提示键入8位电话号码12345678,回车后可以听见8位电话号码对应的DTMF信号的声音,并输出相应的8幅频谱图如图五所示,左上角的第一个图在k=18和k=31两点出现峰值,所以对应第一位号码数字1。最后显示检测到的电话号码12345678。图五频谱图序列的N点DFT是对序列频谱函数在0~区间的N点等间隔采样,如果是一个周期序列,截取周期序列的整数倍周期,进行DFT,其采样点刚好在周期信号的频率上,DFT的幅度最大处就是信号的准确频率。分析这些DTMF信号,不可能经过采样得到周期序列,因此存在检测频率的准确性问题。
总结通过本次课程设计我学会了使用MATLAB语言实现DTMF的编解码。在做实训的过程中,也学到了很多,懂得了团队合作的精神。在做MATLAB界面,做好以后同时会产一个M文件,只要把代码编写在对应的控件中即可以方便的实现仿真。试验结果表明基于MATLAB的DTMF编解码具有速度快、精度高、稳定性好以及便于灵活应用等特点。而利用MATLAB语言,可以较好地、快速地进行算法的仿真。我要感谢我的老师和同学们在课程设计上给予我的指导、和帮助,感谢网络帮我解决了许多技术上的难题,让我能把信息处理实训做得更好。期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。致谢时光荏苒,不知不觉此次数字信号处理实验已经接近了尾声,首先我要郑重感谢淮阴工学院、计算机工程学院提供的实践机会,实验室人员提供的实验环境,顾相平老师的辛勤指导,对于他们的无私奉献表示衷心的感谢并致以崇高的敬意!在此次实验即将结束之际,回顾实验来的点点滴滴,面对现在的收获,我感到无限欣慰。在本次试验过程中,我遇到了许许多多这样那样的问题,有的是实验上的问题,有的是论文格式上的问题,但我一直得到顾相平老师的亲切关怀和悉心知道,使我的论文又快又好的完成,顾相平老师以其渊博的学识、严谨的治学态度、求实的工作作风和她敏捷的思维给我留下了深刻的印象,我将终身受益。再一次向她表示衷心的感谢,感谢她为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助!值此论文完成之际,谨向顾相平老师致以最崇高的谢意!还要感谢和我一起做实验的几位同学,没有你们的帮助,我也不可能这么顺利地完成实验,在此表示深深的谢意!论文参考了高西全教授、丁玉美教授撰写的《
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6-6-Dibromo-3-3-biindolinylidene-2-2-dione-E-6-6-dibromo-3-3-biindolinylidene-2-2-dione-生命科学试剂-MCE
- 5-Carboxylato-1H-pyrazole-3-carbonyl-oxy-hydroxy-aluminum-III-生命科学试剂-MCE
- 2026年新能源材料行业原材料采购策略报告及库存优化
- 2026年物流行业供应链金融创新与市场机遇报告
- 2026年数字政务与一网通办在公共服务领域的探索报告
- 2026年房地产竞争定价策略深度解析报告
- 2026年企业数字化转型办公效率评估报告
- 2026年网络路由器行业建设报告及市场投资分析
- 2026年高精度红外测温仪表行业商业计划书
- 2026年美容美发行业招聘与行业趋势报告
- (正式版)DB15∕T 389-2021 《内蒙古自治区造林技术规程》
- 2025医院收费员考试试题及参考答案
- 2025年中医康复理疗师考试题及答案大全
- 产品退货申请记录表
- JG/T 324-2011建筑幕墙用陶板
- T/CECS 10187-2022无机复合聚苯不燃保温板
- 花椒采购合同协议书范本
- 嘉年华活动合同协议
- 采购帽子合同协议
- 家具设计与制造知到智慧树章节测试课后答案2024年秋福建理工大学、西南林业大学
- 进出口贸易公司简介范文
评论
0/150
提交评论