当前位置:文档之家› matlab信号与系统代码整理

matlab信号与系统代码整理

连续时间系统 (1)离散时间系统 (2)拉普拉斯变换 (4)Z变换 (5)傅里叶 (7)连续时间系统%%%%%%%%%%向量法%%%%%%%%%%%%%%%%t1=-2:0.01:5;f1=4*sin(2*pi*t1-pi/4);figure(1)subplot(2,2,1),plot(t1,f1),grid on%%%%%%%%%符号运算法%%%%%%%%%%%%syms tf1=sym('4*sin(2*pi*t-pi/4)');figure(2)subplot(2,2,1),ezplot(f1,[-2 5])跟plot相比,ezplot不用指定t,自动生成。

axis([-5,5,-0.1,1])控制坐标轴的范围xx,yy;求一个函数的各种响应Y’’(t)+4y’(t)+2y(t)=f”(t)+3f(t)%P187 第一题%(2)clear all;a1=[1 4 2];b1=[1 0 3];[A1,B1,C1,D1]=tf2ss(b1,a1);t1=0:0.01:10;x1=exp(-t1).*Heaviside(t1);rc1=[2 1];(起始条件)figure(1)subplot(3,1,1),initial(A1,B1,C1,D1,rc1,t1);title('零输入响应') subplot(3,1,2),lsim(A1,B1,C1,D1,x1,t1);title('零状态响应')subplot(3,1,3),lsim(A1,B1,C1,D1,x1,t1,rc1);title('全响应')Y=lsim(A1,B1,C1,D1,x1,t1,rc1);title('全响应')则是输出数值解subplot(2,1,1),impulse(b1,a1,t1:t:t2可加),grid on,title('冲激响应') subplot(2,1,2),step(b1,a1,t1:t:t2可加),grid on,title('阶跃响应')卷积%第九题 P189clear all;%(1)t1=-1:0.01:3;f1=Heaviside(t1)-Heaviside(t1-2); %定义信号t2=0:0.01:4;f2=(Heaviside(t2-1)-Heaviside(t2-3)); %定义信号figure(1)gggfconv(f1,f2,t1,t2); %计算卷积积分并绘出时域波形离散时间系统画图x=[-1,2,3,3,5,-4];n=[-2,-1,0,1,2,3];figure(1)stem(n,x)离散序列画图函数各种序列操作函数%ex_2clear all;x=[1 2 3 4 5 6 7 6 5 4 3 2 1];n=[-4 -3 -2 -1 0 1 2 3 4 5 6 7 8];%[x1_1,n1_1]=sigshift(2*x,n,5);%2x(n-5)[x1_2,n1_2]=sigshift(-3*x,n,-4);%-3x(n+4)[x1,n1]=sigadd(x1_1,n1_1,x1_2,n1_2);%2x(n-5)-3x(n+4)subplot(3,1,1),stem(n1,x1)%[x2_1,n2_1]=sigshift(x,n,-3);%x(n+3)[x2_2,n2_2]=sigfold(x2_1,n2_1);%x(-n+3)[x2_3,n2_3]=sigshift(x,n,2);%x(n-2)[x2_4,n2_4]=sigmult(x,n,x2_3,n2_3);%x(n)x(n-2)[x2,n2]=sigadd(x2_4,n2_4,x2_2,n2_2);%x(n)x(n-2)+x(-n+3)subplot(3,1,2),stem(n2,x2)%x3_2=zeros(1,length(x));n3_2=n;for j=1:5[x3_1,n3_1]=sigshift(x,n,j)[x3_2,n3_2]=sigadd(x3_2,n3_2,x3_1,n3_1)endx3=x3_2.*n3_2n3=n3_2subplot(3,1,3),stem(n3,x3)复指数序列各因数画图%P157 第8题%(1)clear all;n1=-10:10;f1=exp(j*n1*pi)f1_m=abs(f1);f1_a=angle(f1);f1_r=real(f1);f1_i=imag(f1);figure(1)subplot(2,2,1),stem(n1,f1_m),title('模')subplot(2,2,2),stem(n1,f1_a),title('幅角')subplot(2,2,3),stem(n1,f1_r),title('实部')subplot(2,2,4),stem(n1,f1_i),title('虚部')求差分方程各响应y(n)-5y(n-1)+6y(n-2)=x(n)-3x(n-2)Y(-1)=-2 y(-2)=1 x(n)=exp(-2*n)%ex_6clear all;n=0:50;x=exp(-2*n);a=[1,-5,6];b=[1,0,-3];yi=[-2,-1];xi=0;xic=filtic(b,a,yi,xi);差分方程求响应的函数xi为0就是零输入y1=filter(b,a,zeros(1,length(n)),xic); %求零输入相应y2=filter(b,a,x);%求零状态响应y3=filter(b,a,x,xic);%求全响应figure(1)subplot(3,1,1),stem(n,y1),title('零输入响应')subplot(3,1,2),stem(n,y2),title('零状态响应')subplot(3,1,3),stem(n,y3),title('全响应')%n=0:50;u1=impseq(0,50,0);%冲激序列y4=filter(b,a,u1); %冲激响应u2=stepseq(0,50,0);%阶跃序列y5=filter(b,a,u2);%阶跃响应figure(2)subplot(2,1,1),stem(n,y4); title('冲激响应')subplot(2,1,2),stem(n,y5); title('阶跃响应')求单位样值响应函数Impz(b,a,可加N表示范围)卷积%P189 第八题clear all;x1=[1 2 1];n1=[-1 0 1];x2=[1 1 1 1 1 ];n2=[-2 -1 0 1 2 ];x3=[3 2 1]n3=[0 1 2]x4=[1 -1 1 -1]n4=[0 1 2 3]%(2)[f2,k2]=dconv(x2,x3,n2,n3);%x2*x3figure(1)stem(k2,f2),title('x2*x3')%(4)[x2_1,n2_1]=sigadd(x2,n2,x1,n1);%x2-x1[f2,k2]=dconv(x2,x3,n2,n3);%(x2-x1)*x3figure(2)stem(k2,f2),title('(x2-x1)*x3')拉普拉斯变换%作业1利用matlabe的laplace函数,求下列信号的拉普拉斯变换clear allsyms t ;f1=sym('(1-exp(-0.5*t))');F1=laplace(f1)%作业2利用matlabe的ilaplace函数,求下列信号的反拉普拉斯变换clear allsyms s;F1=(s+1)/(s*(s+2)*(s+3));f1=ilaplace(F1)%作业3利用matlabe的residue函数(部分分式展开法),求下列信号的反拉普拉斯变换clear allmedia1=conv([1 2 0],[1 3]);a1=[1 1];分子系数b1=[1 5 6 0];分母系数[k1,p1,c1] = residue(a1,b1);k是展开项系数,p是极点,给出系统函数求零极点分布clear all%第四题(1)figure(1)subplot(2,1,1)%零极点分布B1=[1];A1=[1,6,8];[z1,p1]=tf2zp(B1,A1);zplane(z1,p1);title('零极点分布')subplot(2,1,2)%冲击响应及其图形impulse(B1,A1,5);title('冲击响应')H1=impz(B1,A1);%冲击响应%分析:函数极点分布在左半平面,故响应成衰减图形%P253_5b=[2];a=[0.04,0.4,2];[h,w]=freqs(b,a,100);h1=abs(h);%幅频响应h2=angle(h);%相频响应subplot(2,1,1);plot(w,h1);hold onplot([7.0711 7.0711],[0 0.707],':');%截止频率的位置plot([0 7.0711],[0.707,0.707],':');axis([0 40 0.1 1]);gridxlabel('角频率');ylabel('幅度');title('幅频特性');subplot(2,1,2);plot(w,h2*180/pi);gridxlabel('角频率');ylabel('相位');title('相频特性');Z变换%P344 1(1)求Z变换clear all%(1)f1=sym('n^2*heaviside(n)');F1=ztrans(f1)%P344_2_4逆变换clear allF=sym('(z^2+0.5*z)/(z-0.5)^3');f=iztrans(F)%P345_3_4residuez求逆变换clear allnum=[1 0.5 0];den=[1 -1.5 0.75 -0.125];[r,p,k]=residuez(num,den)解释见315零极点分布图%P345 6clear all%(1)b=[2 4 0];a=[2 3 1];[z,p]=tf2zp(b,a);求零极点的函数figure(1)subplot(2,1,1),zplane(z,p);画图函数subplot(2,1,2),impz(b,a,20);绘制单位序列响应%P345clear all%(1)b=[2,0,0,-1];a=[1,-2,-1];[z,p,k]=tf2zp(a,b);subplot(2,2,1)zplane(z,p);legend('零点','极点');title('零极点分布');修饰subplot(2,2,2);impz(a,b,20);title('时域波形');%分析:其极点均分布在单位圆内,故系统稳定,且时域波形成衰减趋势幅频响应%P346_10clear all;b=[1 -2.828 4];a=[1 -0.707 0.25];[h,w]=freqz(b,a,400,'whole');hf=abs(h);hx=angle(h);figure(1),clf;subplot(2,1,1),plot(w,hf),title('幅频特性曲线'),grid on;subplot(2,1,2),plot(w,hx),title('相频特性曲线'),grid on;figure(2)freqz(b,a,'whole')傅里叶%P208 9.1(a)%求系数clear all;syms t x n t0;T=2*pi;tao_2=pi/2;Nf=7;Nn=6;x=sym('cos(t)*(Heaviside(t+t0)-Heaviside(t-t0))')x=subs(x,t0,tao_2) 用tao_2代替t0A0=int(x,t,-tao_2,tao_2)/T int是积分函数As=int(x*2*cos(2*pi*n*t/T)/T,t,-tao_2,tao_2)Bs=int(x*2*sin(2*pi*n*t/T)/T,t,-tao_2,tao_2)Fn=(As-j*Bs)/2A(1)=double(vpa(A0,Nn)显示可变精度计算;x为符号变量,n表示要精确计算的位数); for k=1:NfA(k+1)=double(vpa(subs(As,n,k),Nn));B(k+1)=double(vpa(subs(Bs,n,k),Nn));endAB%求各次谐波t1=-T/2:0.01:T/2;f0=A(1); % 直流f2=A(3).*cos(2*pi*2*t1/T)+B(3)*sin(2*pi*2*t1/T); ; % 2次谐波f3=A(4).*cos(2*pi*3*t1/T)+B(4).*sin(2*pi*3*t1/T); % 3次谐波f4=A(5).*cos(2*pi*4*t1/T)+B(5).*sin(2*pi*4*t1/T); ; % 4次谐波f5=A(6).*cos(2*pi*5*t1/T)+B(6).*sin(2*pi*5*t1/T); % 5次谐波f7=f0+f2+f3+f4+f5; % 直流+2次谐波+3次谐波+4次谐波+5次谐波%画出谐波图形figure(1)y=subs(x,t,t1); %调用连续时间函数-周期矩形脉冲subplot(2,2,1),plot(t1,f2),hold on;plot(t1,y,'r:');title('周期半波余弦波的形成—2次谐波');hold off;subplot(2,2,2),plot(t1,f3),hold on;plot(t1,y,'r:');title('周期半波余弦波的形成—3次谐波');hold off;subplot(2,2,3),plot(t1,f4),hold on;plot(t1,y,'r:');title('周期半波余弦波的形成—4次谐波');hold off;subplot(2,2,4),plot(t1,f5),hold on;plot(t1,y,'r:');title('周期半波余弦波的形成—5次谐波');hold off;figure(2)plot(t1,f7);hold on;plot(t1,y,'r:');title('直流+2次谐波+3次谐波+4次谐波+5次谐波');hold off;。

相关主题