您好,欢迎访问三七文档
信号与系统仿真实验报告实验一(1)()tFunction-M文件function[x,t]=dirac(t1,t2,t0)%y=dirac(t-t0),t1tt2dt=0.001;%信号时间间隔t=t1:dt:t2;%信号时间样本点向量n=length(t);%时间样本点向量长度x=zeros(1,n);%各样本点信号赋值为零x(1,(t0-t1)/dt+1)=1/dt;%在时间t=t0处给样本点赋值为1/dtend主函数[y,t]=dirac(-1,5,0);stairs(t,y);axis([-1,5,0,1.2/0.001])title('单位冲击信号')分析:由于理想的单位冲击函数在Matlab中不能实际给出,于是就在t0附近取一个很小的区间dt,在这个区间中,函数可以认为是一个宽度很窄的门函数,幅值为1/dt,以满足冲击函数定义要求(2)()tFunction-M文件functionf=heaviside(t,t0)%f=heaviside(t-t0)f=(t-t00);%tt0时f为1,否则为0end主程序t=-1:0.001:5;%时间区间定义t0=0;%函数向右位移距离f=heaviside(t,t0);%生成向右位移t0的阶跃信号plot(t,f)axis([-1,3,-0.2,1.2])分析:在新版的Matlab函数库中有自带的阶跃函数,调用方法为f=heaviside(t),这里为了方便画位移后0()tt的图像,故自定义了一个阶跃函数。(3)指数a=1;f=sym('exp(t)');ezplot(f,[-3,3])xlabel('时间t')ylabel('函数f(x)')a=-1;f=sym('exp((-1)*t)');ezplot(f,[-3,3])xlabel('时间t')ylabel('函数f(x)')图a)a=1时的指数信号图像图b)a=-1时的指数函数图像分析:y=sym(‘f(x)’)是用了符号运算法(4)(),5NRtNt=-1:0.001:10;y=heaviside(t,0)-heaviside(t,5);plot(t,y)axis([0,10,-0.2,1.2])分析:采用两个跳变点不等的阶跃函数相减得到一个矩形函数的方法生成的门函数。(5)()Satf=sym('sin(t)/t');ezplot(f,[-30,30])axis([-30,30,-0.4,1.2])分析:为了方便编程画图,这里直接采用了符号运算法(6)正弦函数f=sym('sin(2*pi*t)');ezplot(f,[-1,1])再分别令w=4*pi、6*pi得到后面两个图像图a)w=2*pi图b)w=4*pi图c)w=6*pi实验二:离散时间信号的表示及可视化(1)()nFounction-M文件function[f,k]=dwxulie(k1,k2,k0)k=k1:k2;n=length(k);f=zeros(1,n);f(1,k0-k1+1)=1;end主程序[y,k]=dwxulie(-5,5,0);stem(k,y,'filled')axis([-5,5,0,1.5])title('单位序列')(2)()nFounction-M文件function[y,k]=jyxulie(k1,k2,k0)fori=1:k2-k1+1;ifik0-k1+1;y(i)=0;elsey(i)=1;endendend主程序y=jyxulie(-5,5,0);stem(k,y,'filled')axis([-5,5,0,1.5])(3)指数序列Founction-M文件function[y,k]=expxulie(k1,k2,a)%y=exp(a*n),k1nk2k=k1:k2;fori=1:k2-k1+1;y(i)=exp(a*(k1+i-1));endend主程序[y1,k]=expxulie(-2,2,1);[y2,k]=expxulie(-2,2,2);[y3,k]=expxulie(-2,2,-1);[y4,k]=expxulie(-2,2,-2);stem(k,y1)holdonstem(k,y2,'rd')stem(k,y3,'g')stem(k,y4,'y')axis([-2.5,2.5,0,60])蓝色--a=1,红色--a=2,绿色--a=-1,黄色--a=-2(4)()NRnk1=-1;k2=12;y1=jyxulie(k1,k2,0)-jyxulie(k1,k2,3);%y1=R3(n)y2=jyxulie(k1,k2,0)-jyxulie(k1,k2,6);%y2=R6(n)y3=jyxulie(k1,k2,0)-jyxulie(k1,k2,9);%y2=R9(n)k=k1:k2;subplot(3,1,1)stem(k,y1,'filled')axis([-2,13,0,1.5])subplot(3,1,2)stem(k,y2,'filled')axis([-2,13,0,1.5])subplot(3,1,3)stem(k,y3,'filled')axis([-2,13,0,1.5])(5)()SanFounction-M文件function[y,k]=Saxulie(k1,k2,w)k=k1:k2;fori=1:k2-k1+1;if(i+k1-1)==0y(i)=1;elsey(i)=sin(w*(i+k1-1))/(w*(i+k1-1));endend主程序[y1,k]=Saxulie(-10,10,1);%w=1[y2,k]=Saxulie(-10,10,2);%w=2[y3,k]=Saxulie(-10,10,4);%w=4subplot(3,1,1)stem(k,y1,'filled')subplot(3,1,2)stem(k,y2,'filled')subplot(3,1,3)stem(k,y3,'filled')(6)正弦序列y1=sin(pi*k/4);%w=pi/4y2=sin(pi*k/3);%w=pi/3y3=sin(pi*k/2);%w=pi/2y4=sin(2*pi*k/3);%w=2*pi/3subplot(4,1,1)stem(k,y1,'filled')subplot(4,1,2)stem(k,y2,'filled')subplot(4,1,3)stem(k,y3,'filled')subplot(4,1,4)stem(k,y4,'filled')实验三:系统的时域求解1.1.设h(n)=(0.9)n×u(n),x(n)=u(n)−u(n-10),求:y(n)=x(n)*h(n),并画出x(n)、h(n)、y(n)波形。k=0:100;h=0.9.^k;x=jyxulie(0,100,0)-jyxulie(0,100,10);y=conv(h,x);stem(k,h)stem(k,x)n=0:200;stem(n,y,'filled')axis([0,50,0,7])%取前50个进行分析h(n)的图像x(n)的图像2.2.求因果线性移不变系统y(n)=0.81y(n−2)+x(n)−x(n−2)的单位抽样响应h(n),并绘出He(jω)的幅频及相频特性曲线。A=[10-0.81];B=[10-1];[x,t]=dwxulie(0,20,0);h=filter(B,A,x);stem(t,h,'filled')H=freqz(B,A,21);%N取21[H,w]=freqz(B,A,21);%N取21Hf=abs(H);Hx=angle(H);figure(1)stem(w,Hf)figure(2)stem(w,Hx)h(n)图像幅频特性相频特性实验四:对离散信号进行DFT分析计算余弦序列x(n)=cos(nπ/8)RN(n)的DFT(1)N=10时,N=10;%设定常量Nn=[0:N-1];%通过矩阵给n赋值以代替门函数的作用x=cos((pi/8).*n);%余弦序列的函数表达式y=fft(x);%求余弦序列的DFTsubplot(2,1,1),stem(n,y,’py’)%绘制y的离散图subplot(2,1,2),stem(n,abs(y),’py’)%绘制函数y的幅频特性曲线(2)N=16时N=16;%设定N值n=[0:N-1];%通过矩阵形式给n赋值以代替门函数的作用x=cos((pi/8).*n);%余弦函数y=fft(x);%离散序列的傅立叶变换subplot(2,1,1),stem(n,y,’py’)subplot(2,1,2),stem(n,abs(y),’py’)%绘制X(ejω)的幅频特性曲线响应(3)N=22时N=22;n=[0:N-1];%通过矩阵形式给n赋值以代替门函数的作用x=cos((pi./8)*n);%余弦函数y=fft(x);%离散序列的傅立叶变换subplot(2,1,1),stem(n,y,’py‘)subplot(2,1,2),stem(n,abs(y),’py’)N=10N=16N=22分析:由上面3幅图可以看出,当N=10和N=22时,离散傅里叶变换函数值变化趋于平缓,均呈现两边高中间低的趋势,且22点比10点取值点多,更接近真实情况。而当取16点时,图形变化较大,与另外两种情况明显不同,在图形的中间部分出现了较多零值。再观察原函数,可见16为8的倍数,当N取16时,原函数x的取值呈现了较大的对称性,此时旋转因子也呈现了较大的对称性,这样当旋转因子矩阵和原函数向量点乘时,出现了抵消现象,导致了图中的情况。实验五:系统时瑜解的快速卷积求法用快速卷积法计算系统响应y(n)=x(n)*h(n),已知:x(n)=sin(0.4)R15(n),h(n)=0.9nR20(n)要求取不同的L点数,并画出x(n)、h(n)、y(n)波形,分析是否有差别及产生差别的原因。k1=0:14;x=sin(0.4*k1);k2=0:19;h=0.9.^k2;L=20;Hk=fft(h,L);Xk=fft(x,L);Yk=Hk.*Xk;y=ifft(Yk,L);n=0:L-1;stem(n,y,'filled')再分别令L=20,30,60L=20L=30L=60分析:对两个不同序列进行快速卷积时,所取的长度至少要取两个序列长度之和减一,当恰巧取该值时,所有有效点恰巧反映在图上;当所取点少于这个值时,会因为重叠而使一部分点不能显示出来;而当所取的值多于这个值时,就会在多于部分的点处补零。为使所有有效点正确地显示出来而不重叠消失,所取的长度应不小于两个序列长度之和减一。
本文标题:信号仿真实验报告
链接地址:https://www.777doc.com/doc-2691178 .html