.*
《信号与系统》实验报告
姓 名:
学 号:
同组人:
无
指导教师:
成 绩:
实验一 典型连续时间信号描述及运算
l 实验报告要求:
(1)仿照单边指数信号的示例程序,按要求完成三种典型连续信号,即:正弦信号、衰减正弦信号、钟型信号的波形绘制。(要求:要附上程序代码,以下均如此,不再说明)
(2)根据《信号与系统》教材第一章的习题1.1(1,3,5,8)函数形式绘制波形。
(3)完成三种奇异信号,即:符号函数、阶跃信号、单位冲激信号的波形绘制。
(4)完成实验一中信号的运算:三、6 实验内容中的 (1)(2)(3)(4)。
(5)求解信号的直流/交流分量,按第四部分的要求完成。
正文:
(1)
<1>正弦信号:
代码:>> t=-250:1:250;
>> f1=150*sin(2*pi*t/100);
>> f2=150*sin(2*pi*t/200);
>> f3=150*sin(2*pi*t/200+pi/5);
>> plot(t,f1,-,t,f2,--,t,f3,-.)
<2>衰减正弦信号
<3>
代码:
>> t=-250:1:250;
>> f1=400*exp(-1.*t.*t./10000);
>> f1=400*exp(-1.*t.*t./22500);
>> f1=400*exp(-1.*t.*t./62500);
>> plot(t,f1,-,t,f2,--,t,f3,-.)
(2)习题1,3,5,8
<1>
代码:t=0:1:10;
f=t;
plot(t,f)
<3>
代码:t=1:1:10;
f=t;
plot(t,f)
<5>
代码:t=0:1:10;
f=2-exp(-1.*t.);
plot(t,f)
<8>
代码:t=1:0.1:2;
f=exp(-1.*t.)*cos(10*pi*t);
plot(t,f)
(3) 三种奇异函数
<1>符号函数
代码: t=-5:0.05:5;
f=sign(t);
plot(t,f)
<2>阶跃信号
代码: >> t=-5:0.1:5;
>> f=u(t);
>> plot(t,f)
<3>单位冲激信号
代码:function chongji(t1,t2,t0)
dt=0.01;
t=t1:dt:t2;
n=length(t);
x=zeros(1,n);
x(1,(-t0-t1)/dt+1)=1/dt;
stairs(t,x);
axis([t1,t2,0,1.2/dt]) title(单位冲激信号
δ(t) )
(4)实验三1234
<1>
syms t
f1=sym((-t+4)*(u(t)-u(t-4)));
subplot(1,2,1);
ezplot(f1);
y1=subs(f1,t,-t);
f3=f1+y1;
subplot(1,2,2);
ezplot(f3);
function f=u(t) f=(t>0);
<2>
4、
function f=u(t)
f=(t>0)
syms t
f1=sym((-t+4)*(u(t)-u(t-4)));
subplot(1,3,1);
ezplot(f1);
f2=sym(sin(2*pi*t));
subplot(1,3,2);
ezplot(f2);
f6=f1.*f2;
subplot(1,3,3);
ezplot(f6);
5、
function f=u(t)
f=(t>0)
syms t
f1=sym((-t+4)*(u(t)-u(t-4)));
f2=sym(sin(2*pi*t));
subplot(1,3,1);
ezplot(f2);
f6=f1.*f2;
y6=subs(f6,t,t-2);
subplot(1,3,2);
ezplot(y6);
f7=y6+f2;
subplot(1,3,3);
ezplot(f7);
四、
t=0:0.1:500;
f=100.*abs(sin(2.*pi.*t./50));
plot(t,f,t,fD,t,fA)
调用子程序:
function fD=fDC(f)
fD=mean(f);
function fA=fAC(f,fD)
fA=f-fD;
(5)求解信号的交直流分量
代码:function fD=fDC(f)
fD=mean(f);
function fA=fAC(f,fD)
fA=f-fD;
t=0:0.1:500;
f(t)=100|sin(2*PI*t/50)|;
plot(t,fD,t,fA)
实验二 线性系统时域分析
l 实验报告要求:
(1)求解下面两个信号的卷积积分。
要求:1) 在实验报告中推导出这两个信号卷积积分运算表达式;(手写)
2) 利用MATLAB 进行求解验证,附程序代码和波形。
(2)已知描述系统的微分方程和激励信号如下
r(t ) + 3r(t ) +2r(t ) = e(t)+3 e(t) ,e(t)=u(t) 。
要求:1) 用解析法求系统的零状态响应r(t );(手写)
2)利用MATLAB绘出系统零状态响应的时域仿真波形,并验证1)的结果是否正确,附程序代码和波形;
3)利用MATLAB绘出系统的冲激响应和阶跃响应波形,附程序代码和波形。
正文:
(1)求解下面两个信号的卷积积分。
<1>在实验报告中推导出这两个信号卷积积分运算表达式;(手写)
<2>利用MATLAB 进行求解验证,附程序代码和波形。
代码:p=0.01;
k1=-1/2:p:1;
f1=1;
k2=0:p:2;
f2=0.5*k2;
[f,k]=sconv(f1,f2,k1,k2,p)
function [f,k]=sconv(f1,f2,k1,k2,p)
f=conv(f1,f2);
f=f*p;
k0=k1(1)+k2(1);
k3=length(f1)+length(f2)-2;
k=k0:p:(k3*p+k0);
subplot(2,2,1)
plot(k1,f1)
xlabel(t)
ylabel(f1(t))
subplot(2,2,2)
plot(k2,f2)
ylabel(f2(t))
subplot(2,2,3)
plot(k,f);
h=get(gca,position);
h(3)=2.5*h(3);
set(gca,position,h)
title(f(t)=f1(t)*f2(t))
xlabel(t)
ylabel(f(t))
(2)已知描述系统的微分方程和激励信号如下
r(t ) + 3r(t ) +2r(t ) = e(t)+3 e(t) ,e(t)=u(t) 。
要求:
<1> 用解析法求系统的零状态响应r(t );(手写)
<2>利用MATLAB绘出系统零状态响应的时域仿真波形,并验证<1>的结果是否正确,附程序代码和波形;
代码: >> a=[1,3,2];
>> b=[0,1,3];
>> impulse(a,b)
<3>利用MATLAB绘出系统的冲激响应和阶跃响应波形,附程序代码和波形。
代码: a=[1,3,2];
b=[0,1,3];
step(b,a)
代码; a=[1,3,2];
b=[0,1,3];
>> p=0.01;
>> t=0:p:5;
>> x=exp(-t);
>> lsim(b,a,x,t)
实验三:实验报告内容:
对所给音频信号,进行时域压缩和扩展,画出时域波形与幅度谱,使其满足以下要求。
(1)将music1.wav的音调变低a倍(0.8
> a=[8,2,3,1,5];
b=[1,3,2];
[q,p]=sjdt(a,b)
SJDT函数
function[p,q]=sjdt(A,B)
p=roots(A);
q=roots(B);
p=p;
q=q;
x=max(abs([p q]));
x=x+0.1;
y=x;
clf
hold on
axis([-x x -y y]);
axis(square)
plot([-x x],[0 0])
plot([0 0],[-y y])
plot(real(p),imag(p),x)
plot(real(q),imag(q),o)
title()
text(0.2,x-0.2,)
text(x-0.2,0.2,)
7-2(a)
代码:>> a=[1 0];
>> b=[1];
>> impulse(b,a)
(b)
代码:>> a=[1 2];
>> b=[1];
>> impulse(b,a)
(c)
代码:a=[1 -2];
b=[1];
impulse(b,a)
(d)
代码:>> a=[1 1 16.25];
b=[1];
impulse(b,a,5)
(e)
代码:a=[1 0 16];
b=[1];
impulse(b,a,5)
(f)
代码: a=[1 -1 16.25];
b=[1];
impulse(b,a,5)
7-3
function splxy(f1,f2,k,p,q)
p=p;
q=q;
f=f1:k:f2;
w=f*(2*pi);
y=i*w; n=length(p);
m=length(q);
if n==0
yq=ones(m,1)*y;
vq=yq-q*ones(1,length(w));
bj=abs(vq);
cosaij=angle(vq)./pi.*180;
ai=1;
thetai=0;
elseif m==0
yp=ones(n,1)*y;
vp=yp-p*ones(1,length(w));
ai=abs(vp);
thetai=angle(vp)./pi.*180;
bj=1;
cosaij=0;
else
yp=ones(n,1)*y;
yq=ones(m,1)*y;
vp=yp-p*ones(1,length(w));
vq=yq-q*ones(1,length(w));
ai=abs(vp);
thetai=angle(vp)./pi.*180;
bj=abs(vq);
cosaij=angle(vq)./pi.*180;
end subplot(121);
Hw=prod(bj,1)./prod(ai,1);
plot(f,Hw);
title(连续系统幅频响应曲线) xlabel(频率 w(单位:赫兹)) ylabel(F(jw)) subplot(122);
Angw=sum(cosaij,1)-sum(thetai,1);
plot(f,Angw);
title(连续系统相频响应曲线) xlabel(频率 w(单位:赫兹)) ylabel(Angle(jw))
q=[0];
p=[-100 -50];
f1=0; f2=100;
k=0.01;
splxy(f1,f2,k,p,q);
(2)完成第四部分实验内容中的(1)(3)。
(1)
①a=[3 5 4 -6];
b=[1 1 2];
[p,q]=sjdt(a,b)
②不稳定
③q=[ -0.5000 - 1.3229i -0.5000 + 1.3229i];
p=[ -1.1742 - 1.2472i -1.1742 + 1.2472i 0.6816 + 0.0000i];
f1=0;
f2=3;
k=0.01;
splxy(f1,f2,k,p,q);
(3)
①a=[1 0 20 0 64];
b=[3 0 -27 0];
[p,q]=sjdt(a,b)
②不稳定
③
q=[0 3 -3];
p=[ -0.0000 - 4.0000i -0.0000 + 4.0000i 0.0000 - 2.0000i 0.0000 + 2.0000i];
f1=0;
f2=1.5;
k=0.01;
splxy(f1,f2,k,p,q);
实验八 离散系统z域分析
l 实验报告内容:
(1)根据例1-例5的要求和提示完成。
(2)完成第五部分的实验内容。
(1)根据例1-例5的要求和提示完成。
8-1(1)
A=[1 -3 7 -5];
>> B=[3 -5 10 0];
>> ljdt(A,B)
调用的ljdt函数
function ljdt(A,B)
p=roots(A);
q=roots(B);
p=p;
q=q;
x=max(abs([p q 1]));
x=x+0.1;
y=x;
clf
hold on
axis([-x x -y y]);
w=0:pi/300:2*pi;
t=exp(i*w);
plot(t)
axis(square)
plot([-x x],[0 0])
plot([0 0],[-y y])
text(0.1,x,jIm[z])
text(y,1/10,Re[z])
plot(real(p),imag(p),x)
plot(real(q),imag(q),o)
title(pole-zero diagram for discrete system)
hold off
8-1(2)
A=[1 0.75 0.125];
B=[1 -0.5 0];
ljdt(A,B)
8-2例2:
解:由例1绘出的零极点图可以看出两个系统的稳定性分别为:第(1)个系统不稳定;第(2)个系统稳定。
8-3(1)
a=[1 -1];
b=[0 1];
>> impz(b,a,10)
8-3(2)
a=[1-2*cos(pi/8) 1];
b=[0 0 1];
impz(b,a,50)
8-2(3)
a=[1 -2 1];
b=[0 1 0];
impz(b,a,10)
8-2(4)
a=[1 -0.8];
b=[0 1];
impz(b,a,10)
8-2(5)
a=[1 -1 0.25];
b=[0 0 1];
impz(b,a,10)
8-2(6)
a=[1 -1.2];
b=[0 1];
impz(b,a,10)
例4:
解:MATLAB 命令如下:
B=[1 -0.5];
A =[1 0];
[H,w]=freqz(B,A,400,whole);
Hf=abs(H);
Hx=angle(H);
clf
figure(1)
plot(w,Hf)
title(离散系统幅频特性曲线)
figure(2)
plot(w,Hx)
title(离散系统相频特性曲线)
例五:
调用子程序;
function dplxy(k,r,A,B)
%The function to draw the frequency response of discrete system
p=roots(A);
q=roots(B);
figure(1)
ljdt(A,B)
w=0:r*pi/k:r*pi;
y=exp(i*w);
N=length(p);
M=length(q);
yp=ones(N,1)*y;
yq=ones(M,1)*y;
vp=yp-p*ones(1,k+1);
vq=yq-q*ones(1,k+1);
Ai=abs(vp);
Bj=abs(vq);
Ci=angle(vp);
Dj=angle(vq);
fai=sum(Dj,1)-sum(Ci,1);
H=prod(Bj,1)./prod(Ai,1);
figure(2)
plot(w,H);
title(离散系统幅频特性曲线)
xlabel(角频率)
ylabel(幅度)
figure(3)
plot(w,fai)
title(离散系统的相频特性曲线)
xlabel(角频率)
ylabel(相位)
解:MATLAB 命令如下:
A=[1 -1/4];
B=[5/4 -5/4];
dplxy(500,2,A,B)
实验内容
已知离散系统的系统函数分别为:
试用MATLAB 分析:
(1) 绘出系统的零极点图,根据零极点图判断系统的稳定性;
(2) 如果系统稳定,绘出幅频特性和相频特性曲线。
解:
(1)
①
A=[2 0 0 -1];
B=[0 1 -2 -1];
ljdt(A,B)
稳定
②
A=[1 2 -4 1];
B=[0 1 0 2];
ljdt(A,B)
不稳定
(2)
①
A=[2 0 0 -1];
B=[0 1 -2 -1];
[H,w]=freqz(B,A,400,whole);
Hf=abs(H);
Hx=angle(H);
clf
figure(1)
plot(w,Hf)
title(离散系统幅频特性曲线)
figure(2)
plot(w,Hx)
title(离散系统相频特性曲线)