连续时间信号和系统时域分析及MATLAB实现Word格式文档下载.docx
《连续时间信号和系统时域分析及MATLAB实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《连续时间信号和系统时域分析及MATLAB实现Word格式文档下载.docx(36页珍藏版)》请在冰豆网上搜索。
1MATLAB简介
1.1MATLAB设计目的
深入研究连续时间信号和系统时域分析的理论知识。
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形
1.2MATLAB语言特点
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的最重要特征使他拥有解决特定应用问题的程序组,也就是TOOLBOX(工具箱),如信号处理工具箱,控制系统工具箱、神经网络工具箱、模糊逻辑工具箱、通信工具箱和数据采集工具箱等许多专用工具箱,对大多数用户来说,要想灵活、高效地运用这些工具箱,通常都需要学习相应的专业知识。
2常用连续时间信号的时域波形
连续信号又称为模拟信号,其信号存在于整个时间范围内,包括单位阶跃信号,单位冲激信号,正弦信号,实指数信号,虚指数信号,复指数信号。
2.1单位阶跃信号
单位阶跃信号的定义如下:
单位阶跃信号的MATLAB程序:
>
t=-0.5:
0.01:
5;
t0=1.0;
q=stepfun(t,t0);
plot(t,q);
axisequal
其信号图如下:
2.2单位冲激信号
MATLAB实现程序如下:
t=-5:
a=(t==0);
plot(t,a);
信号图如下:
2.3正弦信号
正弦信号其MATLAB实现程序如下:
t=-1:
0.0001:
1;
A=6;
f=5;
b=1;
u=A*sin(2*pi*f*t+b);
plot(t,u)
axis([-11-6.56.5])
2.4实指数信号
实指数信号可由下面的表达式来表示:
MATLAB实现程序如下:
t=0:
0.002:
3;
A=3;
a=0.5;
b=A*exp(a*t);
plot(t,b)
axis([-0.23.1-0.214])
2.5虚指数信号
虚指数信号可由下面的表达式来表示:
A=2,的虚指数信号的MATLAB实现程序如下
0.001:
20;
a=2;
w=pi/4;
b=a*exp(i*w*t);
subplot(221),plot(t,real(b)),axis([0,20,-4,4]),title('
实部'
)
subplot(222),plot(t,imag(b)),axis([0,20,-4,4]),title('
虚部'
subplot(223),plot(t,abs(b)),axis([0,20,1,4]),title('
模'
subplot(224),plot(t,angle(b)),axis([0,20,-4,4]),title('
相角'
)
2.6复指数信号
复指数信号可由下面的表达式来表示:
4;
a=-1;
A=1;
b=12;
c=A*exp((a+i*b)*t);
subplot(221),plot(t,real(c)),title('
subplot(222),plot(t,abs(c)),title('
subplot(223),plot(t,imag(c)),title('
subplot(224),plot(t,angle(c)),title('
3连续时间信号的时域运算
3.1相加
要实现两信号的相加,即f(t)=f1(t)+f2(t)
f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相加的实现程序如下,
t=-6:
10;
t0=2;
a=stepfun(t,t0);
b=sin(2*pi*t);
f=b+a;
plot(t,f)
axis([-610-33])
3.2相乘
要实现两信号的相乘,即f(t)=f1(t)*f2(t)
f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相乘的实现程序如下:
t0=0.5;
f=a.*b;
plot(t,f);
axis([05-22]);
3.3数乘
要实现信号的数乘,即f(t)=A*f1(t)
A=3,f1(t)为单位阶跃信号,信号数乘的实现程序如下:
a=3;
t0=1;
b=stepfun(t,t0);
f=a*b;
axis([-2505]);
3.4微分
微分即求信号的导数。
对函数f(t)=t2求一阶微分的实现程序如下:
t=-40:
40;
a=t.*t;
d=diff(a);
subplot(211);
plot(t,a,'
-'
);
subplot(212);
plot(d,'
3.5积分
对f(t)=t2函数的一次积分的实现程序如下:
t=-2:
0.1:
2;
symst;
f=t*t;
a=int(f);
ezplot(f);
ezplot(a);
4.1反转
信号的反转就是将信号的波形以某轴为对称轴翻转180︒
信号f(t)=t的反转MATLAB程序如下:
t=-10:
1:
f=t;
a=fliplr(f);
h=flipud(f);
subplot(311);
axis([-22-22]);
title('
原'
subplot(312);
plot(t,a);
axis([-55-55]);
上下'
subplot(313);
plot(t,h);
左右’'
4.2时移
实现连续时间信号的时移即f(t-t0)或者f(t+t0),常数t0>
0。
余弦信号的时移实现程序如下:
y=cos(2*pi*t);
y1=cos(2*pi*(t-0.2));
plot(t,y,'
t,y1);
axis([05-1.51.5]);
4.3展缩
信号的展缩即将信号f(t)中的自变量t替换为at,a≠0。
正切信号的展缩实现程序如下:
a=1;
y=sin(2*pi*t);
y1=subs(y,t,a*t);
ezplot(y);
ezplot(y1);
4.4倒相
连续信号的倒相是指将信号f(t)以横轴为对称轴对折得到-f(t)。
正弦信号的展缩实现程序如下:
y1=-y;
plot(t,y);
axis([04-1.51.5]);
plot(t,y1);
4.5综合变化
将f(t)=cos(t)/t通过反褶、移位、尺度变换由f(t)的波形得到f(-2t+3)的波形。
该变化的实现程序如下
f=sym('
cos(t)/t'
f1=subs(f,t,t+2);
f2=subs(f1,t,1*t);
f3=subs(f2,t,-t);
subplot(221);
ezplot(f,[-10,10]);
subplot(222);
ezplot(f1,[-10,10]);
subplot(223);
ezplot(f2,[-10,10]);
subplot(224);
ezplot(f3,[-10,10]);
5连续时间信号简单的时域分解
5.1信号的交直流分解
信号的交直流分解即将信号分解成直流分量和交流分量两部分之和,其中直流分量定义为
fD(t)=/t
交流分量定义为
fA(t)=f(t)-fD(t)
例如对函数f(t)=cos(t)+2进行交直流分解。
程序如下:
t=-5:
f=cos(2*pi*t)+2;
a=mean(f);
b=f-a;
axis([-220.55]);
axis([-22-25]);
plot(t,b);
axis([-22-1.51.5]);
图像如下:
5.2信号的奇偶分解
对函数f(t)=cos(t-5)+t进行交直流分解。
MATLAB程序如下:
cos(t-5)+t'
f1=subs(f,t,-t)
a=1/2*(f+f1);
b=1/2*(f-f1);
ezplot(f,[-8,8]);
ezplot(a,[-8,8]