实验报告实验课程:信号与系统—Matlab综合实验学生姓名:学号:专业班级:2012年5月20日基本编程与simulink仿真实验1—1编写函数(function)∑=m n k n 1并调用地址求和∑∑∑===++10011-8015012n n n n n n 。
实验程序:Function sum=qiuhe(m,k)Sum=0For i=1:m Sum=sum+i^k End实验结果;qiuhe(50,2)+qiuhe(80,1)+qiuhe(100,-1)ans=4.6170e+004。
1-2试利用两种方式求解微分方程响应(1)用simulink对下列微分方程进行系统仿真并得到输出波形。
(2)编程求解(转移函数tf)利用plot函数画图,比较simulink图和plot图。
)()(4)(6)(5)(d 22t e t e d d t r t r d d t r d tt t +=++在e(t)分别取u(t)、S(t)和sin(20пt)时的情况!试验过程(1)(2)a=[1,5,6]; b=[4,1]; sys=tf(b,a); t=[0:0.1:10]; step(sys)连续时间系统的时域分析3-1、已知某系统的微分方程:)()()()()(d 2t e t e d t r t r d t r tt t +=++分别用两种方法计算其冲激响应和阶跃响应,对比理论结果进行验证。
实验程序:a=[1,1,1];b=[1,1];sys=tf(b,a);t=[0:0.01:10];figure;subplot(2,2,1);step(sys);subplot(2,2,2);x_step=zeros(size(t));x_step(t>0)=1;x_step(t==0)=1/2;lsim(sys,x_step,t);subplot(2,2,3);impulse(sys,t);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');subplot(2,2,4);x_delta=zeros(size(t));x_delta(t==0)=100;[y1,t]=lsim(sys,x_delta,t);y2=y1;plot(t,y2);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');运行结果如下:3-2;请编写一个自定义函数[F,tF}=intl(f,tf,a)实现数值积分,其中f和tf分别用列矢量表示待积函数的抽样值和抽样时间,a表示积分的起始时间,F和tF分别表示积分结果的抽样值和抽样时间。
请设计一个积分运算验证intl的计算结果是否正确实验程序:函数int1如下:function[F,tF]=int1(f,tf,a)T=tf(2)-tf(1);F=zeros(size(tf));tF=zeros(size(tf));tF=tf;for n=1:length(tf)-1;F(n+1)=F(n)+T*f(n);end验证如下:t=[-1:0.01:4];e=zeros(size(t));e=(t>-1/2&t<1);[z,zz]=int1(e,t,-1);figure;plot(zz,z);-1-0.500.51 1.52 2.53 3.5400.511.5傅里叶变化4-1如图所示锯齿波信号,分别取一个周期的抽样数据x1(t),0<=t<1和五个周期的数据x(t),0<=t<5,j 计算其傅里叶变换X1(ω)和X(ω),比较有何不同并解释原因。
实验程序T1=1;N1=10000;t1=linspace(0,T1-T1/N1,N1)';f1=1-2*t1;OMG=32*pi;K1=100;omg=linspace(-OMG/2,OMG/2-OMG/K1,K1)';X1=T1/N1*exp(-j*kron(omg,t1.'))*f1;fs1=OMG/2/pi/K1*exp(j*kron(t1,omg.'))*X1;T2=5;N2=10000;t2=linspace(0,T2-T2/N2,N2)';fs2=0*t2;f2=sawtooth(t2*2*pi,0);X2=T2/N2*exp(-j*kron(omg,t2.'))*f2;fs2=fs2+OMG/2/pi/K1*exp(j*kron(t2,omg.'))*X2;figure;subplot(2,2,1);plot(omg,abs(X1),'r');xlabel('Frequency'),ylabel('Amplitude')title('单个锯齿周期幅频特性曲线');subplot(2,2,2);plot(t1,fs1,'r');xlabel('Time'),ylabel('Amplitude')title('Function after recovered');subplot(2,2,3);plot(omg,abs(X2),'r');xlabel('Frequency'),ylabel('Amplitude')title('五个锯齿周期幅频特性曲线');subplot(2,2,4);plot(t2,fs2,'r');xlabel('Time'),ylabel('Function after recovered')title('Function after recovered');4-2、请编写一个函数F=fsana(t,f,N),计算周期函数f的前N个指数形式的傅里叶级数系数,t 表示f对应的抽样时间(均为一个周期);再编写函数f=fssyn(F,t),由傅里叶级数系数F 合成抽样时间t对应的函数。
设计信号这两个函数是否正确。
fsana函数如下:function F=fsana(t,f,N)omg1=2*pi/(max(t)-min(t));k=[-N:N]';F=1/length(t)*exp(-j*kron(k*omg1,t.'))*f; fssyn函数如下:function f=fssyn(F,t)omg1=2*pi/(max(t)-min(t));N=floor(length(F)/2);k=[-N:N];f=exp(j*kron(t,k*omg1))*F;验证如下:clcclearclose allT1=1;N1=256;t=linspace(0,T1-T1/N1,N1)';f=1-2*t;subplot(3,1,1);plot(t,f);title('验证原函数')N=25;F1=fsana(t,f,N);subplot(3,1,2);stem(abs(F1),'s');title('前N项傅立叶级数系数幅度曲线') f2=fssyn(F1,t);subplot(3,1,3);plot(t,f2);xlabel('time[s]'),ylabel('Amplitude');拉普拉斯变换s 域分析1、对下面俩个系统函数,分别用residue 计算冲激响应。
(1)(2)实验过程如下:第一个系统函数程序:b =[4,5];a1=[1,2];a2=[1,3];a =conv(a1,a2);[r,p,k]=residue(b,a)r=7.0000-3.0000p=-3.0000-2.0000k=[]>>t=[0:0.01:10];T=length(t);f=zeros(1,T);N=length(p);for n=1:N;f=f+r(n,1)*exp(p(n,1)*t); endsubplot(1,2,1)plot(t,f)sys=tf([4,5],[1,5,6]);t=[0:0.01:10]';x_delta=zeros(size(t));x_delta(t==0)=100;[y1,t]=lsim(sys,x_delta,t); subplot(1,2,2)plot(t,y1)得到图形如下:第二个系统函数的程序>>b=[1,0,2];a1=[1,0,1];a2=[1];a=conv(a1,a2);[r,p,k]=residue(b,a)t=[0:0.01:10];T=length(t);f=zeros(1,T);N=length(p);m=length(k); x_delta=zeros(size(t));x_delta(t==0)=100;for n=1:N;f=f+r(n,1)*exp(p(n,1)*t); endif(m~=0)f=f+k(1)*x_delta;endsubplot(1,2,1)plot(t,f)r=0-0.5000i0+0.5000ip=0+1.0000i0-1.0000ik=1>>sys=tf([1,0,2],[1,0,1]); t=[0:0.01:10]';x_delta=zeros(size(t));x_delta(t==0)=100;[y1,t]=lsim(sys,x_delta,t); subplot(1,2,2)plot(t,y1)得到的图形如下:2、编写函数s=isstable(sys)判断传递函数描述的系统模型sys的稳定性,返回s值。
稳定时为1,不稳定时为0.并设计一个稳定系统呵一个不稳定系统来验证正确性。
功能函数如下:function[s]=isstable(sys)%UNTITLED2Summary of this function goes here%Detailed explanation goes hereif(real(root(1/sys))<0&&imag(root(1/sys))<0)s=1;else s=0;end示例a=[1,7,10];>>sys=tf(b,a);>>isstable(sys)ans=1>>c=[1,-2,3];>>sys2=tf(c,a);>>isstable(sys2)ans=1>>sys3=tf(a,c);>>isstable(sys3)ans=离散时间系统的时域分析1、已知某系统差分方程y(n)+0.5y(n-1)-0.2y(n-2)-0.1y(n-3)=x(n)-0.3x(n-1)试求其冲激响应和阶跃响应,并判断该系统是否稳定。