当前位置:文档之家› 信号与系统仿真实验报告

信号与系统仿真实验报告

信号与系统仿真实验报告
信号与系统仿真实验报告

信号与系统仿真实验报告1.实验目的

了解MATLAB的基本使用方法和编程技术,以及Simulink平台的建模与动态仿真方法,进一步加深对课程内容的理解。

2.实验项目

信号的分解与合成,观察Gibbs现象。

信号与系统的时域分析,即卷积分、卷积和的运算与仿真。

信号的频谱分析,观察信号的频谱波形。

系统函数的形式转换。

用Simulink平台对系统进行建模和动态仿真。

3.实验内容及结果

3.1以周期为T,脉冲宽度为2T1的周期性矩形脉冲为例研究Gibbs现象。

已知周期方波信号的相关参数为:x(t)=∑ak*exp(jkω),ω=2*π/T,a0=2*T1/T,ak=sin(kωT1)/k π。画出x(t)的波形图(分别取m=1,3,7,19,79,T=4T1),观察Gibbs现象。

m=1;

T1=4; T=4*T1;k=-m:m;

w0=2*pi/T; a0=2*T1/T;

ak=sin(k*w0*T1)./(k*pi);

ak(m+1)=a0;

t=0:0.1:40;

x=ak*exp(j*k'*w0*t);

plot(t,real(x));

3.2求卷积并画图

(1)已知:x1(t)=u(t-1)-u(t-2), x2(t)=u(t-2)-u(t-3)求:y(t)=x1(t)*x2(t)并画出其波形。

t1=1:0.01:2;

f1=ones(size(t1));

f1(1)=0;

f1(101)=0;

t2=2:0.01:3;

f2=ones(size(t2));

f2(1)=0;

f2(101)=0;

c=conv(f1,f2)/100;

t3=3:0.01:5;

subplot(311);

plot(t1,f1);axis([0 6 0 2]);

subplot(312);

plot(t2,f2);axis([0 6 0 2]);

subplot(313);

plot(t3,c);axis([0 6 0 2]);

(2)已知某离散系统的输入和冲击响应分别为:x[n]=[1,4,3,5,1,2,3,5], h[n]=[4,2,4,0,4,2].求系统的零状态响应,并绘制系统的响应图。

x=[1 4 3 5 1 2 3 5];

nx=-4:3;

h=[4 2 4 0 4 2];

nh=-3:2; y=conv(x,h);

ny1=nx(1)+nh(1);

ny2=nx(length(nx))+nh(length(nh));

ny=[ny1:ny2];

subplot(311);

stem(nx,x);

axis([-5 4 0 6]);

ylabel('输入')

subplot(312);

stem(nh,h);

axis([-4 3 0 5]);

ylabel('冲击效应')

subplot(313);

stem(ny,y);

axis([-9 7 0 70]);

ylabel('输出');

xlabel('n');

3.3 求频谱并画图

(1) 门函数脉冲信号x1(t)=u(t+0.5)-u(t-0.5)

N=128;T=1;

t=linspace(-T,T,N);

x=(t>=-0.5)-(t>=0.5);

dt=t(2)-t(1);

f=1/dt;

X=fft(x);

F=X(1:N/2+1);

f=f*(0:N/2)/N;

plot(f,F)

xlabel('Frequency');

Ylabel('|F(k)|');

(2)三角脉冲函数x2(t)= {1-|t| |t|≤1; 0 |t|>1}

N=200; T=1;

t=linspace(0,T,N);

if abs(t)<=1

x=1-abs(t);

else

x=0;

end

dt=t(2)-t(1);

f=1/dt;

X=fft(x);

F=X(1:N/2+1);

f=f*(0:N/2)/N;

plot(f,abs(F),'-*')

xlabel('Frequency');

Ylabel('|F(k)|');

(3) 单边指数函数x3(t)=exp(-t)u(t)

程序及仿真结果如下:

syms t; ut=sym('heaviside(t)');

ft=exp(-t)*ut; fw=fourier(ft);

fwp=abs(fw); ezplot(fwp); axis([-10 10 0 1.2]);

(4)高斯信号x4(t)=exp(-t*t)

程序及仿真结果如下:

syms t;

ft=exp(-t.^2);

fw=fourier(ft);

ezplot(fw);

3.4 求系统函数转换

(1)零极点形式转换成多项式形式。H(s)=

2( s + 1)

--------------------------

(s +2)( s+3)( s + 4)

程序及结果如下:

z=-1;

p=[-2 -3 -4];

k=2;

[num,den]=zp2tf(z,p,k);

printsys(num,den,'s');

(2)多项式转换成零极点形式。H(s)=

2s + 10

---------------------------

s^3 +8s^2+19 s+12

程序及仿真结果如下:

num=[2 10];

den=[1 8 19 12];

printsys(num,den,'s');

z,p,k=tf2zp(num,den)

(3)用卷积法求多项式形式的系统函数。

H(s)=

(s + 8)(s^2+2s+5)

-------------------------------

(2s+3)(3s^2 +4 s+13)

程序及仿真结果如下:

f1=[1 8];

f2=[1 2 5];

f3=[2 3];

f4=[3 4 13];

[num]=conv(f1,f2);

[den]=conv(f3,f4);

printsys(num,den,'s');

相关主题
文本预览
相关文档 最新文档