资源描述
0课程设计说明书课程设计说明书题目:题目:利用利用 MATLABMATLAB 实现实现 SaSa 信号的抽样与重构仿真信号的抽样与重构仿真姓姓 名:名: 院院 (系):(系): 电气信息工程学院电气信息工程学院专业班级:专业班级: 学学 号:号: 指导教师:指导教师: 成成 绩:绩: 时间:时间:2013 年年 6 月月 24 日至日至 2013 年年 6 月月 28 日日利用 MATLAB 实现 Sa 信号的抽样与重构仿真1目目 录录摘要摘要.31 概述概述.41.1 设计内容设计内容 .41.2 设计目的设计目的 .41.3 设计要求设计要求 .42 课程设计方案课程设计方案.62.1 设计原理设计原理 .62.1.12.1.1 MATLABMATLAB 简介简介.6 62.1.22.1.2 连续时间信号连续时间信号 .6 62.1.32.1.3 连续信号的采样定理连续信号的采样定理 .7 72.1.42.1.4 信号抽样信号抽样 .9 92.1.52.1.5 信号重构信号重构 .10103 设计过程详述设计过程详述.133.1 设计思路设计思路 .133.2 设计连续信号设计连续信号 SA(T)及频谱及频谱.133.2.13.2.1 设计连续信号设计连续信号SASA( (T T) ).13133.2.23.2.2 设计连续信号设计连续信号SASA( (T T) )的频谱的频谱 .14143.3设计连续信号设计连续信号 SA(T)的采样与信号重构的采样与信号重构.153.3.13.3.1 临界抽样情况临界抽样情况 .15153.2.23.2.2 过抽样情况过抽样情况 .1717利用 MATLAB 实现 Sa 信号的抽样与重构仿真23.2.33.2.3 欠采样情况欠采样情况 .1919总结总结.22致谢致谢.23参考文献参考文献.24利用 MATLAB 实现 Sa 信号的抽样与重构仿真3摘要摘要本次课程设计以信号与系统和数字信号处理这两门理论与实践紧密结合的课程为基础,经过两个学期的理论学习和上机实验后我们已初步掌握 MATLAB 软件,通过课程设计更加有助于我们进一步理解和巩固所学知识,学习应用 MATLAB 软件的仿真技术,初步掌握线性系统的设计方法,提高分析和解决实际问题的能力,培养独立工作能力。本实验设计的题目是:利用 MATLAB 实现 Sa 信号的抽样与重构仿真。通过对该连续的 Sa 信号进行抽样,在满足采样定理和不满足采样定理即过抽样和欠抽样两种情况下对连续的 Sa 信号和采样信号进行频谱分析。利用 MATLAB 实现 Sa 信号的抽样与重构仿真41 概述概述1.1 设计内容设计内容首先对连续信号分别进行抽样,分析不同抽样情况下信号频谱的变化。)()(tSatf设被抽样后形成的抽样信号为,信号的重构是指由经过内插处理后,恢)(tf)(tfs)(tfs复出原来信号的过程,又称为信号恢复。分析重构后的信号和原信号的差别。利)(tf用 MATLAB 编写程序对进行抽样和重构,完成对抽样定理的验证。)(tSa1.2 设计目的设计目的1. 掌握利用 MATLAB 分析系统频率响应的方法,增加对仿真软件 MATLAB 的感性认识,学会该软件的操作和使用方法。2. 掌握利用 MATLAB 实现连续信号采用与重构的方法,加深理解采样与重构的概念。3 . 初步掌握线性系统的设计方法,培养独立工作能力。4. 学习 MATLAB 中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示,加深对各种电信号的理解。5. 加深理解采样对信号的时域和频域特性的影响;验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。6. 加深对采样定理的理解和掌握,以及对信号恢复的必要性;掌握对连续信号在时域的采样与重构的方法。1.3 设计要求设计要求利用 MATLAB 实现 Sa 信号的抽样与重构仿真51、掌握利用 MATLAB 实现连续信号抽样与重构的方法。2、利用 MATLAB 实现对常用连续时间信号的可视化表示。3、加深理解抽样对信号的时域和频域特性的影响。4、掌握连续信号在时域的采样与重构的方法。利用 MATLAB 实现 Sa 信号的抽样与重构仿真62 课程设计方案课程设计方案2.1 设计原理设计原理 2.1.1 MATLAB 简介简介MATLAB(Matrix Laboratory)是 1984 年美国 Math Works 公司产品,Matlab的推出得到了各个领域专家学者的广泛关注,并越来越多的应用到我们的学习生活中来,是目前通信工程上最广泛应用的软件之一。Matrix Laboratory 意为“矩阵实验室”,最初的 MATLAB 只是一个数学计算工具。但现在的 MATLAB 已经远不仅仅是一个“矩阵实验室” ,它已经成为一个集概念设计、算法开发、建模仿真,实时实现于一体的集成环境,它拥有许多衍生子集工具。MATLAB 的基本数据单位是矩阵 ,它的指令表达式与数学,工程中常用的形式十分相似,故用 MATLAB 来解算问题要比用C,FORTRAN等语言完 全 相同的事情简捷得多.在新的版本中也加入了对C,FORTRAN,c+ ,JAVA 的支持 .可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB 函数库中方便自己以后调用。2.1.2 连续时间信号连续时间信号连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应。严格来说,MATLAB 并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。利用 MATLAB 实现 Sa 信号的抽样与重构仿真7 在一定条件下,一个连续时间信号完全可以用该信号在等时间间隔上的瞬时值来表示,并且可以用这些样本值把信号完全恢复过来。这样,抽样定理为连续时间信号与离散时间信号的相互转换提供了理论依据。通过观察采样信号的频谱,发现它只是原信号频谱的线性重复搬移,只要给它乘以一个门函数,就可以在频域恢复原信号的频谱,在时域是否也能恢复原信号时,利用频域时域的对称关系,得到了信号。本课程设计采用作为连续时间信号进行抽样与重构,由于函数不是严格)(tSa)(tSa的带限信号,其带宽可根据一定的精度要求做一近似。m2.1.3 连续信号的采样定理连续信号的采样定理模拟信号经过 (A/D) 变换转换为数字信号的过程称为采样,信号采样后其频谱产生了周期延拓,每隔一个采样频率 fs,重复出现一次。为保证采样后信号的频谱形状不失真,采样频率必须大于信号中最高频率成分的两倍,这称之为采样定理。时域采样定理从采样信号恢复原信号必需满足两个条件: (1) 必须是带限信号,其频谱函数在 各处为零;(对信号的要求,即只有带限信号才能适用采样定理。 ) (2) 取样频率不能过低,必须 2 (或 2) 。 (对取样频率的要求,即取样频率要足够大,采得的样值要足够多,才能恢复原信号。 )如果采样频率大于或等于,即(为连续信号的有限频谱),则采样离散信号能无失真地恢复到原来的连续信号 。一个频谱在区间(- ,)以外为零的频带有限信号,可唯一地由其在均匀间隔 ( )上的样点值所确定。根据时域与频域的对称性,可以由时域采样定理直接推出频域采样定理。一个时间受限信号,它集中在()的时间范围内,tfmm,则该信号的频谱在频域中以间隔为的冲激序列进行采样,采样后的频谱jF1利用 MATLAB 实现 Sa 信号的抽样与重构仿真8可以惟一表示原信号的条件为重复周期,或频域间隔(其)(1jFmtT21mtf2121中) 。采样信号 的频谱是原信号频谱 的周期性重复,它每隔 112T重复出现一次。当2 时,不会出现混叠现象,原信号的频谱的形状不会发s生变化,从而能从采样信号 中恢复原信号 。 (注:2 的含义是:采s样频率大于等于信号最高频率的 2 倍;这里的“不混叠”意味着信号频谱没有被破坏,也就为后面恢复原信号提供了可能) 。图 1 等抽样频率时的抽样信号及频谱(不混叠)图 2 高抽样频率时的抽样信号及频谱(不混叠) 图 3 低抽样频率时的抽样信号及频谱(混叠)利用 MATLAB 实现 Sa 信号的抽样与重构仿真92.1.4 信号抽样信号抽样如图 4 所示,给出了信号采样原理图图 4 信号采样原理图由图 4 可见,其中,冲激采样信号的表达式为:)()()(ttftfsTs)(tsT nsTnTtts)()(其傅立叶变换为,其中。设,分别为,nssn)(ssT2)(jF)(jFs)(tf的傅立叶变换,由傅立叶变换的频域卷积定理,可得)(tfs nssnsssnjFTnjFjF)(1)(*)(21)(若设是带限信号,带宽为, 经过采样后的频谱就是将)(tfm)(tf)(jFs在频率轴上搬移至处(幅度为原频谱的倍) 。因此,当)(jF, 02nssssT1时,频谱不发生混叠;而当时,频谱发生混叠。ms2ms2一个理想采样器可以看成是一个载波为理想单位脉冲序列的幅值调制器,即)(tT理想采样器的输出信号,是连续输入信号调制在载波上的结果,如图 5)(*te)(te)(tT所示。利用 MATLAB 实现 Sa 信号的抽样与重构仿真10图 5 信号的采样用数学表达式描述上述调制过程,则有)()()(*tteteT理想单位脉冲序列可以表示为)(tT 0)()(nTnTtt其中是出现在时刻,强度为 1 的单位脉冲。由于的)(nTt nTt )(te数值仅在采样瞬时才有意义,同时,假设00)(tte所以又可表示为)(*te*0( )() ()ne te nTtnT2.1.5 信号重构信号重构设信号被采样后形成的采样信号为,信号的重构是指由经过内插处)(tf)(tfs)(tfs理后,恢复出原来信号的过程。又称为信号恢复。)(tf若设是带限信号,带宽为,经采样后的频谱为。设采样频率)(tfm)(jFs,则由式(9)知是以为周期的谱线。现选取一个频率特性ms2)(jFss(其中截止频率满足)的理想低通滤波器与ccsTjH0)(c2scm相乘,得到的频谱即为原信号的频谱。)(jFs)(jF利用 MATLAB 实现 Sa 信号的抽样与重构仿真11显然,与之对应的时域表达式为)()()(jHjFjFs (10))(*)()(tfthtfs而nssnssnTtnTfnTttftf)()()()()()()()(1tSaTjHFthccs将及代入式(10)得)(th)(tfs (11)nscscsccssnTtSanTfTtSaTtftf)()()(*)()(式(11)即为用求解的表达式,是利用 MATLAB 实现信号重构的基本)(snTf)(tf关系式,抽样函数在此起着内插函数的作用。)(tSac例:设,其为:tttSatfsin)()()(jF101)(jF即的带宽为,为了由的采样信号不失真地重构,由时域)(tf1m)(tf)(tfs)(tf采样定理知采样间隔,取(过采样) 。利用 MATLAB 的抽样函数msT7 . 0sT来表示,有。据此可知:tttSinc)sin()()(tSa)/()(tSinctSanscscsccssnTtSincnTfTtSaTtftf)()()(*)()(通过以上分析,得到如下的时域采样定理:一个带宽为wm 的带限信号 f(t),可唯一地由它的均匀取样信号 fs(nTs)确定,其中,取样间隔 Ts/wm, 该取样间隔又称利用 MATLAB 实现 Sa 信号的抽样与重构仿真12为奈奎斯特间隔。 根据时域卷积定理,求出信号重构的数学表达式为: 式中的抽样函数 Sa(wct)起着内插函数的作用,信号的恢复可以视为将抽样函数进行不同时刻移位后加权求和的结果,其加权的权值为采样信号在相应时刻的定义值。利用MATLAB 中的抽样函数来表示 Sa(t),有,于是,信号重构的内插公式也可表示为: 利用 MATLAB 实现 Sa 信号的抽样与重构仿真133 设计过程详述设计过程详述3.1 设计思路设计思路本课程设计通过 MATLAB 软件产生一个连续时间信号并生成其频谱,然后)(tSa对该信号三种不同情况的抽样,并对采样后的频谱进行分析,最后通过设计低通滤波器滤出抽样所得频谱中多个周期中的一个周期频谱,并显示恢复后的时域连续信号。由于原连续信号的频谱无法实现真正的连续,所以通过扩大采样点的数目来代替,)(tSa理论上当采样点数无穷多的时候即可实现连续,基于此尽可能增加采样点数并以此来产生连续信号的频谱。在信号采样过程中,通过采样点的不同控制采样频率实现大于或小于或等于二倍最高连续信号的频率,从而可以很好的验证采样定理。信号重构时,滤波器的参数需要很好的设置以实现将抽样后的信号进行滤波恢复原连续信号。鉴于条件有限,此次课程设计我们只对过抽样情况实现重构。本节设计过程严格根据以下三种情况用 MATLAB 实现采样信号及重构进行分析详述。(1)的临界采样:,;)(tSa, 1mmcmispT/(2)的过采样及重构:,;)(tSa1mmc1 . 1mispT/5 . 0(3)的欠采样:,。)(tSa1mmcmispT/23.2 设计连续信号设计连续信号 sa(t)及频谱及频谱3.2.1 设计连续信号设计连续信号 sa(t)先设计一个程序,使之产生一个连续信号。)(tSa程序如下:t=-20:0.5:20;利用 MATLAB 实现 Sa 信号的抽样与重构仿真14f=sinc(t/pi);plot(t,f);xlabel(t);ylabel(x(t);title(时域连续信号 sa(t)=sinc(t/pi)波形); grid;产生的图形如图 6.-20-15-10-505101520-0.4-0.200.20.40.60.81tx(t)与 与 与 与 与 与 sa(t)=sinc(t/pi)与 与图 6 sa(t)信号时域波形图3.2.2 设计连续信号设计连续信号 sa(t)的频谱的频谱再设计一个频谱程序,使其产生连续信号的频谱波形图。程序如下:)(tSat=-20:0.5:20;f=sinc(t/pi); N=1000;k=-N:N;w1=10;利用 MATLAB 实现 Sa 信号的抽样与重构仿真15w=k*w1/N;F=f*exp(-j*t*w)*0.5; plot(w,F); xlabel(x);ylabel(x(w);title( sa(t)=sinc(t/pi)信号的频谱图);产生的图形如图 7.-10-8-6-4-20246810-0.500.511.522.533.5xx(w) sa(t)=sinc(t/pi)与 与 与 与 与 与图 7 sa(t)频谱图3.3设计连续信号设计连续信号 sa(t)的采样与信号重构的采样与信号重构3.3.1 临界抽样情况临界抽样情况当采样频率等于一个连续的同信号最大频率的 2 倍,即时,称为临界采ms2样,此时设置,。, 1mmcmispT/设计一个程序完成 Sa 信号的抽样以及重构信号与误差信号的变化。程序如下:利用 MATLAB 实现 Sa 信号的抽样与重构仿真16wm=1;%升余弦脉冲信号带宽wc=wm; %频率Ts=pi/wm; %周期ws=2*pi/Ts; %理想低通截止频率n=-100:100; %定义序列的长度是201nTs=n*Ts %采样点f=sinc(nTs/pi); %抽样信号Dt=0.005;t=-20:Dt:20;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs*ones(1,length(t); %信号重建t1=-20:0.5:20;f1=sinc(t1/pi);subplot(211);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(sa(t)=sinc(t/pi)的临界采样信号);subplot(212);plot(t,fa)xlabel(t);ylabel(fa(t);title(由sa(t)=sinc(t/pi)的临界采样信号重构sa(t);grid;产生的图形如图 8.利用 MATLAB 实现 Sa 信号的抽样与重构仿真17-20-15-10-505101520-0.500.51kTsf(kTs)sa(t)=sinc(t/pi)与 与 与 与 与 与 与-20-15-10-505101520-0.500.51tfa(t)与 sa(t)=sinc(t/pi)与 与 与 与 与 与 与 与 与 sa(t)图 8 临界抽样效果图分析:为了比较由采样信号恢复后的信号与原信号的误差,可以计算出两信号的绝对误差。当 t 选取的数据越大,起止的宽度越大。3.2.2 过抽样情况过抽样情况当采样频率大于一个连续的同信号最大频率的 2 倍,即时,称为过采样。ms2此时,设置,。1mmc1 . 1mispT/5 . 0设计一个程序完成 Sa 信号的抽样,并观察在不同采样频率的条件下对应采样信号的时域和频域特性,以及重构信号与误差信号的变化。程序如下:wm=1;wc=1.1wm; Ts=0.5*pi/wm;ws=2*pi/Ts;利用 MATLAB 实现 Sa 信号的抽样与重构仿真18n=-100:100;nTs=n*Tsf=sinc(nTs/pi);Dt=0.005;t=-10:Dt:10;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=-10:0.5:10;f1=sinc(t1/pi); m=-20:20; N=41; %设采样点的 N 值Xw=abs(fft(f,N); subplot(2,2,1);plot(m,Xw); axis(-20 20 1.1*min(Xw) 1.1*max(Xw); %可用 axis 函数来调整图轴的范围 xlabel(w); ylabel(|Xw|);title(抽样后频谱波形图);subplot(2,2,2);stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(sa(t)=sinc(t/pi)的采样信号);subplot(2,2,3);plot(t,fa)利用 MATLAB 实现 Sa 信号的抽样与重构仿真19xlabel(t);ylabel(fa(t);title(由 sa(t)过采样信号重构 sa(t);grid;subplot(2,2,4);plot(t,error);xlabel(t);ylabel(error(t);title(过采样信号与原信号的误差);产生图形如图 9.-20-10010200.050.10.15w|Xw|与 与 与 与 与 与 与 与-10-50510-0.500.51kTsf(kTs)sa(t)=sinc(t/pi)与 与 与 与 与-10-50510-0.500.51tfa(t)与 sa(t)与 与 与 与 与 与 与 sa(t)-10-5051000.511.5x 10-4terror(t)与 与 与 与 与 与 与 与 与 与 与 与图 9 过抽样情况分析:验证了抽样定理的内容,过抽样情况波形恢复良好。3.2.3 欠采样情况欠采样情况当采样频率小于一个连续的同信号最大频率的 2 倍,即时,称为过采样。ms2利用 MATLAB 实现 Sa 信号的抽样与重构仿真20此时设置,。鉴于此过程难以实现重构,故省去此步骤。1mmcmispT/2设计一个程序完成 Sa 信号的抽样,并观察在不同采样频率的条件下对应采样信号的时域和频域特性。程序如下:wm=1;wc=wm; Ts=2 *pi/wm;ws=2*pi/Ts;n=-100:100;nTs=n*Tsf=sinc(nTs/pi);t1=-20:0.5:20f1=sinc(t1/pi);m=-20:20;N=41; %设采样点的 N 值Xk=abs(fft(f,N); subplot(2,1,1);plot(m,Xw); axis(-20 20 1.1*min(Xw) 1.1*max(Xw); %可用 axis 函数来调整图轴的范围xlabel(w); ylabel(|Xw|);title(抽样后频谱波形图);subplot(2,1,2);利用 MATLAB 实现 Sa 信号的抽样与重构仿真21stem(t1,f1);xlabel(kTs);ylabel(f(kTs);title(sa(t)=sinc(t/pi)的采样信号 sa(t);产生的图形如图 10.-20-15-10-5051015200.050.10.15w|Xw|与 与 与 与 与 与 与 与-20-15-10-505101520-0.500.51kTsf(kTs)sa(t)=sinc(t/pi)与 与 与 与 与 sa(t)图 10 欠抽样情况分析:因采样信号的频谱混叠,使得在区域内的频谱相互“干扰”导致波c形难以恢复。利用 MATLAB 实现 Sa 信号的抽样与重构仿真22总结总结一周的课程设计很快就过去了,这其中真是有苦也有甜。苦的是从刚开始对MATLAB 的不够熟练导致编程频频出错,让我苦恼万分,甜的是经过老师和同学的帮助我的软件应用能力有了很大的提高,感觉自己确实收获了很多,无论是对知识的理解和应用,还是实验过程中自我的遇到问题解决问题的信心、恒心以及同学间的相互鼓励、支持和帮助。本课程设计用到的理论知识并不是很多,也很容易理解,最核心的部分就是采样定理的应用,以及时域和频域的对应关系。但是理论知识是基础,学以致用才是关键。实验中,MATLAB 的使用很重要,一些关于函数的表达自己应该非常清楚,另外还要学会如何调用、查询 MATLAB 函数库中的函数,只有自己切实的掌握了,才会明白如何恰如其分的使用。另外,我们也要学会用自己掌握的理论知识对结果进行分析,这样才可以对程序代码不断改进,得出正确的结果。经过此次课程设计,我认识到,知识只有会用才是真正意义上的学会,只有在不断的遭遇问题与解决问题间自己才能不断的进步,这进一步说明,自己并不能单纯的学习理论知识,应该加强实践,只有这样自己的专业能力才会有质的提高。此次课程设计中,同学间的相互帮助也让彼此受益颇多,这良好的经历更教会了我们如何与别人更好协作。最后,感谢我的指导老师任老师为我们提供的这次有意义的课程设计的机会,这样的经历不仅加深了我们对于信号与系统和数字信号处理这两门课程更加深入的理解,更加让我们的动手能力和实践能力有了质的飞跃,谢谢!利用 MATLAB 实现 Sa 信号的抽样与重构仿真23致谢致谢此次实验首先感谢我的指导老师任老师的热心以及耐心的指导,老师的指点迷津总能使我们的忙乱的思路得以清晰,课程设计才得以顺利的进行。其次也感谢同小组同学的热情帮助,由于自己水平所限,经常遇到各种各样的问题,而这些问题又不能经常麻烦老师,但在同学的帮助下也同样得以完美解决,自己才能够按时完成这次课程设计,也同样真诚地感谢他们!利用 MATLAB 实现 Sa 信号的抽样与重构仿真24参考文献参考文献1 高西全、丁玉美编著.数字信号处理.西安:西安电子科技大学出版社,2008.2 丁玉美、高西全编著.数字信号处理学习指导.西安:西安电子科技大学出版社,2001.3 郑君里等编.信号与系统.北京:高等教育出版社,2000.4 刘树棠译.数字信号处理使用 MATLAB.西安:西安交通大学出版社,2002.5 导向科技编著.MATLAB 程序设计与实例应用.北京:中国铁道出版社,2001.6 罗军辉等编著.MATLAB7.0 在数字信号处理中的应用.北京:机械工业出版社,2005.7 陈怀琛等编著.MATLAB 及在电子信息课中的应用.北京:电子工业出版社,2002.8 胡广书编著.数字信号处理理论、算法与实现.北京:清华大学出版社,2002.9 梁虹等编.信号与线性系统分析基于 MATLAB 的方法与实现.北京:高等教育出版社,2006.
展开阅读全文