1、 课程设计说明书 NO.1 应用 MATLAB实现连续信号的抽样与重构仿真 一.课设的目的 1. 掌握利用MATLAB分析系统频率响应的方法,增加对仿真软件MATLAB的感性认识,学会该软件的操作和使用方法。 2. 掌握利用MATLAB实现连续信号采用与重构的方法,加深理解抽样与重构的概念。 3 . 初步掌握线性系统的设计方法,培养独立工作能力。 4. 学习MATLAB中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示,加深对各种电信号的理解。 5. 加深理解抽样对信号的时域和频
2、域特性的影响;验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。 6. 加深对抽样定理的理解和掌握,以及对信号恢复的必要性;掌握对连续信号在时域的抽样与重构的方法。 二.课程设计的内容及要求 1.课程设计的内容 离散正弦序列的MATLAB表示与连续信号类似,只不过是用stem函数而不是用plot函数来画出序列波形。命令窗口没打开时,从“Desktop”菜单中选择“Command Window”选项可以打开它。“>>”符号是输入函数的提示符,在提示符后面输入数据和运行函数。 退出MATLAB时部变量保存在一个MAT文件中,它是一种二进制文件,扩展名为.mat。然后可在,工作
3、空间中的内容随之清除。可以将当前工作中的部分或全以后使用它时载入它。 沈 阳 大 学 课程设计说明书 NO.2 用MATLAB的当前目录浏览器搜索、查看、打开、查找和改变MATLAB路径和文件。在MATLAB桌面上,从“Desktop”菜单中选择“Current Directory”选项,或者在命
4、令窗口键入“filebrowser”,打开当前目录浏览器。使用当前目录浏览器可以完成下面的主要任务:查看和改变路径;创建、重命名、复制和删除路径和文件;打开、运行和查看文件的内容。 由于函数不是严格的带限信号,其带宽可根据一定的精度要求做一近似。根据以下三种情况用MATLAB实现抽样信号及重构并求出两者误差,分析三种情况下的结果。 (1)的临界抽样及重构:,,; (2)的过抽样及重构:,,; (3)的欠抽样及重构:,,。 2.课程设计的方案 2.1课程设计的原理 2.1.1连续信号的抽样定理 模拟信号经过 (A/D) 变换转换为数字信号的过程称为抽样,信号抽样后其频谱产生了周期
5、延拓,每隔一个抽样频率,重复出现一次。为保证抽样后信号的频谱形状不失真,抽样频率必须大于信号中最高频率成分的两倍,这称之为抽样定理。时域抽样定理从抽样信号恢复原信号必需满足两个条件: (1) 必须是带限信号,其频谱函数在 >各处为零;(对信号的要求,即只有带限信号才能适用抽样定理。) 沈 阳 大 学 (2) 取样频率不能过低,必须>2(或>2)。(对取样频率的
6、要求,即取样频率要足够大,采得的样值要足够多,才能恢复原信号。)如果抽样频率=2大于或等于2,即(2为连续信号的有限频谱),则抽样离散信号能无失真地恢复到原来的连续信号。一个频谱在区间()以外为零的频带有限信号,可唯一地由其在均匀间隔(<)上的样点值所确定。根据时域与频域的对称性,可以由时域抽样定理直接推出频域抽样定理。一个时间受限信号,它集中在()的时间范围内,则该信号的频谱在频域中以间隔为的冲激序列进行抽样,抽样后的频谱可以惟一表示原信号的条件为重复周期,或频域间隔(其中)。抽样信号的频谱是原信号频谱的周期性重复,它每隔重复出现一次。当>2时,不会出现混叠现象,原信号的频谱的形状不会发生变
7、化,从而能从抽样信号中恢复原信号。(注:>2的含义是:抽样频率大于等于信号最高频率的2倍;这里的“不混叠”意味着信号频谱没有被破坏,也就为后面恢复原信号提供了可能! 课程设计说明书 NO.3 沈 阳 大 学 图1 信号抽样频谱 a)
8、等抽样频率时的抽样信号及频谱(不混叠) b) 高抽样频率时的抽样信号及频谱(不混叠) c) 低抽样频率时的抽样信号及频谱(混叠) 课程设计说明书 NO.4 沈 阳 大 学 课程设计说明书 NO.5 2.1.2信号抽样 如图1所示,给出了信号抽样原理图 图1 信号抽样原理图
9、 由图1可见,,其中,冲激抽样信号的表达式为: (1) 其傅立叶变换为,其中。设,分别为,的傅立叶变换,由傅立叶变换的频域卷积定理,可得 (2) 若设是带限信号,带宽为, 经过抽样后的频谱就是将在频率轴上搬移至处(幅度为原频谱的倍)。因此,当时,频谱不发生混叠;而当时,频谱发生混叠。 沈 阳
10、 大 学 课程设计说明书 NO.6 一个理想抽样器可以看成是一个载波为理想单位脉冲序列的幅值调制器,即理想抽样器的输出信号,是连续输入信号调制在载波上的结果,如图2所示。 图3 信号的抽样 用数学表达式描述上述调制过程,则有 (3) 理想单位脉冲序列可以表示为 (4) 其中是出现在时刻,强度为1的单位脉冲。由于的 数值仅在抽样瞬时才有意义,同时,假设 (5) 所以又可表示为 (6)
11、 沈 阳 大 学 课程设计说明书 NO.7 2.1.3信号重构 设信号被抽样后形成的抽样信号为,信号的重构是指由经过内插处理后,恢复出原来信号的过程。又称为信号恢复。 若设是带限信号,带宽为,经抽样后的频谱为。设抽样频率,则由式(9)知是以为周期的谱线。现选取一个频率特性(其中截止频率满足)的理想低通滤波器与相乘,得到的频谱即为原信号的频谱。 显然,,与之对应的时域表达式为 (7) 将及
12、代入式(10)得 (8) 式(8)即为用求解的表达式,是利用MATLAB实现信号重构的基本关系式,抽样函数在此起着内插函数的作用。 沈 阳 大 学 课程设计说明书 NO.8 例:设,其为: (9
13、 即的带宽为,为了由的抽样信号不失真地重构,由时域抽样定理知抽样间隔,取(过抽样)。利用MATLAB的抽样函数来表示,有。据此可知: (10) 通过以上分析,得到如下的时域抽样定理:一个带宽为的带限信号f(t),可唯一地由它的均匀取样信号确定,其中,取样间隔Ts<π/wm, 该取样间隔又称为奈奎斯特间隔。 根据时域卷积定理,求出信号重构的数学表达式为: (11) 式中的抽样函数Sa()起着内插函数的作用,信号的恢复可以视为将抽样
14、 沈 阳 大 学 课程设计说明书 NO.9 函数进行不同时刻移位后加权求和的结果,其加权的权值为抽样信号在相应时刻的定义值。利用MATLAB中的抽样函数来表示Sa(t),有,,于是,信号重构的内插公式也可表达式: ]*[] (12) = 2.2设计的思路 连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有
15、确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。时域对连续时间信号进行抽样,是给它乘以一个抽样脉冲序列,就可以得到抽样点上的样本值,信号被抽样前后在频域的变化,可以通过时域频域的对应关系分别求得了抽样信号的频谱。 在一定条件下,一个连续时间信号完全可以用该信号在等时间间隔上的瞬时值来表示,并且可以用这些样本值把信号完全恢复过来。这样,抽样定理为连续时间信号与离散时间信号的相互转换提供了理论依据。通过观察抽样信号的频谱,发现它只是原信号频谱的线性重复搬移,只要给它乘以一个门函
16、数,就可以在频域恢复原信号的频谱,在时域是否也能恢复原信号时,利用频域时域的对称关系,得到了信号。 沈 阳 大 学 课程设计说明书 NO.10 2.3详细设计过程 2.3.1的临界抽样及重构 1.实现程序代码 当抽样频率小于一个连续的同信号最大频率的2倍,即时,称为临界抽样. 修改门信号
17、宽度、抽样周期等参数,重新运行程序,观察得到的抽样信号时域和频域特性,以及重构信号与误差信号的变化。 Sa(t)的临界抽样及重构程序代码; wm=1;%比例放大关系和自己的图比较 wc=wm; Ts=2*pi/wm;%pi=π ws=2*pi/Ts;%2π/T n=-100:100; %矩阵——相当于信号? nTs=n*Ts f=sinc(nTs/pi); Dt=0.005;%抽样间隔 第二幅图(每一小格5,平均每0.005抽出1个) t=-10:Dt:10;%横坐标的间隔-10~10 fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs
18、),1)*t-nTs'*ones(1,length(t))));%?? kTs1=-15:0.5:15;%间断信号的抽样间隔比,每一小格间距是5每0.5抽一根,所以有十根。 f1=sinc(kTs1/pi);%??? subplot(211);%? stem(kTs1,f1);%显示圈圈 沈 阳 大 学 课程设计说明书
19、 NO.11 xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的临界抽样信号'); subplot(212); plot(t,fa)%显示成连续的 xlabel('t'); ylabel('f(t)'); title('sa(t)=sinc(t/pi)的临界抽样信号重构sa(t)'); grid;%网格 2.程序运行运行结果图与分析 图4 的临界抽样及重构图
20、 沈 阳 大 学 课程设计说明书 NO.12 运行结果分析:通过改变Ts的值使图形的周期变化,再把t的值改为-10到10 则连续函数的横坐标就由原来的-15到15变为了-10到10. 2.3.2 的过抽样及重构 1.实现程序代码 当抽样频率大于一个连续的同信号最大频率的2倍,即时,称为过抽样. 在不同抽样频率的条件下,观察对应抽样信号的时域和频域特性,以及重构信号与误差信号的变化。 Sa(
21、t)的过抽样及重构程序代码; % Sa(t)的欠抽样及重构 wm=1; wc=1.1*wm; Ts=0.7*pi/wm; ws=2*pi/Ts; n=-100:100; nTs=n*Ts f=sinc(nTs/pi); Dt=0.005;t=-15:Dt:15; fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); error=abs(fa-sinc(t/pi));%误差的绝对值 kTs1=-15:1:15; f1=sinc(kTs1/pi);
22、 沈 阳 大 学 课程设计说明书 NO.13 subplot(131); stem(kTs1,f1);%显示成圈圈型 xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的抽样信号'); subplot(132); plot(t,fa)%显示成连续的 x
23、label('t'); ylabel('fa(t)'); title('由Sa(t)=sinc(t/pi)的欠抽样信号重构Sa(t)'); grid;%网格 subplot(133); plot(t,error);%显示成连续 xlabel('t'); ylabel('error(t)'); title('欠抽样信号与原信号的误差error(t)') 2.程序运行运行结果图与分析。
24、 沈 阳 大 学 课程设计说明书 NO.14 图5 的过抽样信号、重构信号及两信号的绝对误差图 运行分析:改变Dt即改变抽样间隔,把0.5改为1抽样间隔变大,把(311)(312)(313)分别改为(131)(132)(133)意味着,把图从分三行一行画一个,改为分一行,一行画三个,结果就如图所示了. 2.3.3 Sa(t)的欠抽样及重构 1.实现程序代码 当抽样频率小于一个连续的同信号最大频率的2倍,即时,称为过抽样。利用频域滤波的方法修改实验中的部分程序,完成对抽样信号的重构。
25、 沈 阳 大 学 课程设计说明书 NO.15 Sa(t)的欠抽样及重构程序代码; % Sa(t)的欠抽样及重构 wm=1; wc=wm; Ts=1.5*pi/wm; ws=2*pi/Ts; n=-100:100; nTs=n*Ts f=sinc(nTs/pi); Dt=0.005;t=-15
26、Dt:15; fa=f*Ts*wc/pi*sinc((wc/ pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); error=abs(fa-sinc(t/pi)); t1=-15:0.5:15; f1=sinc(t1/pi); subplot(311); stem(t1,f1); xlabel('kTs'); ylabel('f(kTs)'); title('sa(t)=sinc(t/pi)的抽样信号'); subplot(312); plot(t,fa) xlabel('t'); ylabel('fa
27、t)'); title('由Sa(t)=sinc(t/pi)的欠抽样信号重构Sa(t)'); 沈 阳 大 学 课程设计说明书 NO.16 grid; subplot(313); plot(t,error); xlabel('t'); ylabel('error(t)'); title('
28、欠抽样信号与原信号的误差error(t)') 2.程序运行运行结果图与分析 图6 的欠抽样信号、重构信号及两信号的绝对误差图 运行分析:在图的框图中的菜单中点view菜单,选中property Editor,出现如上图所示的图,选中其中的Ticks,出现对话框,选中Step by 在后面添上1就会使横坐标的间距变成1.如上图所示 沈 阳 大 学
29、 课程设计说明书 NO.17 2.4 设计方案优缺点 优点:MATLAB在绘图方面提供了相当高级的函数序及程序界面,即使用户没有丰富的程序设计经验,也能够快速地得到自己想要的结果,熟练的使用MATLAB的程序员或研究人员能缩短研究开发时间,从而提高竞争力,MATLAB和其他高级语言有良好的接口,可以方便地实现与其他语言的混合编程,从而进一步扩宽MATLAB的应用潜力。 缺点:MATLAB占用内存空间很大,并且会因硬盘分区是NTFS格式还是FAT格式而有差异。 2.5 程序中的常见函数和功能 程序中的常见函数和功能:abs( )求
30、绝对值;sinc( ) Sa(t)函数;ones( )全1矩阵;plot( )绘图;subplot( ) 绘制子图;stem( ) 绘制离散序列数据图 . 三.收获和体会 应用 MATLAB实现连续信号的抽样与重构仿真设计安排了一个星期,在这个星期里过着与往常不一样的生活。学会在MATLAB中运行程序读懂它并运行并不容易的事情,但为了尽自己最大的努力完成任务,我们连续奋斗了一个星期。我们查资料了解MATLAB的原理,反复阅读书上的程去,将其敲进电脑进行核对修改,直到最后运行出来。在这忙碌的过程中,我享受着这每一分每一秒。我享受这个过程。在这个过程中我得到了很多东西, 我对抽样定
31、理和信号的重构有了深一步的掌握,也能自己运用MATLAB ,对其也有了深入的了解,对老师提出的问题也能独立的解决.这次的课程设计也使我的增加了责任感,培养了我遇到困难勇往直前的精神,也正是这些精神才使我完成课设. 总之这次课程设计让我受益匪浅。感谢在这期间老师和同学对我的帮助,感谢学校学院让我度过了一个愉快的实习期. 四.参考文献 沈 阳 大 学
32、 课程设计说明书 NO.18 [1]吴大正编 《信号与线性系统分析》(第三版) 高等教育出版社 [2]胡寿松 控制理论(经典控制理论70%;现代控制理论30%)《自动控制原理》 国防工业版社 [3]燕庆明编 《信号与系统教程》高等教育出版社 [4] 张明友编 《信号与线性系统分析》 电子科技大学出版社 [5]楼天顺`刘晓东、李博涵 《基于matlab7.x的系统分析与设计》西安:西安电子科技大学出版社 2005.5 [6]路林吉,袁华. 《
33、 信号与系统》北京:机械工业出版社,2007.01:124-127. [7]徐明远 .《MATLAB仿真在通信与电子工程中的应用》. 西安. 西安电子科技大学 出版社 2005.6 沈 阳 大 学 课程设计说明书 NO.19
34、 沈 阳 大 学 NO.20 沈 阳 大 学 NO.
35、 沈 阳 大 学 NO. 沈 阳 大 学
36、 NO. 沈 阳 大 学 NO.
37、 沈 阳 大 学 NO. 沈 阳 大 学 NO.
38、 沈 阳 大 学 NO. 沈 阳 大 学 沈 阳 大 学






