信号与系统上机实验 电子科技大学.docx
《信号与系统上机实验 电子科技大学.docx》由会员分享,可在线阅读,更多相关《信号与系统上机实验 电子科技大学.docx(33页珍藏版)》请在冰豆网上搜索。
信号与系统上机实验电子科技大学
信号与系统上机实验
Q1
0<=n<=31
x1(n)=sin(pi*n/4)*cos(pi*n/4);
x2(n)=cos(pi*n/4)*cos(pi*n/4)
x3(n)=sin(pi*n/4)*cos(pi*n/8)
分别画出图形,求出其周期。
(1)x1(n)=sin(pi*n/4)*cos(pi*n/4);
程序如下:
n=0:
31
x1=sin(pi*n/4).*cos(pi*n/4)
stem(n,x1)
MATLAB画出图形如下:
由上图图可知周期T=4
(2)x2(n)=cos(pi*n/4)*cos(pi*n/4)
程序如下:
n=0:
31
x2=cos(pi*n/4).*cos(pi*n/4)
stem(n,x2)
MATLAB画出图形如下:
由上图可知周期T=4
(3)x3(n)=sin(pi*n/4)*cos(pi*n/8)
程序如下:
n=0:
31
x3=sin(pi*n/4).*cos(pi*n/8)
stem(n,x3)
MATLAB画出图形如下:
由上图可知周期T=16
Q2
当0<=n<=5时,h(n)=n;
其他h(n)=0;
x(n)=h(n);求y(n)=x(n)*h(n);
用stem函数画出y(n).
程序如下:
n=0:
5;
y=n.^2;
stem(y)
MATLAB画出图形如下:
Q3:
(a).定义用向量a1和b1描述差分方程y(n)-0.8y(n-1)=2x(n)-x(n-2)表征的因果LTI系统,
(b).用在(a)中的系数向量,利用freqz定义H1是在0和pi之间4个等份频率上频率响应的值,omega1是这些频率值。
(c).用在(a)中的系数向量,利用freqz定义H2是在0和2*pi之间4个等份频率上频率响应的值,omega2是这些频率值。
程序如下:
n=4
a1=[5,0,-4]
b1=[10,0,-5]
[H1,W1]=freqz(b1,a1,n)
[H2,W2]=freqz(b1,a1,n,'whole')
输出结果如下:
n=
4
a1=
50-4
b1=
100-5
H1=
5.0000+0.0000i
1.7073-0.3659i
1.6667+0.0000i
1.7073+0.3659i
W1=
0
0.7854
1.5708
2.3562
H2=
5.0000
1.6667
5.0000
1.6667
W2=
0
1.5708
3.1416
4.7124
Q4
X1(n)=u(n)-u(n-8);其周期N1=8,
X2(n)=u(n)-u(n-8);其周期N2=16,
X3(n)=u(n)-u(n-8);其周期N3=32,
(1)画出这些周期信号在0<=n<=63的图形
程序如下:
N=64;
n=0:
63;
x1=zeros(1,64);
x2=zeros(1,64);
x3=zeros(1,64);
flag1=0;
flag2=0;
fori=1:
64
x1(i)=1;
end
fori=1:
64
if((i>=1&&i<=8)||(i>=17&&i<=24)||(i>=33&&i<=40)||(i>=49&&i<=56))
x2(i)=1;
else
x2(i)=0;
end
end
fori=1:
64
if((i>=1&&i<=8)||(i>=33&&i<=40))
x3(i)=1;
else
x3(i)=0;
end
end
stem(n,x1);
figure;
stem(n,x2);
figure;
stem(n,x3);
用MATLAB画出图形分别如下:
(2)求其对应的付氏级数,(分别为a1,a2,a3)并画图。
程序如下:
N=64;
n=0:
63;
x1=zeros(1,64);
x2=zeros(1,64);
x3=zeros(1,64);
flag1=0;
flag2=0;
fori=1:
64
x1(i)=1;
end
fori=1:
64
if((i>=1&&i<=8)||(i>=17&&i<=24)||(i>=33&&i<=40)||(i>=49&&i<=56))
x2(i)=1;
else
x2(i)=0;
end
end
fori=1:
64
if((i>=1&&i<=8)||(i>=33&&i<=40))
x3(i)=1;
else
x3(i)=0;
end
end
a1=fft(x1)
figure;
stem(a1)
figure;
a2=fft(x2)
stem(a2)
figure;
a3=fft(x3)
stem(a3)
MATLAB画出波形如下:
(3)综合x3
a.x31(n)=a3
(1)*exp(j*2*pi*n/32)+a3
(2)*exp(j*2*2*pi*n/32)+a3(30)*exp(j*2*30*pi*n/32)+a3(31)*exp(j*2*31*pi*n/32)+a3(32)*exp(j*2*32*pi*n/32)
b.x32(n)=a3
(1)*exp(j*2*pi*n/32)+……+a3(8)*exp(j*2*8*pi*n/32)+a3(24)*exp(j*2*24*pi*n/32)+……+a3(32)*exp(j*2*32*pi*n/32)
c..x33(n)=a3
(1)*exp(j*2*pi*n/32)+……+a3(12)*exp(j*2*12*pi*n/32)+a3(20)*exp(j*2*20*pi*n/32)+……+a3(32)*exp(j*2*32*pi*n/32)
c..x34(n)=a3
(1)*exp(j*2*pi*n/32)+……+a3(32)*exp(j*2*32*pi*n/32)
yi=abs(x3i),用stem对yi作图,试比较其于x3的区别。
程序如下:
x31=a3
(1)*exp(1i*2*pi*n/32)+a3
(2)*exp(1i*2*2*pi*n/32)+a3(30)*exp(1i*2*30*pi*n/32)+a3(31)*exp(1i*2*31*pi*n/32)+a3(32)*exp(1i*2*32*pi*n/32)
stem(abs(x31))
figure;
x32=sum(a3(1:
8))*exp(1i*2*8*pi*n/32)+sum(a3(24:
32))*exp(1i*2*32*pi*n/32)
stem(abs(x32))
figure;
x33=sum(a3(1:
12))*exp(1i*2*12*pi*n/32)+sum(a3(20:
32))*exp(1i*2*32*pi*n/32)
stem(abs(x33))
x34=a3
(1)*exp(1i*2*pi*n/32)+a3(32)*exp(1i*2*32*pi*n/32)
figure;
stem(abs(x34))
MATLAB画出图形如下:
从上图可以看出,第一个拟合的程度较好。
Q1。
Gibbs现象:
根据教材Example3.5验证Gibbs现象,要求作出其一阶、三阶、五阶、七阶、九阶付氏级数展开的近似图。
一阶展开近似图程序如下:
w=pi/4,t=[-10:
0.01:
10]
w=pi/4;
t=-10:
0.01:
10;
a=@(k)(sin(k.*pi/2)/(k.*pi));
y1=1/2+2*a
(1)*cos(w*t);
plot(t,y1);
figure;
MATLAB输出波形如下:
三阶展开近似图程序如下:
w=pi/4;
t=-10:
0.01:
10;
a=@(k)(sin(k.*pi/2)/(k.*pi));
y3=1/2+2*a
(1)*cos(w*t)+2*a(3)*cos(3*w*t);
plot(t,y3);
figure;
MATLAB画出图形如下:
五阶展开近似图程序如下:
w=pi/4,t=[-10:
0.01:
10]
w=pi/4;
t=-10:
0.01:
10;
a=@(k)(sin(k.*pi/2)/(k.*pi));
y5=1/2+2*a
(1)*cos(w*t)+2*a(3)*cos(3*w*t)+2*a(5)*cos(5*w*t);
plot(t,y5);
MATLAB画出图形如下:
七阶展开近似图程序如下:
w=pi/4,t=[-10:
0.01:
10]
w=pi/4;
t=-10:
0.01:
10;
a=@(k)(sin(k.*pi/2)/(k.*pi));
y7=1/2+2*a
(1)*cos(w*t)+2*a(3)*cos(3*w*t)+2*a(5)*cos(5*w*t)+2*a(7)*cos(7*w*t);
plot(t,y7);
figure;
MATLAB画出图形如下:
九阶展开近似图诚如如下:
w=pi/4,t=[-10:
0.01:
10]
w=pi/4;
t=-10:
0.01:
10;
a=@(k)(sin(k.*pi/2)/(k.*pi));
y9=1/2+2*a
(1)*cos(w*t)+2*a(3)*cos(3*w*t)+2*a(5)*cos(5*w*t)+2*a(7)*cos(7*w*t)+2*a(9)*cos(9*w*t);
plot(t,y9);
MATLAB画出图形如下:
Q2:
已知微分方程y’’(t)+1.5y’(t)+0.5y(t)=x’(t)-2x(t)
(1).求满足上式的因果LTI系统的频率相应H(jw)。
定义向量b和a表示以(jw)的分子和分母多项式。
画出H(jw)的模和复角图。
(2),利用命令[r,p]=residue(b,a)计算出H(jw)的部分分式展开。
程序如下:
b=[0,1,-2];
a=[-1,1.5,0.5];
[h,w]=freqs(b,a);
plot(w,abs(h))
figure;
plot(w,angle(h))
[r,p]=residue(b,a)
用MATLAB画出图形如下
输出结果:
r=
0.1063
-1.1063
p=
1.7808
-0.2808
所以,H(jw)展开式为:
H(jw)=0.1063/(jw-1.7828)-1.1063/(jw+0.2808)
Q3:
作出以下系统的零极点图:
(1)H(s)=(s+5)/(s^2+2s+3)
(2)H(s)=(2s^2+5s+12)/(s^2+2s+10)
(3)H(s)=(2s^2+5s+12)/((s^2+2s+10)(s+2))
(4)满足如下微分方程的因果LTI系统:
y’(t)-3y(t)=x’’(t)+2x’(t)+5x(t)
(1)H(s)=(s+5)/(s^2+2s+3)
程序如下:
b1=[15];
a1=[123];
zs1=roots(b1)
ps1=roots(a1)
subplot(4,1,1)
plot(real(zs1),imag(b1),'o')
holdon
plot(real(ps1),imag(ps1),'x')
title('H(s)=(s+5)/(s^2+2s+3)的零极点图')
grid
axis([-66-44]);
MATLAB画出图如下:
输出结果:
zs1=
-5
ps1=
-1.0000+1.4142i
-1.0000-1.4142i
(2)H(s)=(2s^2+5s+12)/(s^2+2s+10)
程序如下:
b2=[2512];
a2=[1210];
zs2=roots(b2)
ps2=roots(a2)
subplot(4,1,2)
plot(real(zs2),imag(zs2),'o')
holdon
plot(real(ps2),imag(ps2),'x')
title('H(s)=(2s^2+5s+12)/(s^2+2s+10)的零极点图')
grid
axis([-1010-55]);
MATLAB画出图如下:
输出结果:
zs2=
-1.2500+2.1065i
-1.2500-2.1065i
ps2=
-1.0000+3.0000i
-1.0000-3.0000i
(3)H(s)=(2s^2+5s+12)/((s^2+2s+10)(s+2))
程序如下:
b3=[2512];
a3=[142420];
zs3=roots(b3)
ps3=roots(a3)
subplot(4,1,2)
plot(real(zs3),imag(zs3),'o')
holdon
plot(real(ps3),imag(ps3),'x')
title('H(s)=(2s^2+5s+12)/[(s^2+2s+10)(s+2)]的零极点图')
grid
axis([-1010-1010]);
MATLAB画出图如下
输出结果:
zs3=
-1.2500+2.1065i
-1.2500-2.1065i
ps3=
-1.5262+4.3334i
-1.5262-4.3334i
-0.9475+0.0000i
(4)满足如下微分方程的因果LTI系统:
y’(t)-3y(t)=x’’(t)+2x’(t)+5x(t)
(1)H(s)=(s+5)/(s^2+2s+3)
程序如下:
b4=[1,2,5];
a4=[0,1,-3];
m4=roots(b4);
plot(real(m4),imag(m4),'o')
axis([-1010-1010]);
holdon;
n4=roots(a4);
plot(real(n4),imag(n4),'x')
title('y’(t)-3y(t)=x’’(t)+2x’(t)+5x(t)的LTI系统')
MATLAB画出图形如下:
Q4:
系统函数如下:
H(z)=z^2/(z^2-0.9z+0.81)其中:
abs(z)>0.9
(1).画出H(z)的零极点图。
程序如下:
b=[1]
a=[1-0.90.81];
[z,p,k]=tf2zp(b,a)
B=[01];
A=[1-0.90.81];
figure;
zplane(B,A);
MATLAB画出图形如下:
(2).定义omega=[0:
511]*pi/256和unitcirc=exp(j*omega)得到单位圆上512个等分点。
定义ps为极点的列向量,zs为零点的列向量,我们定义
polevector=ones(2,1)*unitcirc-ps*ones(1,512)
zerovector=ones(2,1)*unitcirc-zs*ones(1,512)
令:
polelength和poleangle分别为polevector的辐值和相位角,zerolength和zeroangle分别为zerovector的辐值和相位角。
画出polelength和zerolength对于omega的图,画出poleangle和zeroangle
对于omega的图。
程序如下:
w=[0:
511]*pi/256;
unitcirc=exp(1j*w);
b=[100,0,0];
a=[100,-9,81];
zplane(b,a);
p=roots(a);
z=roots(b);
polevector=ones(2,1)*unitcirc-p*ones(1,512);
zerovector=ones(2,1)*unitcirc-z*ones(1,512);
polelength=abs(polevector);
poleangle=angle(polevector);
zerolength=abs(zerovector);
zeroangle=angle(zerovector);
plot(w,polelength);
figure;
plot(w,poleangle);
MATLAB画出图形如下:
幅值曲线
相位曲线
(3)用polelength和zerolength求出abs(H(exp(jw)))
用poleangle和zeroangle求出angle(H(exp(jw))).
并分别画出其图形。
程序如下:
w=[0:
511]*pi/256;
unitcirc=exp(1j*w);
b=[100,0,0];
a=[100,-9,81];
zplane(b,a);
p=roots(a);
z=roots(b);
polevector=ones(2,1)*unitcirc-p*ones(1,512);
zerovector=ones(2,1)*unitcirc-z*ones(1,512);
polelength=abs(polevector);
poleangle=angle(polevector);
zerolength=abs(zerovector);
zeroangle=angle(zerovector);
ah=zerolength./polelength;
anh=zeroangle-poleangle;
plot(w,ah);
figure;
plot(w,anh);
MATLAB画出图形如下: