本科实验报告课程名称:信号与系统实验姓名:院系:专业:学号:指导教师:周绮敏、史笑兴、李惠忠年月日实验报告课程名称: 信号与系统实验 指导老师: 史笑兴、周绮敏、李惠忠 成绩: 实验名称: 实验一 MATLAB 基本实验 实验类型: 设计型 一、实验目的与要求1、掌握Matlab 的基本使用方法:操作界面、基本语法、基本函数等;2、掌握Matlab 在“信号与系统”课程中的应用: (1)信号的产生与表示;(2)产生基本信号的Matlab 函数; (3)卷积和的计算与表示;(4)离散时间信号的傅立叶变换的计算与表示,部分傅立叶变换的性质验证。
二、实验内容和原理1、P168,实验一,习题 1、2、3、4、5、7 2、P169,实验二,习题 1、1的补充题、2、3 3、P170,实验三,习题 1、2、3三、主要仪器设备带有matlab 的电脑一台四、操作方法和实验步骤4.1 新建文本文档并命名,在文本文档中写matlab 代码,另存为.m 的文件,此时注意名称开头不应为数字,标题中不应出现matlab 自带函数的名称; 4.2打开matlab 程序,运行已保存好的.m 文件,根据提示的错误信息修改代码直至无错误为止,运行代码,记录运行结果。
五、实验数据记录和处理 实验1.1 代码:clear;clf;clc; %Impulse sequence subplot(2,2,1); n=[-10:10]; z=(n==0); stem(n,z);axis([-10,10,-1,2]); title('Impulse sequence'); xlabel('n');ylabel('delta[n]');%Impulse function subplot(2,2,2); t=-10:0.1:10;专业: 姓名: 学号:日期:5.3—5.24 地点:东四420室实验时间: 周 第 节课 签到表编号:y=(t==0);plot(t,y,'r');axis([-10,10,-1,2]);title('Impulse function');xlabel('t');ylabel('\delta(t)');%Step Sequencesubplot(2,2,3);n=[-10:10];z=(n>=0);stem(n,z);axis([-10,10,-1,2]);title('Step sequence');xlabel('n');ylabel('u[n]');%Step functionsubplot(2,2,4);t=-10:0.1:10;y=(t>=0);plot(t,y,'b');axis([-10,10,-1,2]);title('Step function');xlabel('t');ylabel('u(t)');结果:实验1.2代码:%sine wavesubplot(2,2,1);t=-2*pi:pi/20:2*pi;plot(t,sin(t));axis([-2*pi,2*pi,-1.5,1.5]); title('Sine wave');xlabel('t');ylabel('sin(t)');%Triangular wavesubplot(2,2,2);t=-5*pi:pi/100:5*pi;x=sawtooth(t,0.5);plot(t,x);axis([-5*pi,5*pi,-1.5,1.5]); title('Triangular wave'); xlabel('t');ylabel('x');%Sawtooth wavesubplot(2,2,3);t=-5*pi:pi/100:5*pi;z=sawtooth(t,0);plot(t,z);axis([-5*pi,5*pi,-1.5,1.5]); title('Sawtooth wave t=0'); xlabel('t');ylabel('z');subplot(2,2,4);t=-5*pi:pi/100:5*pi;z=sawtooth(t,1);plot(t,z);axis([-5*pi,5*pi,-1.5,1.5]); title('Sawtooth wave t=1'); xlabel('t');ylabel('z');结果:实验1.3代码:clear;clf;clc;%Sinc functiont=-4*pi:pi/20:4*pi;subplot(2,1,1);plot(t,sinc(t));axis([-4*pi,4*pi,-0.5,1.5]);title('Sinc function');grid on;xlabel('t');ylabel('sinc(t)');%Sample functionsubplot(2,1,2);plot(t,sinc(t/pi));axis([-4*pi,4*pi,-0.5,1.5]);title('Sample function');grid on;xlabel('t');ylabel('sa(t)');结果:实验1.4代码:u1=stepseq(0,-5,20);u3=stepseq(5,-5,20);x=u1-u3;n=[-5:20];h=delta(n-5);subplot(3,1,1);stem(n,x);axis([-5,20,0,1.2]);title('x[n]'); xlabel('n');ylabel('x[n]');subplot(3,1,2);stem(n,h);axis([-5,20,0,1.2]);title('h[n]');xlabel('n');ylabel('h[n]');[y,ny]=conv_my(x,n,h,n)subplot(3,1,3);stem(ny,y);axis([-5,20,0,1.2]);title('y[n]');xlabel('n');ylabel('y[n]');结果:实验1.5代码:n=[-10:10];x1=delta(n);x2=delta(n+2);x3=delta(n-4);x4=2*delta(n+2)-delta(n-4);subplot(2,2,1);stem(n,x1);title('x_1[n]=\delta[n]');axis([-10,10,-1,2]);grid on;subplot(2,2,2);stem(n,x2);title('x_2[n]=\delta[n+2]');axis([-10,10,-1,2]);grid on;subplot(2,2,3);stem(n,x3);title('x_3[n]=\delta[n-4]');axis([-10,10,-1,2]);grid on;subplot(2,2,4);stem(n,x4);title('x_4[n]=2*\delta[n+2]-delta[n-4]'); axis([-10,10,-1,2]);grid on;结果:实验1.7代码:clear;clf;clc;n=[-15:15];x1=stepseq(0,-15,15);x2=stepseq(10,-15,15);x=x1-x2;[xe,xo]=evenodd(x);subplot(2,2,1);stem(n,x);title('Step sequence');xlabel('n');ylabel('x[n]');axis([-15.5,15.5,-1.2,2]);subplot(2,2,3);stem(n,xe);axis([-15,15,-1,2]);title('Even part'); xlabel('n');ylabel('xe[n]');axis([-15.5,15.5,-1.2,2]);subplot(2,2,4);stem(n,xo);title('Odd part');xlabel('n');ylabel('xe[n]');axis([-15.5,15,-1.2,1.2]);结果:实验2.1代码:clear;clf;clc;n=[-5:10];nx=[-5:10];nh=[-5:10];h=delta(n-5)*1.0;x=stepseq(0,-5,10)-stepseq(5,-5,10);[y,ny]=conv_m(x,nx,h,nh);subplot(3,1,1);stem(n,x);title('x[n]');xlabel('n');axis([-5,10,0,1.2] );grid on;subplot(3,1,2);stem(n,h);title('h[n]');xlabel('n');axis([-5,10,0,1.2] );grid on;subplot(3,1,3);stem(ny,y);title('y[n]');xlabel('n');axis([-10,20,0,1. 2]);grid on;结果:实验2.1补充题代码:u1=stepseq(5,-10,10);u3=stepseq(-5,-10,10);x=(abs(n)<=5)*1.0;n=[-10:10];nx=[-10:10];nh=[-10:10];h=delta(n+3)-delta(n-3);[y,ny]=conv_m(x,nx,h,nh);subplot(3,1,1);stem(n,x);axis([-10,10,-0.5,1.5]);title('x[n]'); xlabel('n');ylabel('x[n]');subplot(3,1,2);stem(n,h);axis([-10,10,-1.5,1.5]);title('h[n]');xlabel('n');ylabel('h[n]');subplot(3,1,3);stem(ny,y);axis([-20,20,-1.5,1.5]);title('y[n]'); xlabel('n');ylabel('y[n]');结果:实验2.2a 代码:n=-5:20;u1=stepseq(0,-5,20);u2=stepseq(6,-5,20);x=u1-u2;h=n.*x;subplot(3,1,1);stem(n,x);axis([-5,20,0,2]);title('Input Sequence');ylabel('x[n]');subplot(3,1,2);stem(n,h);axis([-5,20,0,6]);title('Impulse Sequence');ylabel('x[n]');[y1,ny]=conv_m(x,n,h,n);subplot(3,1,3);stem(ny,y1);title('Output Sequence');xlabel('n');ylabel('y_1[n]');结果:b 代码:n=-10:20;u1=stepseq(0,-10,20);u2=stepseq(6,-10,20);x=u1-u2;u3=stepseq(-5,-10,20);u4=stepseq(1,-10,20);x1=u3-u4;h=(n+5).*x1;subplot(3,1,1);stem(n,x);axis([-10,20,0,2]);title('Input Sequence');ylabel('x[n]');subplot(3,1,2);stem(n,h);axis([-10,20,0,6]);title('Impulse Response');ylabel('h[n+5]');[y2,ny]=conv_m(x,n,h,n);subplot(3,1,3);stem(ny,y2);title('OutputSequence');xlabel('n');ylabel('y_2[n]');结果:实验2.3代码:n=-5:50;u1=stepseq(0,-5,50);u2=stepseq(10,-5,50);x=u1-u2;h=(0.9).^n.*(n>=0);subplot(3,1,1);stem(n,x);axis([-5,20,-1,2]);title('x[n]'); ylabel('x[n]');subplot(3,1,2);stem(n,h);axis([-5,50,-1,2]);title('h[n]'); ylabel('h[n]');[y,ny]=conv_m(x,n,h,n);subplot(3,1,3);stem(ny,y);axis([-10,70,-2,8]);title('y[n]'); xlabel('n');ylabel('y[n]');结果:实验3.1代码:clear;clc;clf;n=[-20:20];x=stepseq(-5,-20,20)-stepseq(6,-20,20);w1=-2*pi;w2=2*pi;w_step=pi/400;w=w1:w_step:w2;ww=w/pi;xw=spec(x,n,w); %wsubplot(2,2,1);plot(ww,abs(xw));axis([-2,2,0,max(abs(xw))]);grid on; xlabel('w');title('Abs(X)');subplot(2,2,2);plot(ww,angle(xw));axis([-1.2,1.2,-1.2*pi,1.2*pi]); grid on;xlabel('w');title('Phase(X)');subplot(2,2,3);plot(ww,real(xw));axis([-2,2,min(real(xw)),max(real(xw))]);grid on;xlabel('w');title('Real(X)');subplot(2,2,4);plot(ww,imag(xw));axis([-2,2,min(imag(xw)),max(imag(xw))]);grid on;xlabel('w');title('Imag(X)');结果:实验3.2代码:n=0:100;x=cos(pi*n/2);py=exp(j*pi*n/4);y=py.*x;w = -pi : pi/800 : pi;ww=w/pi;xw=spec(x,n,w);yw=spec(y,n,w);subplot(2,2,1);plot(ww,abs(xw));title('Magnitude of X');grid; ylabel('|X|');xlabel('Normalized Freq.(¦Ð rad/s)');axis([ min(ww) , max(ww) , 0, max(abs(xw)) ]);subplot(2,2,2);plot(ww,angle(xw));title('Angle of X');grid; ylabel('Angle(X)');xlabel('Normalized Freq.(¦Ð rad/s)');axis([ min(ww) , max(ww) , -pi, pi ]);subplot(2,2,3);plot(ww,abs(yw));title('Magnitude of Y');grid; ylabel('|Y|');xlabel('Normalized Freq.(¦Ð rad/s)');axis([ min(ww) , max(ww) , 0, max(abs(yw)) ]);subplot(2,2,4);plot(ww,angle(yw));title('Angle of Y');grid; ylabel('Angle(Y)');xlabel('Normalized Freq.(¦Ð rad/s)');axis([ min(ww) , max(ww) , -pi, pi ]);结果:实验3.3代码:n=-5:10;x=sin(pi*n/2);w1=-pi;w2=pi;w_step=pi/800;w=w1:w_step:w2;X=spec(x,n,w);[xe,xo,m]=evenodd2(x,n);clf;XE=spec(xe,m,w);XO=spec(xo,m,w);XR=real(X);XI=imag(X);subplot(3,2,1);plot(w/pi,XR,'r');grid;axis([-1,1,min(XR),max(XR)]); xlabel('Normalized Freq.(\pi rad/sample)');ylabel('Re[X]');title('Real part of X');subplot(3,2,2);plot(w/pi,XI,'r');grid;axis([-1,1,min(XI),max(XI)]); xlabel('Normalized Freq.(\pirad/sample)');ylabel('Im(X)');title('Imaginary part of X');subplot(3,2,3);plot(w/pi,real(XE),'r');grid;axis([-1,1,min(real(XE)),max(real(XE))]);xlabel('Normalized Freq.(\pi rad/sample)');ylabel('XE or Re(XE)');title('DFT of even part-real');subplot(3,2,4);plot(w/pi,imag(XE),'r');grid;axis([-1,1,min(imag(XE)),max(imag(XE))]);xlabel('Normalized Freq.(\pi rad/sample)');ylabel('Im(XE)');title('DFT of even part-Imaginary');subplot(3,2,5);plot(w/pi,real(XO),'r');grid;axis([-1,1,min(real(XO)),max(real(XO))]);xlabel('Normalized Freq.(\pi rad/sample)');ylabel('Re(XO)');title('DFT of oddd part-Real');subplot(3,2,6);plot(w/pi,imag(XO),'r');grid;axis([-1,1,min(imag(XO)),max(imag(XO))]);xlabel('Normalized Freq.(\pi rad/sample)');ylabel('XO/j or Im(XO)');title('DFT of odd part-Imaginary');结果:子函数:1.stepseq.mfunction [x,n]=stepseq(n0,n1,n2)n=n1:n2;x=(n>=n0);函数的功能是产生阶跃函数,其中n1和n2是函数的横坐标边界,n0是跳变点。