文档介绍:基于MATLAB的信号与系统分析实例
摘要
随着信息技术的飞速发展,在人们的日常生产实践中,对信号的检测分析处理就显得犹为重要,而在对信号的分析工程当中,复杂的数学运算给人们分析处理信号带来了一定的困难,MATLAB的诞生,为信号与系统的分析带来了极大的方便,利用MATLAB软件,人们可以对检测到的信号做出实时准确的分析,极大的提高了工作效率。MATLAB 的名称源自 Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。 MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。目前 MATLAB 产品族可以用来进行:数值分析数值和符号计算工程与科学绘图数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程。本文是基于MATLAB的对信号与系统的分析,主要介绍了用MATLAB对信号进行表达,对信号进行卷积运算,对信号的频谱进行分析,对系统函数与系统性质分析。
关键词:MATLAB 频谱卷积
1 信号的表达
信号可以表达为时间的函数,根据定义的不同,信号可以分为连续时间信号和离散时间信号,分别表示为x(t)和x[n];对于确定信号,时间变量值与对应的函数值形成一一对应关系。要将信号保存到计算机系统中,信号必须表现为有限长度的离散数字序列;在MATLAB中,信号与对应的时间变量采用两个一维向量(序列)表示,两序列长度必须相等。
离散时间信号x(n)的表达:离散时间变量n只能取整数值,与其对应的函数值形成离散时间信号;x和n为长度相同的序列,序列元素的编号从1开始;坐标序列n值的设置: n=[-3:3] 设定起点和终点;x的值可以直接设置,也可以根据与n有关的运算得到(必须先定义n):x=[1 2 3 4 3 2 1] x=3*n x=exp(j*(pi/8)*n),采用函数stem(n,x)可以作出离散信号的图形。
离散时间信号的表达:画出下列离散信号
x1={1,2,3,4,3,2,1}0 x2=3n x4=()n
解:MATLAB程序为:
n=[0:6];n1=[0:30];
x1=[1 2 3 4 3 2 1]; x2= 3*n; x3=exp(j*(pi/8).*n1); x4=.^n1;
subplot(2,2,1),stem(n,x1);ylabel('x1'); subplot(2,2,2),stem(n,x2);ylabel('x2');
subplot(2,2,3),stem(n1,x3);ylabel('x3'); subplot(2,2,4),stem(n1,x4);ylabel('x4');
执行结果为
连续时间信号x(t) 的表达与画图:当时间变量取值间隔足够小时,可以看作是连续变化,与其对应的函数值成为连续时间函数;坐标变量t值的设置: t=[0::10],设定起点、变化步长和终点;x的值必须根据与t有关的运算得到(必须先定义t),t和x必须为长度相同的序列;
x1=[zeros(1,30) ones(1,40) zeros(1,31)],
x2=2-*t x3=exp(j*(pi/8)*t)
采用函数plot(t,x)可以作出连续时间信号的图形(离散点之间采用直线连接构成连续图形);
连续时间信号的表达:画出下列连续信号
解:MATLAB程序为:
t=[0::10];
x1=[zeros(1,30) ones(1,40) zeros(1,31)];x2=2-*t;
x3=exp(j*(pi/8)*t);x4=exp(-*t).*cos(2*pi*t);
subplot(2,2,1),plot(t,x1);ylabel('x1');axis([0,10,-,]);
subplot(2,2,2),plot(t,x2);ylabel('x2');
subplot(2,2,3),plot(t,x3);ylabel('x3');
subplot(2,2,4),plot(t,x4);ylabel('x4');
执行结果为:
2 LTI系统的卷积运算
LTI系统可以采用系统冲激响应h表达;对于已知系统(已知系统冲激响应h),当系统输入信号为x时,系统输出信号表现为h与x的卷积;当h端点为(h1,h2),x端点为(x1,x2)时,y的端点为(h1+x1,h2+x2);在MATLAB中,三者均由有限数字序列表示;在MATLAB中,可以利用函数y=conv(h,x)求卷积,由已知系统h、输入x,求系统输出y。