




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华中科技大学光学与电子信息学院信号与系统课程工程设计问题设计报告 题目:电话拨音号的数字解码系统分组号: _组 长: _组 员:_ _时 间: _ 指导教师: 报告日期: 报告撰写说明1 按照参考模板的内容和格式撰写报告2 理论模型部分须结合本课程知识分析问题、建立模型3 程序设计部分应给出设计思路、主要流程图和关键函数的说明;结果分析不能只是简单给出结论,应结合具体问题,对关键参数或算法在不同取值条件下对结果的影响情况进行分析和总结。如果可能,还应进行误差分析4 组内互评分A、B、C、D四个贡献等级,最终评价应区分出前三个等级 目 录1 问题描述22 理论模型22.1 原理分析与设计思路22
2、.2 数学模型23 程序设计33.1 编程思路33.2 主要流程图及说明43.3 结果分析44 组内互评65 总结与体会7参考文献7附录 MATLAB程序主要代码81 问题描述双音多频信号(DualTone MultiFrequency, DTMF)是电话系统中电话机与交换机之间的一种用户信令。用户每按一个键话机就发送一个高频和低频的正弦信号组合,比如 “1” 键相当于 697 和 1209 赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。我们要完成的就是先根据按键产生模拟信号,再通过数字系统还原信号。2 理论模型2.1 原理分析与设计思路电话按键所产生的信号可以表示为两个余弦信号
3、的叠加,他们的频率分别为f1和f2,电话按键产生的信号可以表示为: x(t)=cos(2f1t)+cos(2f2t)其中f1和f2分别用于对行和列按键进行编码,具体频率值如下:首先可以根据按键找到对应的两个频率,例如按“1”的得到的频率就是697和1209两个频率,从而得到信号x(t)=cos(2*697t)+cos(2*1209t)。得到信号之后要对信号进行采样,然后根据信号的特性设置对应的LTI系统,产生中间信号,根据中间信号的幅值特性分别检测它属于哪一行哪一列,然后得到它所对应的数字。2.2 数学模型现在有信号:x(t)=cos(2f1t)+cos(2f2t)以10-4s进行采样后得到离
4、散信号: X(nT)=cos(2f1n/10000)+cos(2f2n/10000)用图示LTI系统对信号进行处理 经过资料查阅和推理,我们采用了如下传递函数: H(z)=(1-ej2k/Nz-1)/(1-2cos(2k/N)rz-1+r2z-2) 该系统包含两个极点如图所示,0=2k/N,N=256。 根据系统计算出差分方程为: yn- 2cos(2k/N)*r*yn-1+r2*yn-2=xn- ej2k/Nxn-1 取0之前的值全部是0,可以用迭代法求出y,但是这一步计算很麻烦,我们只能利用matlab来进行处理。根据计算和查阅资料,取K=18时,输入频率来自第一行的数字时,得到的信号幅度
5、很大,而其他行则相比小很多。K取值18,20,22,24时,分别针对第1,2,3,4行数字能得到较大频率信号,K取31,34,38时分别针对第1,2,3列,从而能确定输入的数字。3 程序设计3.1 编程思路首先分析r和0值对中间信号的影响。输入某个数字对应的离散时间信号X(nT)=cos(2f1n/10000)+cos(2f2n/10000),采用上面计算所得的差分方程yn- 2cos(2k/N)*r*yn-1+r2*yn-2=xn- ej2k/Nxn-1,用迭代法进行编程,取不同的k值对所得函数图像进行结果分析。然后在围绕迭代法进行完整编程时,我们发现了函数goertzel,它的原理就是迭代
6、法,但是使用起来更加简单方便。所以在完整编程时我们采用此函数,并且学习网上的方案添加了发音步骤。总体步骤是先用数组表示各种频率和7个k值,输入电话号码当数字处理,拆分各位数字分别进行处理,比把他们整合成一个用零值间隔起来的信号简单很多。然后把数字对应的信号表示出来,用goertzel函数进行处理,得到输出函数幅值与某个较大值进行比较,根据比较结果去顶行与列,从而确定数字。输入电话号码3.2 主要流程图及说明输入信号分解电话号码取一个数字产生对应信号取r和0的值发声迭代法迭代法观察结果图并分析画幅度图图一:分析幅值比较r和0的值得到对应数字得到完整电话号码 图二:完整的系统3.3 结果分析l 运
7、行结果(1) 图一对应的程序,取k=18,r=1,输入数字1对应的频率697Hz和1209Hz,得到输出图像:输入2或者3时结果差不多,但是输入其他行的数字对应频率时相差很大。例如输入4对应频率,得到:输入8对应频率,得到:可以看出只有第一行的数字得到的中间信号幅度很大。此时取值r=1,0=24.45度。r的值几乎只能取1,允许的偏差很小,下面为分别取1.01和0.99时的结果。 可以看出r的取值能选择的范围很小。(2)运行图2对应的总程序,输入任意长度电话号码如l 结果验证从上面的结果可以看出程序是正确的。4 组内互评陈一昭,评分为A,负责编程和撰写,完成了代码陈琪君,评分为B,负责查找资料
8、和讨论,完成了原理分析和设计思路冯诚,评分为B,负责代码分析和讨论,完成了数学模型张振兴,评分为B,负责迭代法原理和讨论,完成了流程图和说明5 总结与体会这次的课程作业完成得很艰难,花了很长的时间,参考了很多资料,查找编写了很多代码,最后眼睛看得疼得不行,电脑也死机了好几次。拿到的题目比较难,老师的要求跟别人不一样,所以网上的代码只能参考一下,最后还是要自己写。开始完成课程作业时,对matlab几乎没什么深入的了解,z变换也学得不是太好,但是为了完成这份作业,在网上看了很多相关的东西,思考了很久,感觉对信号与系统的理解深了很多。不过终于完成了,虽然已是深夜,疲惫得快撑不下去了,还是很开心。希望
9、老师宽宏大量,高抬贵手,因为我也尝试着编写完整的迭代法代码来完成整体代码,但那对我来说实在有点艰难,最后只能采用比较简单的goertzel算法,能写成这样我已尽力。很久没有这么专注地做一件事情了,其实学习也有它的快乐,但是过程往往艰难,在此拿起厚得不行的信号书开始准备期末。老师暑假快乐,后会有期。参考文献1 奥本海姆信号与系统(第二版).北京:电子工业出版社,2013附录 MATLAB程序主要代码(1)分析代码clc;clear;format compact; n=0:1023; x = sin(2*pi*n*697/10000) + sin(2*pi*n*1209/10000); a=1,-
10、2*cos(2*pi*18/256)*0.99,1*0.99*0.99;b=1,-exp(2*pi*i*18/256),0; zx=0,0;zy=0,0; N=length(a)-1; L=length(x); y=zeros(1,L);for i=1:L; for n=1:N;z(n)=b(n+1)*zx(n)-a(n+1)*zy(n); end zz=sum(z); y(i)=b(1)*x(i)+zz; for n=N:-1:2, zx(n)=zx(n-1);zy(n)=zy(n-1);end zx(1)=x(i);zy(1)=y(i); end zf=zeros(1, N); for k
11、=1:N; for n=1:N;z(n)=b(n+1)*zx(n)-a(n+1)*zy(n);end zf(k)=sum(z); for k=N:-1:2, zx(k)=zx(k-1);zy(k)=zy(k-1); end; zx(1)=0;zy(1)=0;end n=0:1023;figure(1);subplot(111);stem(n,y);(2)总代码clear all;clc;tm=1,2,3;4,5,6;7,8,9;50,0,50;N=205;K=18,20,22,24,31,34,38;f1=697,770,852,941;f2=1209,1336,1477;TN=input(输
12、入电话号码=);TNr=0;b=floor(log10(TN)+1;for l=1:b; d=fix(TN/10(b-l); TN=TN-d*10(b-l); for p=1:4; for q=1:3; if tm(p,q)=abs(d); break,end end if tm(p,q)=abs(d); break,end end n=0:1023; x = sin(2*pi*n*f1(p)/10000) + sin(2*pi*n*f2(q)/10000); sound(x,10000); pause(0.1) X=goertzel(x(1:256),K+1); val=abs(X); subplot(6,2,l); stem(K,val,'.');grid;xlabel('k');ylabel('|X(k)|') axis(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年药剂科人才培养工作总结与计划
- 助剂工段新员工复习试题含答案
- 浮游动物食物链顶端物种生态学研究-洞察阐释
- 让生活更美好的绿色出行方案
- 橡胶加工企业的数字化转型路径-洞察阐释
- 棉花机械制造技术标准-洞察阐释
- 湖北中烟工业公司考试真题2024
- 人类学与技术-技术对人类学研究的新挑战-洞察阐释
- 智能物业承接查验的新流程
- 一致性算法比较-洞察阐释
- 服饰搭配艺术(山东联盟)智慧树知到期末考试答案章节答案2024年德州学院
- 2024山东财经大学东方学院教师招聘考试笔试试题
- 工作餐配送合同范本
- 水污染治理微波技术研究
- 安全生产检查咨询服务安全生产隐患检查服务方案
- 异常产程的识别和处理
- 中国普通食物营养成分表一览
- 2024年甘肃省临夏州永靖县部分学校中考物理一模试卷+
- 传染病孕妇的管理与预防
- 机织产品工艺设计与计算改样本
- 梅陇镇永联村未来规划方案
评论
0/150
提交评论