设计题目应用MATLAB实现连续信号的采样与重构仿真1、设计目的信号与系统课程设计是学习《信号与系统》课程必要的教学环节。
由于该课程是专业基础课,需要通过实践了巩固基础知识,为使学生取得最现代化的设计技能和研究方法,课程设计训练也就成为了一个重要教学环节。
通过对信号与系统一书的重新认识,我们将学习如何利用MATLAB软件进行仿真与重构并加深对滤波器的理解,这样的课程设计出了对我们的学习起着只关重要的作用,还可以很好的培养我们自己的动手能力。
本次课程设计,我们会引入一个模拟的信号,通过MATLAB软件的防真技术来实现对它的分析、理解与学习。
MATLAB软件是今年来比较长用的一种数学软件,它有很强大的功能,主要侧重于某些理论知识的灵活运用。
本次课程设计的目的是:增加对仿真软件MATLAB的感性认识,熟悉MATLAB软件平台的使用和MATLAB编程方法及常用语句;、初步掌握MATLAB的编程方法和特点;加深理解采样与重构的概念,应用MATLAB编程实现对信号的采样与重构;分别计算在临界采样、过采样、欠采样三种不同条件下重构信号的误差,并由此总结采样频率对信号重构误差的影响;学生需要自拟题目,根据自己手中的资料独立思考与分析,明确实习内容,制定实习步骤与方案,独立完成作业。
2、原理说明2.1.1MATLABMATLAB是美国Math Works公司产品,MATLAB现已被广泛于数学、通信、信号处理、自动控制、神经网络、图形处理等许多不同学科的研究中。
并越来越多的应用到我们的学习生活中来,是目前通信工程上最广泛应用的软件之一。
最初的MATLAB 只是一个数学计算工具。
但现在的MATLAB已经远不仅仅是一个“矩阵实验室”,它已经成为一个集概念设计、算法开发、建模仿真,实时实现于一体的集成环境,它拥有许多衍生子集工具。
沈阳大学2.1.2MATLAB 绘图的基本指令---plotplot 是MATLAB 绘图的基本指令,MATLAB 中的绘图指令基本都是由它“衍生”而来,其基本指令形式有如下3种:plot(x1); plot(x2,y2); plot(x3,y3,x4,y4…);其中,x1、x2、y2、x3、y3等符号均代表需要绘制的参数,它门可以是向量、矩阵、复数矩阵等,plot 指令将根据不同的参数绘制不同的图形。
2.1.3多子图绘制指令---subplotMATLAB 为方便用户进行仿真分析,设置了subplot 指令,利用它可以在不同的子图下绘制图形,以进行对比分析。
subplot 的基本指令格式如下:subplot(m,n,k) %作出(mn)幅子图中的第k 幅图形subplot(‘position’,[left bottom width height]) %在人工指定位置作出字图。
subplot(m,n,k)指令表示在图形窗口中产生(m n )幅子图,k 代表当前绘制子图号。
如subplot (2,2,1)就是产生22幅子图,当前在子图1绘制图形。
2.1.4sinc 序列Sinc 函数是Matlab 软件中经常使用的函数之一,sinc 序列定义为:⎪⎩⎪⎨⎧=≠=010sin )(n n nnn S a ππ (2-1)这个信号可以利用Signal Processing Toolbox 中的函数sinc 来实现。
周期信号的频谱周期信号可以分解成一系列正弦信号和指数信号之和,即f(t)=20A +∑∞=1n An cos(n ω0t+n ϕ) (2-2)或f(t)=∑∞-∞=n nFe jn t 0ω (2-3)图1 周期信号的频谱由图1见,周期信号频谱具有以下特点:(1)频谱图由频率离散的谱线组成,每根谱线代表一个谐波分量。
即周期信号的频谱是离散谱。
(2)频谱图中的谱线只能在基波频率的整数倍频率上出现,即谐波性。
(3)频谱中个谱线的高度,随谐波次数的增高而逐渐减小。
当谐波次数无限增高时,谐波分量的振幅趋于无穷小,即收敛性。
⎪⎪⎩⎪⎪⎨⎧><=2,02,)(ττt t A t f (2-4)2,10,n ,22sin )(1Fn 00222200±±====⎰⎰---τωτωτττωωn n T A dt e T A dt e t f T t jn ttt jn (2-5) 沈 阳 大 学课程设计说明书tjnneTnTnTAtf0sin)(ωπτπττ∑∞-∞==(2-6)图5 抽样函数波形)2(22sinτωττωτωτnSaTAnnTAFn==(2-7)沈阳大学图2 周期与频谱的关系可见,信号的频带宽度与信号的持续时间成反比,信号持续时间愈长,其频带愈窄;反之,信号脉冲愈窄,其频带愈宽。
非周期信号的频谱门函数可以表示为⎪⎪⎩⎪⎪⎨⎧><=2,02,1)(τττtttg(2-8))(1)()(2222tjtjtjtj eejdtedtetfFωωττωωωω--===---∞∞--⎰⎰)2(22sin2sin2ωττωτωττωωτSa===(2-9)图3 门函数及其频谱由图1见,周期信号频谱具有以下特点:(1)非周期矩形脉冲信号的频谱是连续频谱,其形状与周期矩形脉冲的离散频谱的包络线相似,都有Sa(x)的形式。
周期信号的离散频谱可以通过对非周期信号的连续频谱等间隔取样求得。
(2)信号在时域中的持续时间有限,则在频域其频谱将延续到无限。
(3)信号的频谱分量主要集中在零频到第一个过零点之间,工程上往往将此宽度作为有效宽带。
即以(0,τπ2)频率范围作为门函数的有效宽度△ω。
△ω与脉冲宽度τ成反比,脉宽愈窄,频带愈宽;脉冲愈宽,频带愈窄。
3、实验内容运用MATLAB 软件,输入周期信号与非周期信号的频谱,并观察输出图形,并做出分析。
具体程序以及步骤如下:周期信号频谱% 周期与频谱的关系实现程序 function [A_sym,B_sym]=CTFSingsym% 采用符号计算求[0,T]内时间函数的三角级数展开系数 % 函数的输入输出都是数值量 % Nn 输出数据的准确位数% A_sym 第1元素是直流项,其后元素依次是1,2,3,...次斜波cos 项展开系数 % B_sym 第2,3,4,...元素依次是1,2,3,...次斜波sin 项展开系数 % T T=m*tao, 周期信号 % Nf 谐波的阶数% Nn 输出数据的准确位数% m(m=T/tao)周期与脉冲宽度之比,如m=4,8,16,100等 % tao 脉宽:tao=T/M syms t n y沈 阳 大 学if nargin<3;Nf=input('pleas Input 所需展开的最高谐波次数:Nf=');end T=input('pleas Input 信号的周期T ');if nargin<5;Nn=32;endy=time_fun_s(t);A0=2*int(y,t,0,T)/T;As=int(2*y*cos(2*pi*n*t/T)/T,t,0,T);Bs=int(2*y*sin(2*pi*n*t/T)/T,t,0,T);A_sym(1)=double(vpa(A0,Nn));for k=1:NfA_sym(k+1)=double(vpa(subs(As,n,k),Nn));B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));endif nargout==0S1=fliplr(A_sym)S1(1,k+1)=A_sym(1)S2=fliplr(1/2*S1)S3=fliplr(1/2*B_sym)S3(1,k+1)=0S4=fliplr(S3)S5=S2-i*S4;N=Nf*2*pi/T;k2=0:2*pi/T:N;x=time_fun_e(t)subplot 212stem(k2,abs(S5));title('连续时间函数周期矩形脉冲的单边幅度谱')axis([0,80,0,])line([0,80],[0,0])end%---------------------------------------------------------------function y=time_fun_s(t)% 该函数是的子函数。
它是由符号变量和表达式写成syms a a1T=input('pleas Input 信号的周期T=');M=input('周期与脉冲宽度之比M=');A=1;tao=T/M;a=tao/2;y1=sym('Heaviside(t+a1)')*A;y=y1-sym('Heaviside(t-a1)')*A;y=subs(y,a1,a);y=simple(y);%--------------------------------------------------------------------------function x=time_fun_e(t)% 该函数是的子函数。
它是由符号变量和表达式写成% t是时间数组% T是周期duty=dao/TT=input('pleas Input 信号的周期T=');M=input('周期与脉冲宽度之比M=');t=-2*T::2*T;tao=T/M;x=rectpuls(t,tao);subplot 211plot(t,x)hold onx=rectpuls(t-T,tao);plot(t,x)hold onx=rectpuls(t+T,tao);plot(t,x)title('周期为T,脉宽tao=T/M的矩形脉冲')axis([-10-T,10+T,0,])沈阳大学输出图形如下:图4 T=5,tao=4的周期矩形频谱图5 T=5,tao=8的周期矩形频谱沈阳大学图6 T=5,tao=16的周期矩形频谱沈阳大学图7 T=5,tao=100的周期矩形频谱图8 T=5,tao=4的周期矩形频谱沈阳大学非周期信号的频谱% 门信号的波形及其频谱实现程序R=;t=-2:R:2;f=heaviside(t+-heaviside;w1=2*pi*5;N=500;k=0:N;w=k*w1/N;F=f*exp(-j*t'*w)*R;F=real(F);W=[-fliplr(w),w(2:501)];F=[fliplr(F),F(2:501)];subplot 211;plot(t,f,'r');xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');subplot 212;plot(W,F,'b');xlabel('w');ylabel('F(w)');title('f(t)的傅立叶变换F(w)');输出图形如下:沈阳大学图9 门函数及其频谱4、运行结果及结果分析由图4到图7可知,信号的频带宽度与信号的持续时间成反比,信号持续时间愈长,其频带愈窄;反之,信号脉冲愈窄,其频带愈宽。