信号采样与重建的编程实现
更新时间:2024-06-14 14:24:01 阅读量: 综合文库 文档下载
课程设计任务书
学生姓名: 陈凯鑫 专业班级: 电信1203班 指导教师: 阙大顺,王虹 工作单位: 信息工程学院
题 目: 信号采集与重建的编程实现
初始条件:
1. Matlab6.5以上版本软件; 2. 课程设计辅导资料:“Matlab语言基础及使用入门”、“数字信号处理原理与实现”、“Matlab及在
电子信息课程中的应用”等;
3. 先修课程:信号与系统、数字信号处理、Matlab应用实践及信号处理类课程等。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1. 课程设计时间:1周(课内实践);
2. 课程设计内容:信号采样与重建的编程实现,具体包括:连续信号的时域采样、频谱混叠分析、
由离散序列恢复模拟信号等;
3. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具
体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结;
4. 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:
① 目录; ② 与设计题目相关的理论分析、归纳和总结; ③ 与设计内容相关的原理分析、建模、推导、可行性分析; ④ 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤ 课程设计的心得体会(至少500字); ⑥ 参考文献; ⑦ 其它必要内容等。
时间安排:
1) 第1-2天,查阅相关资料,学习设计原理。 2) 第3-4天, 方案选择和电路设计仿真。 3) 第4-5天, 电路调试和设计说明书撰写。
4) 第6天,上交课程设计成果及报告,同时进行答辩。
指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日
摘 要
数字信号处理是一门理论与实践紧密结合的课程。做大量的习题和上机实验,有助于进一步理解和巩固理论知识,还有助于提高分析和解决实际问题的能力。过去用其他算法语言,实验程序复杂,在有限的实验课时内所做的实验内容少。MATLAB强大的运算和图形显示功能,可使数字信号处理上机实验效率大大提高。特别是它的频谱分析和滤波器分析与设计功能很强,使数字信号处理工作变得十分简单、直观。
本实验设计的题目是:信号的采样与恢复。通过产生一个连续时间信号并生成其频谱,然后对该连续信号抽样,并对采样后的频谱进行分析,实验中,原连续信号的频谱由于无法实现真正的连续,所以通过扩大采样点的数目来代替,理论上当采样点数无穷多的时候即可实现连续,基于此尽可能增加采样点数并以此来产生连续信号的频谱。信号采样过程中,通过采样点的不同控制采样频率实现大于或小于二倍最高连续信号的频率,从而可以很好的验证采样定理。
关键词:信号采样 信号重建 MATLAB 编程
目 录
1.软件介绍 ............................................... 1 2.课程设计的方案 ......................................... 2 2.1课程设计的原理 ..................................... 2 2.1.1连续信号的采样定理 ............................ 2 2.1.2信号采样 ...................................... 3 2.1.3信号重建 ...................................... 5 2.2设计的思路 ........................................ 5 2.3设计方案优缺点 ..................................... 5 3.信号采样程序及仿真 ..................................... 6 3.1连续信号x(t)及其抽样函数x(n) .................. 6 3.2 采样程序及其波形 .................................. 8 3.3 200Hz 幅频特性程序及波形 .......................... 9 3.4 400Hz幅频特性程序及波形 .......................... 10 3.5 1000Hz幅频特性程序及波形 ......................... 11 3.6波形分析 ......................................... 11 4.信号的重建程序及仿真 .................................. 12 4.1采样信号的重建程序与波形 .......................... 12 4.2 误差分析 ......................................... 15 5心得体会 .............................................. 16 6参考文献 .............................................. 17
武汉理工大学《信号分析与处理》课程设计说明书
1.软件介绍
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩形计算、视化以线性动态线性系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多领域一面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。经过不断完善MATLAB已经发展成为适合多学科,多种工作平台的功能强大大大型软件。成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具。 MTLAB的语言特点:
(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。 (2)运算符丰富。
(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。 (4)程序限制不严格,程序设计自由度大。 (5)MATLAB的图形功能强大。
(6)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
1
武汉理工大学《信号分析与处理》课程设计说明书
2.课程设计的方案
2.1课程设计的原理
2.1.1连续信号的采样定理
模拟信号经过 (A/D) 变换转换为数字信号的过程称为采样,信号采样后其
频谱产生了周期延拓,每隔一个采样频率 fs,重复出现一次。为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成分的两倍,这称之为采样定理。时域采样定理从采样信号fs(t)恢复原信号f(t)必需满足两个条件:
(1) f(t)必须是带限信号,其频谱函数在|?|> ?s各处为零;(对信号的要
求,即只有带限信号才能适用采样定理。)
(2) 取样频率不能过低,必须 ?s>2 ?m(或 fs>2fm)。(对取样频率的要求,即取样频率要足够大,采得的样值要足够多,才能恢复原信号。)如果采样频率?s?2?/T大于或等于2?max,即?s?2?max(2?max为连续信号??t?的有限频谱),则采样离散信号??t能无失真地恢复到原来的连续信号 ??t?。一个频谱在区间(- ?m,?m)以外为零的频带有限信号f(t),可唯一地由其在均匀间隔 TS上的样点值f(nTs)所确定。根据时域与频域的对称性,可以由时域采样定理直接推出频域采样定理。一个时间受限信号f?t?,它集中在(??m,??m)的时间范围内,则该信号的频谱F?j??在频域中以间隔为?1的冲激序列进行采样,采样后的频谱F1(j?)可以惟一表示原信号的条件为重复周期T1?2tm。采样信号
fs(t)的频谱是原信号频谱 F(j?)的周期性重复,它每隔
重复出现一次。当
?s>2 ?m时,不会出现混叠现象,原信号的频谱的形状不会发生变化,从而能
从采样信号 fs(t)中恢复原信号 f(t)。(注:?s>2 ?m的含义是:采样频率大于等于信号最高频率的2倍;这里的“不混叠”意味着信号频谱没有被破坏,也就为后面恢复原信号提供了可能)
2
武汉理工大学《信号分析与处理》课程设计说明书
(a)
(b)
(c)
图* 抽样定理
a) 等抽样频率时的抽样信号及频谱(不混叠) b) 高抽样频率时的抽样信号及频谱(不混叠) c) 低抽样频率时的抽样信号及频谱(混叠)
2.1.2信号采样
如图1所示,给出了信号采样原理图
信号采样原理图(a)
由图1可见,fs(t)?f(t)??Ts(t),其中,冲激采样信号?Ts(t)的表达式
3
武汉理工大学《信号分析与处理》课程设计说明书
为:?Ts(t)?n?????(t?nTs) 其傅立叶变换为???(??n?),其中??sn???ss??2?。设TsF(j?),Fs(j?)分别为f(t),fs(t)的傅立叶变换,由傅立叶变换的频域卷积定
?11理,可得Fs(j?)?F(j?)*?s??(??n?s)?2?Tsn???n????F[j(??n?)]
s?若设f(t)是带限信号,带宽为?m, f(t)经过采样后的频谱Fs(j?)就是将。因F(j?)在频率轴上搬移至0,??s,??2s,?,??ns,?处(幅度为原频谱的1Ts倍)此,当?s?2?m时,频谱不发生混叠;而当?s?2?m时,频谱发生混叠。
一个理想采样器可以看成是一个载波为理想单位脉冲序列?T(t)的幅值调制器,即理想采样器的输出信号e*(t),是连续输入信号e(t)调制在载波?T(t)上的结果,如图2所示。
图2 信号的采样
用数学表达式描述上述调制过程,则有
e*(t)?e(t)?T(t)
理想单位脉冲序列?T(t)可以表示为
?T(t)???(t?nT)
n?0?其中?(t?nT)是出现在时刻t?nT,强度为1的单位脉冲。由于e(t)的 数值仅在采样瞬时才有意义,同时,假设
e(t)?0**??t?0
所以e(t)又可表示为:e(t)??e(nT)?(t?nT)
n?0 4
武汉理工大学《信号分析与处理》课程设计说明书
2.1.3信号重建
sin(t)T?sinc(Ft))用时域内插公式xa(t)??x(n)g(t?nT)(其中g(t)?完s?n???tT??成信号的重建。
2.2设计的思路
连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。时域对连续时间信号进行采样,是给它乘以一个采样脉冲序列,就可以得到采样点上的样本值,信号被采样前后在频域的变化,可以通过时域频域的对应关系分别求得了采样信号的频谱。
在一定条件下,一个连续时间信号完全可以用该信号在等时间间隔上的瞬时值来表示,并且可以用这些样本值把信号完全恢复过来。这样,抽样定理为连续时间信号与离散时间信号的相互转换提供了理论依据。通过观察采样信号的频谱,发现它只是原信号频谱的线性重复搬移,只要给它乘以一个门函数,就可以在频域恢复原信号的频谱,在时域是否也能恢复原信号时,利用频域时域的对称关系,得到了信号。
2.3设计方案优缺点
优点:MATLAB在绘图方面提供了相当高级的函数序及程序界面,即使用户没有丰富的程序设计经验,也能够快速地得到自己想要的结果,熟练的使用MATLAB的程序员或研究人员能缩短研究开发时间,从而提高竞争力,MATLAB和其他高级语言有良好的接口,可以方便地实现与其他语言的混合编程,从而进一步扩宽MATLAB的应用潜力。
5
武汉理工大学《信号分析与处理》课程设计说明书
缺点:MATLAB占用内存空间很大,并且会因硬盘分区是NTFS格式还是FAT格式而有差异。
3.信号采样程序及仿真
3.1连续信号x(t)及其抽样函数x(n)
clc clear all close all
n=0:50 % 定义序列的长度是50
A=input('请入A的值A:') % 设置信号的有关参数 a=input('请入a的值a:') w0=input('请入w0的值w0:') T1=0.005 T2=0.0025 T3=0.001 T0=0.001
x=A*exp(-a*n*T0).*sin(w0*n*T0) y1=A*exp(-a*n*T1).*sin(w0*n*T1) y2=A*exp(-a*n*T2).*sin(w0*n*T2) y3=A*exp(-a*n*T3).*sin(w0*n*T3) close all subplot(2,1,1)
stem(n,x) % 绘制x(n)的图形 grid on
title('离散时间信号') subplot(2,1,2) plot(n,x)
6
武汉理工大学《信号分析与处理》课程设计说明书
grid on
title('连续时间信号')
图1 连续时间信号及离散时间信号波形图
7
武汉理工大学《信号分析与处理》课程设计说明书
3.2 采样程序及其波形
subplot(3,1,1) stem(n,y1) grid on
title('200Hz连续采样信号序列') subplot(3,1,2) stem(n,y2) grid on
title('400Hz连续时间信号') subplot(3,1,3) stem(n,y3) grid on
title('1000Hz连续时间信号') 波形如下:
8
武汉理工大学《信号分析与处理》课程设计说明书
图2 不同频率的采样波形
3.3 200Hz 幅频特性程序及波形
k=-25:25 W=(pi/12.5)*k w=W/pi
Y1=y1*exp(-j*pi/12.5).^(n'*k) figure (3) plot(w,abs(Y1)) grid xlabel('w') ylabel('幅度')
title('200Hz连续采样信号序列的幅度谱') 波形如下:
9
武汉理工大学《信号分析与处理》课程设计说明书
图3 200Hz采样信号序列幅频图
3.4 400Hz幅频特性程序及波形
Y2=y2*(exp(-j*pi/12.5)).^(n'*k) figure (4) plot(w,abs(Y2)) grid xlabel('w') ylabel('幅度')
title('400Hz连续采样信号序列的幅度谱') 波形如下:
图4 400 Hz采样信号序列幅频图
10
武汉理工大学《信号分析与处理》课程设计说明书
3.5 1000Hz幅频特性程序及波形
Y3=y3*(exp(-j*pi/12.5)).^(n'*k) figure (5) plot(w,abs(Y3)) grid xlabel('w') ylabel('幅度')
title('1000Hz连续采样信号序列的幅度谱') 波形如下:
图5 1000 Hz采样信号序列幅频图
3.6波形分析
采样频率为1000Hz时没有失真,400HZ时有横线,产生失真,200Hz时横
11
武汉理工大学《信号分析与处理》课程设计说明书
线加长,失真加大。说明采样频率越大,失真越小,当频率小于基带信号频率的2倍时发生混混叠现象,失真很大,当频率远大于基带信号频率的2倍时几乎没有失真。
4.信号的重建程序及仿真
4.1采样信号的重建程序与波形
clc clear all close all
A=input('please input the A:') a=input('please input the a:') W0=input('please input the W0:') fs=input('please input the fs:') n=0:49 T=1/fs t0=10/a Dt=1/(5*a) t=0:Dt:t0
xa=A*exp(-a*t).*sin(W0*t) K1=50 k1=0:1:K1 W1max=2*pi*500 W1=W1max*k1/K1 w1=W1/pi
Xa=xa*exp(-j*t'*W1)
x=A*exp(-a*n*T).*sin(W0*n*T) figure (1)
12
武汉理工大学《信号分析与处理》课程设计说明书
subplot(4,1,1) plot(t*1000,xa)
title('连续时间信号x(t)') axis([0 t0*1000 -50 150]) grid
xlabel('t:毫秒') ylabel('x(t)') subplot(4,1,2) plot(w1,abs(Xa))
title('连续时间信号频谱Xa(w1)') axis([0 1000 0 1200]) subplot(4,1,3) stem(x) grid xlabel('n') ylabel('x(n)') title('采样序列x(n)') axis([0 50 -15 160]) x1=spline(n*T,x,t) grid
xlabel('t:毫秒') ylabel('x(t)') subplot(4,1,4) plot(t*1000,x1) axis([0 t0*1000 0 200]) title('由x(n)恢复x1(t)') grid
xlabel('t:毫秒') ylabel('x1(t)')
13
武汉理工大学《信号分析与处理》课程设计说明书
axis([0 45 -20 160]) error=max(abs(x1-xa))
400HZ波形图如下所示:
图6 400Hz采样序列重建图
误差:
14
武汉理工大学《信号分析与处理》课程设计说明书
1000Hz波形图如下所示:
图7 1000Hz采样序列重建图
误差:
4.2 误差分析
由仿真结果可知,频率越大误差越小,根据奈奎斯特采样定理,当采样频率
15
武汉理工大学《信号分析与处理》课程设计说明书
大于2倍的基带频率是才不会发生混叠,信号重建误差会随着频率的增大而减小,本次课设中,400Hz小于基带频率的二倍,故产生误差较大,而采样频率为1000Hz时误差就变得很小,一般采样频率为基带频率的3~4倍即可。
5心得体会
经过一段艰苦的奋斗,数字信号处理课程设计已经结束了,连续几天的上午都是在学校机房里熬过去的,今天终于把报告弄完了。每次做课程设计就头疼好几天,被折磨得不想说什么了。我能够按时完成课设,绝大部分都是在同学,老师的指导下完成的,再加上从网络中收集到一些信息。总的来说觉得比较难,没有理解透彻,有好多要点都没弄懂。
在之前数字信号处理的学习以及完成实验的过程中,已经使用过MATLAB,对其有了一些基础的了解和认识。通过这次的课程设计使我进一步了解了信号的产生,采样及频谱分析的方法。以及其中产生信号和绘制信号的基本命令和一些基础编程语言。让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具,并且熟练的应用MATLAB也可以很好的加深我对课程的理解,方便我的思维。这次课程设计使我了解了MATLAB的使用方法,提高了自己的分析和动手实践能力。同时我相信,进一步加强对MATLAB的学习与研究对我今后的学习将会起到很大的帮助。
这次的课程设计是对本学期所学知识的一次重要巩固,使得在课堂上掌握的知识得到了真正的运用。在学习的过程中和同学讨论,更明白了理论知识与实践的联系。书到用时方恨少,有些知识学会是一回事,掌握是一回事,但应用起来确实不是那么简单的,需要很多知识的融会贯通。
学习就是一个了解疑惑,进而解惑的过程。这次实习就是提供了这样一个机会,发现自己知识漏洞,与同学老师探讨进行解惑的的机会。
通过这次课程设计实习,我更深刻的了解了MATLAB的运用,重新复习了相关知识,对课本上的知识有了更深的理解,使我对数字信号处理有了系统的认知。
16
武汉理工大学《信号分析与处理》课程设计说明书
6参考文献
[1]董长虹.Matlab信号处理与应用.北京:国防工业出版社,2005 [2]路林吉.袁华.信号与系统.北京:机械工业出版社,2007 [3]甘俊英.MATLAB实验指导.北京:清华大学出版社,2007 [4]吴大正.信号与线性系统分析.北京:高等教育出版社,2005 [5]刘 泉.阙大顺.数字信号处理.北京:电子工业出版社,2009
[6]张 威. Matlab基础与编程入门.西安:西安电子科技大学出版社,2004 [7]刘树棠.信号与系统(第二版).西安:西安交通大学出版社,2004
17
正在阅读:
信号采样与重建的编程实现06-14
坪山高级中学好还是布吉高级中学好02-07
火灾应急预案范本03-17
剖析材料206-23
悬挑脚手架施工方案 - 图文03-08
内墙抹灰施工工艺要点及流程05-21
稳心颗粒治疗频发性室性早搏的疗效观察07-19
09502现代表面工程与技术06-28
广东省2011年高考全真模拟考试文科数学试题(一)06-22
2016届高三七校联考文科数学试题12-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 采样
- 重建
- 信号
- 编程
- 实现
- 2013-14年QS世界大学排名前50及2013年USNews美国大学生物医学与
- 福建省2017年基金从业资格:投资组合管理考试题
- 年产一万吨苹果设汁工厂设计
- 论德国民法中的人格与人格权 - 兼论我国民法典的应然立场
- 中国眼科光学仪器市场趋势分析及投资策略研究报告2016-2021年
- 弱势群体权利的法律保护
- 不合格品管理制度(华帝)
- 阳江市环境保护和生态建设“十二五”规划
- 行政能力测试讲义1 - 图文
- 河北省对外贸易状况
- 浅论会计诚信问题开题报告 - 图文
- 浅谈《活着》中福贵悲剧命运及其原因
- 2018年广东省中考地理试题(含参考答案)
- 高中通用技术3.1《设计的一般过程》(1)教案 - 图文
- BES产品白皮书v3.0.2 - 图文
- 关于关联方准则的思考
- 中国教育学会十二五课题
- 爱婴医院应知应会知识汇编
- 2009年上海闵行区中考英语模拟试题(含答案)
- 2017年4月自考00169房地产法试题及答案