信号与系统的matlab表示.doc
- 文档编号:1642072
- 上传时间:2022-10-23
- 格式:DOC
- 页数:23
- 大小:365KB
信号与系统的matlab表示.doc
《信号与系统的matlab表示.doc》由会员分享,可在线阅读,更多相关《信号与系统的matlab表示.doc(23页珍藏版)》请在冰豆网上搜索。
连续信号与系统分析
一、典型信号的matlab表示
表示连续信号,需定义自变量的范围和取样间隔,如t=0:
0.01:
3
1.实指数信号y=k*exp(a*t)
2.正弦信号k*sin(w*t+phi)k*cos(w*t+phi)
3.复指数信号y=k*exp((a+i*b)*t)
实部real(y)虚部imag(y)模abs(y)相角angle(y)共轭conj(y)
4.抽样信号Sat=sinc(t/pi)
5.矩形脉冲信号y=rectpuls(t,width)
周期方波信号y=square(2*pi*f*t,duty)%产生频率为fHZ,占空比为duty%的方波
6.三角脉冲信号
非周期三角波y=tripuls(t,width,skew)%斜度skew,最大幅度出现在t=(width/2)*skew
周期三角波y=sawtooth(t,width)
7.单位阶跃信号functiony=uCT(t)y=(t>=0)
阶跃信号符号函数Heaviside()y=sym(‘Heaviside(t)’)%调用时必须用sym定义
冲激信号符号函数Dirac()
二、Matlab的符号运算
1.定义符号变量
syms变量名symsx
sym(‘变量名’)x=sym(‘x’)
sym(‘表达式’)sym(‘x+1’)
2.化简符号运算结果simple或simplify
3.绘制符号表达式图形ezplot(y,[a,b])
三、连续信号的运算
微分和积分运算(用符号表达式来表示)
1.微分运算
Diff(function,’variable’,n)%variable为求导变量,n为求导阶数
例:
symsaxy
y=sin(a*x^2);
dy=diff(y,’x’)
2.积分运算
int(function,’variable’,a,b)%a为积分下限,b为积分上限
3.信号的反折fliplr(x)
4.卷积计算
1)符号运算计算卷积(求解积分的方法)
例:
symsTttao
xt1=exp(-t);
xt2=exp(-t/T);
xt_tao=subs(xt1,t,tao)*subs(xt2,t,t-tao);
yt=int(xt_tao,tao,0,t);
yt=simplify(yt);
2)数值计算法求卷积
conv()
y=dt*conv(e,h)
例:
求e(t)=u(t)-u(t-1)和h(t)=u(t)-u(t-1)的卷积
t0=-2;t1=4;dt=0.01;
t=t0:
dt:
t1;
e=u(t)-u(t-1);
h=u(t)-u(t-1);
y=dt*conv(e,h);%Computetheconvolutionofx(t)andh(t)
subplot(221)
plot(t,e),gridon,title('Signale(t)'),axis([t0,t1,-0.2,1.2])
subplot(222)
plot(t,h),gridon,title('Signalh(t)'),axis([t0,t1,-0.2,1.2])
subplot(212)
t=2*t0:
dt:
2*t1;%thetimerangetotheconvolutionofeandh.
plot(t,y),gridon,title('Theconvolutionofx(t)andh(t)'),axis([2*t0,2*t1,-0.1,1.2]),
xlabel('Timetsec')
四、连续LTI系统的时域分析
1.系统响应的符号求解dsolve(‘eq1,eq2,…’,’cond1,cond2,…’);
%eqi表示微分方程,condi表示初始条件
例:
eq=’D3y+2*D2y+Dy=0’;
cond=’y(0)=1,Dy(0)=1,D2y(0)=2’;
yzi=dsolve(eq,cond);%零输入响应
simplify(yzi);
eq1=’D3y+4*D2y+8*Dy=3*Dx+8*x’;
eq2=’x=Heaviside(t)’;
cond=’y(-0.01)=0,Dy(-0.01)=0,D2y(-0.01)=0’;
yzs=dsolve(eq1,eq2,cond);
simplify(yzs.y);%零状态响应
2.零状态响应的数值求解
1)y=lsim(sys,f,t)
%sys表示系统模型,由sys=tf(b,a)生成的系统函数对象
%f输入信号向量,t时间抽样点向量
例:
ts=0;te=5;dt=0.01;
sys=tf([6],[1,5,6]);
t=ts:
dt:
te;
f=10*sin(2*pi*t).*UT(t);
y=lsim(sys,f,t);
plot(t,y),gridon;
xlabel(‘time’),ylabel(‘y(t)’);
title(‘零状态响应’);
2)y=conv(f,impul)
3.连续系统冲激响应y=impulse(sys,t)%sys表示系统模型
4.连续系统阶跃响应y=step(sys,t)
五、信号的频域分析
1.傅立叶变换
1)符号运算求法
fourier()和ifourier()
例:
的傅立叶变换
ft=sym(‘exp(-2*t)*Heaviside(t)’);
fw=fourier(ft)
ezplot(abs(fw));%或者fw_conj=conj(fw);Gw=sqrt(fw*fw_conj);
phase=atan(image(fw)/real(fw));%或者angle(fw)
ezplot(phase)
的傅立叶反变换
symst
fw=sym(‘1/(1+w^2’);
ft=ifourier(fw,t)
2)数值计算求法
例:
求的傅立叶变换
1)数值计算
dt=0.01;
t=-4:
dt:
4;
ft=(t+4)/2.*uCT(t+4)-t.*uCT(t)+(t-4)/2.*uCT(t-4);
N=2000;
k=-N:
N;
W=pi*k/(N*dt);
F=dt*ft*exp(-j*t'*W);
F=abs(F);
plot(W,F),gridon;
axis([-pipi-19]);
title('amplitudespectrum');
2)符号计算
ft=sym('(t+4)/2*Heaviside(t+4)-t*Heaviside(t)+(t-4)/2*Heaviside(t-4)');
Fw=simplify(fourier(ft));
ezplot(abs(Fw),[-pipi]);gridon;
2.系统的频率特性
1)[H,w]=freqs(b,a):
连续系统频率响应的函数
2)波特图:
采用对数坐标的幅频特性和相频特性曲线,可显示频响间的微小差异
bode(sys)
例:
求的频率特性
w=0:
0.01:
8*pi;
b=[1];
a=[11];
H=freqs(b,a,w);
subplot(211);
plot(w,abs(H));
subplot(212);
plot(w,angle(H));
figure
(2);
sys=tf(b,a);
bode(sys);
3.连续时间LTI系统的频域分析
例:
,求系统的响应。
W=-6*pi:
0.01:
6*pi;
B=[5];
A=[1,5];
H1=freqs(b,a,w);
plot(w,abs(H1));%系统幅频特性
Hw=sym('5/(5+i*w)');
xt=sym('Heaviside(t)-Heaviside(t-1)');
Xw=simplify(fourier(xt));
figure;
ezplot(abs(Xw));
Yw=Hw*Xw;%输出信号的傅立叶变换
yt=ifourier(Yw);
figure;
ezplot(yt,[-0.2,2]);
例:
求稳态响应
t=0:
0.1:
20;
w1=1;w2=10;
H1=1/(-w1^2+j*3*w1+2);
H2=1/(-w2^2+j*3*w2+2);
f=5*cos(t)+2*cos(10*t);
y=abs(H1)*cos(w1*t+angle(H1))+abs(H2)*cos(w2*t+angle(H2));
subplot(211);
plot(t,f),gridon;
title('输入信号波形');
subplot(212);
plot(t,y),gridon;
title('稳态响应波形');
[H,W]=freqs([1],[132]);
figure;
plot(W,abs(H));
5.连续系统的零极点分析
1)求多项式的根
roots()%求多项式的根b=[1-2];zs=roots(b);
b=[1-2];
a=[145];
zs=roots(b);
ps=roots(a);
plot(real(zs),imag(zs),'blacko',real(ps),imag(ps),'blackx','markersize',12);
axis([-33-22]);grid
legend('zero','pole');
2)画零极点分布图
pzmap(sys)%sys=tf(b,a);表示系统的模型
b=[1-2];
a=[145];
sys=tf(b,a);
pzmap(sys);
axis([-33-22]);
3)求解零极点的值
pole(sys);
zero(sys);
6.零极点分布与时域特性的关系pzmap()和impulse()
b=[1]
a=[101];
sys=tf(b,a);
figure
(1);
pzmap(sys);
axis([-22-22]);
figure
(2);
impulse(sys);
7.拉普拉斯变换
1)正变换
L=laplace(f)%f为符号表达式
例:
symsat
L=laplace(exp(-t)*sin(a*t));
2)反变换
符号运算
f=ilaplace(L);%L符号表达式
例:
F=sym(‘s^2/(s^2+1)’);
ft=ilaplace(F);
部分分式展开
[r,p,k]=residue(b,a);%p为极点,r为部分分式系数,k为整式部分的系数
例:
的反变换
b=[1-2];
a=conv(conv([10],[11]),conv([11],[11]));
[r,p,k]=residue(b,a)
23
实验一连续LTI系统的时频域分析
1.图1所示为一RLC串联电路,已知R=5W,L=1H,C=(1/6)F,
1)请用Matlab绘制出该系统的单位冲激响应和单位阶跃响应的波形;
2)当输入信号时,请画出该系统的零状态响应波形图;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 matlab 表示