- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字信号处理专业课程设计报告书
实验报告
实验五:DTMF信号的生成是通过将两个有限长数字序列相加而实现;而对DTMF信号的检测是通过计算DTMF信号的DFT;然后测量在给定8个频率上的能量而实现。已知采样频率为8KHz,DTMF信号点数N=205,对DTMF信号进行205点DFT。右表为DTMF数字。
1209Hz 1336Hz 1447Hz 1663Hz 1 697Hz 1 2 3 A 2 770Hz 4 5 6 B 3 852Hz 7 8 9 C 4 941Hz * 0 # D 要求:① 通过键盘任意输入16个键之一,生成DTMF信号。 ② 试实现对该输入信号的检测,并在屏幕上显示。③试从计算量角度考虑为什么采用DFT而不用FFT进行DTMF信号检测。④ 判断出每个频率对应的DFT的频率采样点。
提示:各键对应的ASCII码为0—9对应48—57,A—D对应65—68,#对应35,*对应42。
实验目的
实现两个数字序列信号的叠加,实现对DTMF信号进行DFT变换
实验原理
FFT是DFT快速算法,如果用算法执行这个DFT的计算,计算的次数是Nlog2N.
在这种情况下,如果仅想计算DFT中的M个点,Mlog2N,那么直接计算DFT更有效,利用DFT对输入信号进行检测。
实验步骤简述
生成两个信号,同时将两个进行叠加生成DTMF。将十六个键符转换成ASCII码值,将8个频率对应的采样点数算出。利用两重循环判断输入的键符是否为十六个键符之一,同时确定其对应的两个频率和采样点数。调用自定义的gfft函数进行DFT变换。调用绘图子程序进行绘图。
程序框图
实验源程序
function XF=gfft(x,N,k)
if length(x)N
xe=[x zeros(1,N-length(x))];
else
xe=x;
end
x1=[xe 0];
d1=2*cos(2*pi*k/N);W=exp(-i*2*pi*k/N);
y=filter(1,[1 -d1 1],x1);
XF=y(N+1)-W*y(N);
a=input(ê?è?êy×?=,s);
sm=abs(a);
pm=[49 50 51 65;52 53 54 66;55 56 57 67;42 48 35 68];
for p=1:4;
for q=1:4;
if pm(p,q)==a;break,end
end
if pm(p,q)==a;break,end
end
fprintf(ASCII???μAM=%0.f\n,pm(p,q))
f1=[697 770 852 941];
f2=[1209 1336 1447 1663];
n=0:204;
x=sin(2*pi*n*f1(p)/8000)+sin(2*pi*n*f2(q)/8000);
subplot(211);
plot(x);
xlabel(n);
ylabel(x);
title(DTMFD?o?);
k=[18 20 22 24 31 34 38 43];
va=zeros(1,8);
for m=1:8;
Fx(m)=gfft(x,205,k(m));
end
va=abs(Fx);
subplot(212);
stem(k,va);
title(2é?ùμ?);
xlabel(k);
ylabel(|X(k)|);
l1=80;
l2=7.8;
for s=5:8;
if va(s)l2;break,end
end
for r=1:4;
if va(r)l1;break,end
end
disp([2|o?·?o?=,setstr(pm(r,s-4))])
实验结果及图表
输入数字=7
ASCII码值AM=55
拨号符号=7
7.实验总结:
本题做起来有些难度,特别是实现16个符号的输入以及对应频率,码值等,但是源程序中巧妙运用MATLAB数据的矩阵存储形式。将字符和信号对应起来,在结合循环程序结构,使得程序简单化。程序中在进行205点DFT变幻时,由于不能用快速FFT,而采用较快的算法来做DFT变化。这都是该程序中的优点。题目中的八个频率样值点是通过W=k*2*pi/N以及W=2*pi*f/fs联力求得的整数解。通过这个试验,对DFT变涣及其作用有了 新的认识,对数字信号的实际运用有了新的了解,同时,也体会到巧妙的构思对MATILAB仿真也有重要的作用。在这个试验中,老师和同学的帮助与讲解,使得自己的理论知识有了更深的见解
第六题:
一:实验题目:
(提取淹没在噪声中的周期信号)提取淹没在噪声中的周期信号要求自相关(以判断周期)和互相关(以恢复信号自身)。
(1)生成信号x(n)=sin(0.1*n*pi),0≤n≤49
文档评论(0)