实验二_连续和离散时间LTI系统的响应及卷积

合集下载

matlab分析系统响应

matlab分析系统响应

1
0
bm x(m) (t) bm 1 x (m 1) (t) b1x ' (t) b0 x(t)
零状态响应yzs(t)为 y=lsim(sys,x,t)
冲激响应h(t)为 h=impulse(sys, t)
sys :LTI系统模型 sys=tf(b,a)
b和a分别为微分方程两端 各项的系数向量
y(t)
t=ts:dt:te;
0
y=impulse(sys,t);
-0.05
plot(t,y);
-0.1
-0.15
0
1
2
3
4
5
6
7
8
9 10
Time
[例1] 描述系统的微分方程为 y '(t) 2 y '(t) 100y(t) 2x(t) 试求系统的冲激响应和如图所示周期矩形波x(t) 的零状态响应。
其脉冲响应h[k]零状态响应yzs[k]的求解: a=[a0,a1, a2, a3]; b=[b0,b1, b2, b3]; k=0:1:1000
h=impz(b,a,k) y=filter(b,a,x)
sys=tf([2],[1 3 2]);
-1
-1 .5
t=ts:dt:te;
-2 0
5
10
15
20
25
30
T im e
0 .0 2 5
x=sin(t)+sin(20*t); 0.02
0 .0 1 5
y=lsim(sys,x,t)
0 பைடு நூலகம்0 1
0 .0 0 5
y(
plot(t,y);
t)
0 -0 .0 0 5

信号与系统课件:第二章 LTI系统

信号与系统课件:第二章 LTI系统
第2章 线性时不变系统
2.1 离散时间LTI系统: 卷积和
(1)用移位单位抽样信号表示离散时间信号 (2)卷积和在离散时间信号LTI系统中的表征 (3)卷积和的计算 (4) 离散时间信号LTI系统的性质
(1)用单位抽样信号表示离散时间信号
x[n] ... x[1] n 1 x[0] n x[1] n 1... x[n][0] x[n 1][1]
(1)初始条件为n<0时,y(n)=0,求其单位抽样响应;
(2)初始条件为n≥0时,y(n)=0,求其单位抽样响应。
解:(1)设x(n) (n),且 y(1) h(1) 0 ,必有
y(n) h(n) 0, n 0
依次迭代
y(0) h(0) (0) 1 y(1) 1 0 1
2
当系统的初始状态为零,单位抽样响应h(n)就 能完全代表系统,那么对于线性时不变系统,任意 输入下的系统输出就可以利用卷积和求得。
差分方程在给定输入和边界条件下,可用迭代 的方法求系统的响应,当输入为δ(n)时,输出 (响应)就是单位抽样响应h(n)。
例:常系数差分方程
y(n) x(n) 1 y(n 1) 2
x[n]u[n] x[k]u[n k] x[k]
k
k
(ii)交换律:
yn xnhn hn xn
例子: 线性时不变系统中的阶跃响应 sn
sn unhn hnun
阶跃输入
输 单位抽样信号 入 响应的累加
n
sn hk
k
(iii)分配律:
xnh1n h2 n xnh1n xnh2 n
y(1) h(1) (1) 1 y(0) 0 1 1
2
22
y(2) h(2) (2) 1 y(1) 0 1 1 (1)2

实验1 利用matlab进行系统的时域分析

实验1 利用matlab进行系统的时域分析

实验1 利用matlab进行系统的时域分析一.实验目的:1.了解离散时间序列卷积与的matlab实现;2.利用卷积与求解系统的零状态响应;二.实验原理:1.连续时间系统零状态响应的求解连续时间LTI系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。

在MATLAB中,控制系统工具箱提供了一个用于求解零初始状态微分方程数值解的函数lsim。

其调用方式为y= lsim( sys,x,t)式中t表示计算系统响应的抽样点向量,x就是系统输入信号向量,sys就是连续时间LTI系统模型,用来表示微分方程、差分方程、状态方程。

在求解微分方程时,微分方程的连续时间LTI系统模型sys要借助tf函数获得,其调用方式为sys= tf(b,a)式中b与a分别为微分方程右端与左端各项的系数向量。

例如对3阶微分方程+++=+++可用a=[ a3, a2, a1, a0];b=[b3 ,b2, b1,b0]; sys=tf( b,a)获得连续时间LTI模型。

注意微分方程中为零的系数一定要写入向量a与b中。

【例2-1】描述某力学系统中物体位移y(t)与外力f(t)的关系为++y(t)=x(t)物体质量m=l kg,弹簧的弹性系数ks= 100 N/m,物体与地面的摩擦系数fd=2 N·s/m,系统的初始储能为零,若外力x(t)就是振幅为10、周期为1的正弦信号,求物体的位移y(t)。

解:由已知条件,系统的输入信号为x(t)=10sin(2πt),系统的微分方程为++100y(t)=x(t)计算物体位移y(t)的MATLAB程序如下:%program2_1微分方程求解ts=0;te=5;dt=0、01;sys=tf([1],[1 2 100]);t=ts:dt:te;x=10*sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel('Time(sec)')ylabel('y(t)')-0.25-0.2-0.15-0.1-0.0500.050.10.150.2Time(sec)y (t )图2-1系统的零状态响应2、连续时间系统冲激响应与阶跃响应的求解在MATLAB 中,求解系统冲激响应可应用控制系统工具箱提供的函数impulse,求解阶跃响应可利用函数step 。

实验2离散时间LTI系统的时域分析

实验2离散时间LTI系统的时域分析

实验二 离散时间LTI 系统的时域分析一 实验目的(1) 学会运用MATLAB 求解离散时间系统的零状态响应;(2) 学会运用MATLAB 求解离散时间系统的单位取样响应;(3) 学会运用MATLAB 求解离散时间系统的卷积和。

二 实验原理及实例分析1、离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。

MATLAB 中函数filter 可对式(1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。

函数filter 的语句格式为y = filter (b , a , x )其中,x 为输入的离散序列;y 为输出的离散序列;y 的长度与x 的长度一样;b 与a 分别为差分方程右端与左端的系数向量。

【实例1】 已知某LTI 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。

解:MATLAB 源程序为>>a=[3 -4 0 2];>>b=[1 2]; >>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1所示。

2、离散时间系统的单位取样响应系统的单位取样响应定义为系统在)(n δ激励下系统的零状态响应,用)(n h 表示。

MATLAB 求解单位取样响应可利用函数filter ,并将激励设为前面所定义的impDT 函数。

电路、信号与系统(2)实验指导书

电路、信号与系统(2)实验指导书
[问题]
描述线性时不变离散系统的差分方程为
编写求解上述方程的通用程序。
[建模]
将方程变形可得(用MATLAB语言表示)
a(1)*y(n)= b(1)*u(n)+…+ b(nb)*u(n-nb+1)- a(2)*y(n-1)-…- a(na)*y(n-na+1)
令us== [u(n),…, u(n-nb+1)]; ys=[y(n-1),…, y(n-na+1)]
x(n)={2,1,-1,3,1,4,3,7}(其中加下划线的元素为第0个采样点)在MATLAB中表示为:
n=[-3,-2,-1,0,1,2,3,4]; x=[2,1,-1,3,1,4,3,7];
当不需要采样位置信息或这个信息是多余的时候,可以只用x向量来表示。
(一)离散信号的MATLAB表述
[问题]
实验一连续时间信号与系统分析
一、实验目的
1、了解连续时间信号的特点;
2、掌握连续时间信号的MATLAB描述;
3、掌握连续LTI系统单位冲激响应的求解方法;
4、掌握连续LTI系统的零状态响应的求解方法。
二、实验内容
严格说来,只有用符号推理的方法才能分析连续系统,用数值方法是不能表示连续信号的,因为它给出的是各个样点的数据。只有当样本点取得很密时才可看成连续信号。所谓很密,是相对于信号变化的快慢而言的。以下均假定相对于采样点密度而言,信号变化足够慢。
elseif lu<lh nh=0; nu=lh-lu;
else nu=0; nh=0;
end
dt=0.1;
lt=lmax;
u=[zeros(1, lt), uls, zeros(1, nu), zeros(1, lt)];

卷积算法实验报告程序

卷积算法实验报告程序

一、实验目的通过本次实验,加深对卷积算法的理解,掌握离散时间系统中的卷积运算方法,并学会使用MATLAB进行卷积运算的仿真。

二、实验原理卷积是一种线性时不变(LTI)系统的数学运算,用于描述系统输入信号与系统冲激响应的卷积结果。

在离散时间系统中,卷积运算可以表示为:\[ y[n] = \sum_{k=-\infty}^{\infty} x[k]h[n-k] \]其中,\( y[n] \) 是系统的输出信号,\( x[k] \) 是系统的输入信号,\( h[n] \) 是系统的冲激响应,\( n \) 是时间变量。

MATLAB提供了`conv`函数来进行卷积运算,其语法为:\[ y = conv(x, h) \]其中,\( x \) 和 \( h \) 分别是输入信号和冲激响应的向量。

三、实验内容1. 创建输入信号和冲激响应使用MATLAB创建一个简单的输入信号 \( x[n] \) 和一个冲激响应 \( h[n] \)。

```matlab% 创建输入信号 x[n] = cos(2pi0.5n)n = 0:100;x = cos(2pi0.5n);% 创建冲激响应 h[n] = u[n] - u[n-10]h = [ones(1,10), zeros(1,90)];```2. 进行卷积运算使用`conv`函数进行卷积运算,并绘制输入信号、冲激响应和输出信号的图形。

```matlab% 进行卷积运算y = conv(x, h);% 绘制图形figure;subplot(3,1,1);stem(n, x);title('输入信号 x[n]');subplot(3,1,2);stem(n, h);title('冲激响应 h[n]');subplot(3,1,3);stem(n, y);title('输出信号 y[n]');```3. 分析卷积结果分析卷积结果,观察输出信号的特性,并与理论预期进行对比。

信号与系统连续时间LTI系统的几种响应求解方法及例题

信号与系统连续时间LTI系统的几种响应求解方法及例题
连续时间LTI系统的响应
1. 经典时域分析方法: 求解微分方程 2. 卷积法:
系统完全响应 = 零输入响应 + 零状态响应
y(t) yzi (t) yzs (t) yzi (t) f (t) * h(t)
✓ 求解齐次微分方程得到零输入响应 ✓ 利用卷积积分可求出零状态响应
二、卷积法
系统完全响应 = 零输入响应 + 零状态响应 1.系统的零输入响应是输入信号为零,仅由系统的
卷积法求解系统零状态响应yf (t)的思路
1) 将任意信号分解为单位冲激信号的线性组合 2) 求出单位冲激信号作用在系统上的响应
—— 冲激响应 3) 利用线性时不变系统的特性,即可求出任意
信号f(t)激励下系统的零状态响应yf (t) 。
卷积法求解系统零状态响应yf (t)推导
(t) h(t)
特征方程为
s2 6s 8 0
特征根为
s1 2,s2 4
齐次解yh(t)
yh (t)
K1e2t
K
e4t
2
t>0
[例] 已知某二阶线性时不变连续时间系统的动态方程
y"(t) 6y'(t) 8y(t) f (t), t 0
初始条件y(0)=1, y '(0)=2, 输入信号f (t)=et u(t),求 系统的完全响应y(t)。
[例2-4-3] 已知某二阶线性时不变连续时间系统的动
态方程 y"(t) 6y'(t) 8y(t) f (t), t 0
初始条件y(0+)=1, y ‘(0+)=2, 输入信号f (t)=et u(t), (1)求系统的零状态响应y(t) 。
解:
(1) 求齐次方程y''(t)+6y'(t)+8y(t) = 0的齐次解yh(t)

基于lti离散系统的卷积和解法

基于lti离散系统的卷积和解法

基于lti离散系统的卷积和解法离散时间系统是信号处理领域的重要理论,可以有效地处理数字信号,并解决相关的问题,特别是离散时间系统的离散卷积技术在信号处理中具有重要意义。

本文重点介绍以LTI离散系统为基础的卷积及其解法算法。

1、什么是离散时间系统?离散时间系统是一种模型,用来描述在离散时间点上持续变化的信号,用来描述离散时间系统的特征和行为。

LTI离散系统是离散时间系统的一种,即线性时间不变的离散时间系统(LTI),它是一种线性系统,表示信号的滤波和转换,其模型可以由回路方程、频率响应函数或模拟响应函数表示,通常用来模拟时钟驱动的应用。

2、离散卷积的定义由离散时间系统定义,卷积(convolution)是系统输出与系统输入之间的关系,卷积是在离散时间上定义的,简而言之,卷积是一种函数,它是一个以多个变量为参数的函数,它是用来描述输入函数和系统的输出之间的关系的。

3、卷积的解法对于LTI离散系统的卷积,其解法基本上分为两类:零阶解法和非零阶解法。

零阶解法基于稳定求和原理,它可以解决求解LTI离散系统卷积的最基本问题,该算法具有时间复杂度线性(O(n))、空间复杂度线性(O(n))。

而非零阶解法则可以解决较为复杂的离散系统卷积解法,其时间复杂度可以达到O(nlogn),空间复杂度可以达到O(n)。

4、结论离散时间系统技术在信号处理领域具有广泛的应用,LTI离散系统的离散卷积是其中的重要技术,其解法也因此受到广泛的重视,也有不同的解法出现。

LTI离散系统的卷积解法常用的是零阶解法和非零阶解法,它们都有优秀的时间、空间复杂度性质,可以帮助我们完成复杂的信号处理任务。

综上所述,LTI离散系统的卷积及其解法具有重要意义,有助于完成信号处理的复杂任务。

在未来,研究者可以探索在LTI离散系统中应用更加复杂的卷积及其解法,使之更加有效和高效。

2_LTI系统

2_LTI系统

2010-10-13
14
通信工程学院
主 讲 教 师 : 祁 永 敏
例3. 列表法 分析卷积和的过程,可以发现有如下特点: ① x( n) 与 h(n) 的所有各点都要遍乘一次; ② 在遍乘后,各点相加时,根据 ∑ x(k )h(n − k ) , 参与相加的各点都具有 x(k ) 与 h( n − k ) 的宗量之 和为 n 的特点。

LTI系统对任意输入 x(t ) 的响应可表示为:
y (t ) = ∫ x(τ )h(t − τ )dτ = x(t ) ∗ h(t )
−∞

表明:LTI系统可以由它的单位冲激响应 h(t ) 来表征。 这种求得系统响应的运算关系称为卷积积分。
2010-10-13 20
通信工程学院
主 讲 教 师 : 祁 永 敏
k =−∞ ∞
2010-10-13
15
通信工程学院
主 讲 教 师 : 祁 永 敏
h(n) h ( −1) 1 h(0) 2 h(1) 0 h (2) 3 h(3) 1
x (0) x (1) x (2) x (3) 0 2 1 x(n) 1
1 y ( −1) 2 y (0) 0 y (1) 3 y (2) 1 y (3) y (4)
−∞
0

t
=∫ e
−∞ t

− aτ
u (τ )u (t − τ )dτ
=∫ e
0
2010-10-13
− aτ
1 − aτ t 1 dτ = − e = (1 − e − at )u (t ) 0 a a
22
通信工程学院
主 讲 教 师 : 祁 永 敏
P72例2.7 :

山科大信号与系统实验二-LTI系统的响应

山科大信号与系统实验二-LTI系统的响应

实验二 LTI 系统的响应一、 实验目的1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3. 熟悉应用MATLAB 实现求解系统响应的方法二、 实验原理1.连续时间系统在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。

如果系统输入为f (t ),冲激响应为h(t),系统的零状态响应为y (t ),则有:()()()y t h t f t =*。

若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。

但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。

在MATLAB 中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。

lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。

说明:(1)当系统有初始状态时,若使用lsim( )函数求系统的全响应,就要使用系统的状态空间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。

假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。

其转换原理如前面实验四所述。

(2)显然利用lsim( )函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。

例题1: 若某连续系统的输入为e (t ),输出为r (t ),系统的微分方程为:''()5'()6()3'()2()y t y t y t f t f t ++=+① 求该系统的单位冲激响应h (t )及其单位阶跃响应g (t )。

a=[1 5 6];b=[3 2];subplot(2,1,1),impulse(b,a,0:0.01:5); subplot(2,1,2),step(b,a,0:0.01:5);-10123Im pulse ResponseTim e (sec)A m p l i t u d e0.20.40.60.8Step ResponseTim e (sec)A m p l i t u d e② 若2()()tf t e t ε-= 求出系统的零状态响应y(t ) a=[1 5 6];b=[3 2]; t=0:0.01:5; f=exp(-2*t); lsim(b,a,f,t);Linear Sim ulation R esultsTim e (sec)A m p l i t u d e-0.20.20.40.60.811.2例题2 已知一个过阻尼二阶系统的状态方程和输出方程分别为:010'()()()232x t X t f t ⎡⎤⎡⎤=+⎢⎥⎢⎥--⎣⎦⎣⎦, r (t )=[0 1]X (t ) 。

信号系统MATLAB实验报告

信号系统MATLAB实验报告

信号与系统实验报告桂林理工大学信息科学与工程学院 电子信息工程实验二 信号及其表示【实验目的】了解各种常用信号的表达方式掌握部分绘图函数【实验内容】一、绘出连续时间信号x(t)=t e 707.0 sin 32t 关于t 的曲线,t 的范围为 0~30s ,并以递增。

MATLAB 源程序为:t=0::30; %对时间变量赋值x=exp*t).*sin(2/3.*t); %计算变量所对应得函数值 plot(t,x);grid; %绘制函数曲线ylabel('x(t)');xlabel('Time(sec)')二、产生周期为的方波。

MATLAB源程序为:Fs=100000;t=0:1/Fs:1;x1=square(2*pi*50*t,20);x2=square(2*pi*50*t,80);subplot(2,1,1),plot(t,x1),axis([0,,,]); subplot(2,1,2),plot(t,x2),axis([0,,,]);三、产生sinc(x)函数波形。

MATLAB源程序为:x=linspace(-4,4);y=sinc(x);plot(x,y)四、绘制离散时间信号的棒状图。

其中x(-1)=-1,x(0)=1,x(1)=2,x(2)=1,x(3)=0,x(4)=-1,其他时间x(n)=0。

MATLAB源程序为:n=-3:5; %定位时间变量x=[0,0,-1,1,2,1,-1,0,0];stem(n,x);grid; %绘制棒状图line([-3,5],[0,0]); %画X轴线xlabel('n');ylabel('x[n]')五、单位脉冲序列δ(n-0n )={00...1...0n n n n =≠直接实现:x=zeros(1,N);x(1,n0)=1;函数实现:利用单位脉冲序列)(0n n -δ的生成函数impseq,即 function[x,n]=impseq(n0,ns,nf)n=[ns:nf];x=[(n-n0)==0];plot(n,x);stem(n,x);输入参数:impseq(0,0,9)——连续图形012345678900.10.20.30.40.50.60.70.80.91输入参数:impseq(0,0,9)——离散图形六、单位阶跃序列ε(n-0n )={00...1...0n n n n ≥<直接实现:n=[ns:nf];x=[(n-n0)>=0];函数实现:利用单位阶跃序列)(0n n -ε的生成函数stepseq ,即 Function[x,n]=stepseq(n0,ns,nf)n=[ns:nf];x=[(n-n0)>=0];plot(n,x);七、实指数序列=,∀)(x n∈,Ranna直接实现:n=[ns:nf]:x=a.^n;函数实现:利用实指数序列n a(的生成函数rexpseq,即n)x=Function[x,n]=rexpseq(a,ns,nf)n=[ns:nf];x=a,^n:八、复指数序列n e n x n j ∀=+,)()(ωδ直接实现:n=[ns:nf];x=exp((sigema+jw)*n);函数实现:利用复指数序列n j e n x )()(ωδ+=的生成函数cexpseq,即 Function[x,n]=cexpseq(sigema,w,ns,nf)n=[ns:nf];x=exp((sigema+j*w)*n);0123456789-3000-2000-1000100020003000400050006000九、正(余)弦序列n wn n x ∀+=),cos()(θ直接实现:n=[ns:nf];x=cos(w*n+sita);函数实现:利用正(余)弦序列x(n)=cos(wn+θ)的生成函数cosswq,即Function[x,n]=cosseq(w,ns,nf,sita)n=[ns:nf];x=cos(w*n+sita);输入参数:cosseq,0,9,30)——连续信号0123456789-0.2-0.15-0.1-0.0500.050.10.150.2输入参数:cosseq,0,9,30)——离散信号0123456789实验三信号的运算【实验目的】了解信号处理的基本操作。

第三章 LTI离散系统的响应

第三章 LTI离散系统的响应

f (k ) (k i) f (i)

3.2 单位序列响应和阶跃响应
( 2)单 位 阶跃 序 列 1 k 0 (k ) 0 k 0 (k )
移位单位阶跃序列 (k i ) 1 k i 0 k i
(k 2)
11Fra bibliotek0
1 2 3
k
k
0
1 2 3 4 5
3.1 LTI离散系统的响应 2. 差分方程
包含未知序列y(k)及其各阶差分的方程式称为差分方程。 将差分展开为移位序列,得一般形式 y(k) + an-1y(k-1) +…+ a0y(k-n) = bmf(k)+…+ b0f(k-m)
例1:若描述某系统的差分方程为 y(k) + 3y(k – 1) + 2y(k – 2) = f(k) 已知初始条件y(0)=0, y(1)=2, 激励f(k)=2kε(k), 求y(k)。 解: y(k) = – 3y(k – 1) – 2y(k – 2) + f(k) y(2)= – 3y(1) – 2y(0) + f(2) = – 2 y(3)= – 3y(2) – 2y(1) + f(3) = 10 …… 一般不易得到解析形式的(闭合)解。
Czi1=1 , Czi2= – 2
所以 yzi(k)=(– 1)k – 2(– 2)k , k≥0
3.1 LTI离散系统的响应 (2)零状态响应yzs(k) 满足 yzs(k) + 3yzs(k –1) + 2yzs(k –2) = f(k) yzs(–1)= yzs(–2) = 0 递推求初始值 yzs(0), yzs(1), yzs(k) = – 3yzs(k –1) – 2yzs(k –2) + 2k , k≥0 yzs(0) = – 3yzs(–1) – 2yzs(–2) + 1 = 1 yzs(1) = – 3yzs(0) – 2yzs(–1) + 2 = – 1 分别求出齐次解和特解,得 yzs(k) = Czs1(–1)k + Czs2(–2)k + yp(k) = Czs1(– 1)k + Czs2(– 2)k + (1/3)2k 代入初始值求得 Czs1= – 1/3 , Czs2=1 所以 yzs(k)= – (– 1)k/3+ (– 2)k + (1/3)2k , k≥0

信号与系统实验2:信号与卷积

信号与系统实验2:信号与卷积

Matlab 的函数 conv 函数计算卷积积分 x(t) h(t) ,并画出图形。
(2) 画出函数 f1(t) eatu(t) 和 f2 (t) sin tu(t) 的图形,并利用 Matlab 的函数 conv 函数计算卷积 积分 f1(t) f2 (t) ,并画出图形。
(3) 画出教材 P131 例 3-45 中 x[k] 1, 2,3, 4;k 0,1, 2,3, y[k] 1,1,1,1,1;k 0,1, 2,3, 4 的图形,
4.3 step 函数: 计算并画出系统阶跃响应曲线 调用格式:该函数与函数 impulse() 一样,也有相似的调用格式。
三、实验内容及步骤 对书中的例题进行仿真:
1、连续时间系统的冲激响应、阶跃响应
(1)
利用 impulse 函数画出教材 P127 例 3-42:
LTI
系统
d
2
yzs dt
(t
)
stem(f1,'fill'); title('f1=[1 2 3 4];'); xlabel('t'); ylabel('f1(t)'); subplot(1,3,2); stem(f2,'fill') title('f2=[1 1 1 1]'); xlabel('t'); ylabel('f2(t)'); subplot(1,3,3); stem(f,'fill') title('卷积结果'); xlabel('t(sec)'); ylabel('f1(t)');
调用格式: impulse(b,a) 该调用格式以默认方式绘出向量 a 和 b 定义的连续系统的冲激响应的时域波形。

[工学] 第3章1 LTI系统的描述及特点_连续LTI系统响应

[工学] 第3章1  LTI系统的描述及特点_连续LTI系统响应
、…
n 1 d 、 n1 y(0- )] dt
齐次方程的解的基本形式为Kest ,且将其代人齐次方程得:
Ksnest Kan1sn1est
消去Kest ,得特征方程:
Ka1sest Ka0est 0 a1s a0 0
(K 0)
sn an1sn1
§3.2 连续时间LTI系统的响应
双零法求系统响应
零输入响应求解 零状态响应求解
冲激响应
卷积积分
连续时间系统分析过程(求响应)
完全解=齐次解+特解
经典法、双零法、卷积积分法属于时域分析法。
系统完全响应 = 零输入响应 + 零状态响应
y(t)
= yzi(t)
+
yzs(t)
零输入响应是激励为零时仅由系统的初始状态 {y(0)}所引起的响应,用yzi(t)表示;
2. 零状态响应
1) 满足方程
y ( n ) (t ) an1 y ( n 1) (t )
a1 y '(t ) a0 y (t ) b1 f '(t ) b0 f (t )
bm f ( m) (t ) bm1 f ( m1) (t )
2)
起始状态 y(k) (0-) = 0 (k= 0,1,… , n-1)
2、冲激平衡法 求系统的单位冲激响应
h ( n ) (t ) an1h ( n1) (t ) a1h' (t ) a0 h(t ) bm ( m) (t ) bm1 ( m1) (t ) b1 ' (t ) b0 (t )
由于t >0+后, 方程右端为零, 故 n>m 时

实验二 连续时间信号、离散信号卷积运算

实验二  连续时间信号、离散信号卷积运算

实验二 连续时间信号、离散信号卷积运算一、实验目的⑴熟悉卷积的定义和表示;⑵掌握利用计算机进展卷积运算的原理和方法;⑶熟悉连续时间信号、离散信号的相关计算方法;⑷熟悉连续时间信号卷积运算、离散信号卷积运算函数conv 、反卷积deconv 函数等的应用。

二、实验原理1.卷积的定义:卷积是一种特殊函数与函数之间的计算。

连续时间信号卷积积分可以表示为:f(t)=f 1(t)*f 2(t)= τττd t f f )()(21-⎰∞∞-=τττd f t f )()(12⎰∞∞--离散信号卷积积分可以表示为:f 1(k)*f 2(k)=)()(21m k f m f n -∑∞-∞= ∞-<k<∞卷积积分计算从几何上可以分为四个步骤:翻转 → 平移 → 相乘 → 叠加〔积分〕卷积积分是信号与系统时域分析的根本手段,主要应用于求系统零状态响应。

它将输入信号分解为众多的冲激函数之和,利用冲激响应可以很方便求解LTI 系统对任意鼓励的零状态响应。

设一个线性零状态响应系统,系统的单位冲激响应为h1〔t 〕,当系统的鼓励信号为x 〔t 〕时,系统的零状态响应为y zs (t)=τττd t h x t )()(0-⎰=τττd h t x t)()(0⎰- 可以简记为:y zs (t)=x(t)*h(t) 三、程序设计实验①采用函数conv 编程,实现离散时间序列的卷积和运算,完成两序列的卷积和,其中:f1〔k 〕={1,2,1},对应的k1={-1,0,-1};f2〔k 〕={1,1,1,1,1},对应的k2={-2,-1,0,1,2}。

程序代码:k1=[-1,0,1];f1=[1,2,1];subplot(3,1,1)stem(k1,f1);title('f1(k)');k2=[-2,-1,0,1,2];f2=[1,1,1,1,1];subplot(3,1,2)stem(k2,f2);title('f2(k)');k3=k1(1)+k2(1):k1(end)+k2(end);f3=conv(f1,f2);subplot(3,1,3)stem(k3,f3); title('f3(k)');程序运行结果的对应信号波形图:②求f1〔t〕=u〔t〕-u〔t-2〕,f2〔t〕=e^〔-3t〕u〔t〕的卷积。

信号与系统MATLAB实验

信号与系统MATLAB实验

2016-2017学年第一学期信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一 常见信号的MATLAB 表示及运算一.实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二.实验原理信号一般是随时间而变化的某些物理量;按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示;若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确;MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具;根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法;在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了;下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法;1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应;从严格意义上讲,MATLAB 并不能处理连续信号;在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号;在MATLAB 中连续信号可用向量或符号运算功能来表示;⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔;向量f 为连续信号()f t 在向量t 所定义的时间点上的样值; 说明: plot 是常用的绘制连续信号波形的函数;严格说来,MATLAB 不能表示连续信号,所以,在用plot 命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线;因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔;t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑;例如:图1-1是在取样间隔为p=时绘制的波形,而图1-2是在取样间隔p=时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多;在上面的f=sint . /t 语句中,必须用点除符号,以表示是两个函数对应点上的值相除;⑵ 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot 等函数来绘出信号的波形; ⑶ 常见信号的MATLAB 表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号t 、符号函数sgnt 等,在MATLAB 中这些信号都有专门的表示方法; 单位阶跃信号单位阶跃信号的定义为:10()0t t t ε>⎧=⎨<⎩,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式;例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:2()(1)(1)G t t t εε=+--在MATLAB 中,可通过多种方法得到单位阶跃信号,下面分别介绍; 方法一: 调用Heavisidet 函数在MATLAB 的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heavisidet 函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程;首先定义函数Heavisidet 的m 函数文件,该文件名应与函数名同名即;%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heavisidety=t>0; %定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际阶跃信号定义的区别; 方法二:数值计算法在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun 函数,它是用数值计算法表示的单位阶跃函数()t ε;其调用格式为: stepfunt,t0其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零;有趣的是它同时还可以表示单位阶跃序列()k ε,这只要将自变量以及取样间隔设定为整数即可;有关单位阶跃序列()k ε的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun 函数来表示单位阶跃函数; 符号函数符号函数的定义为:10sgn()1t t t >⎧=⎨-<⎩在MATLAB 中有专门用于表示符号函数的函数sign ,由于单位阶跃信号 t和符号函数两者之间存在以下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号;下面举个例子来说明如何利用sign 函数生成单位阶跃信号,并同时绘制其波形; 2.离散时间信号离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点采样次数;三.实验内容1.分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形:2[]()cos()()(4)2tf t t t πεε=--syms t;f=sym'costpit/2heavisidet-heavisidet-4'; ezplotf,-2,8; 423()(2)f t t t ε=+syms t;f=sym'2/3theavisidet+2'; ezplotf,-4,8;2.分别用MATLAB 表示并绘出下列离散时间信号的波形: 2[]()()(8)f t k k k εε=-- t=0:8; t1=-10:15;f=zeros1,10,t,zeros1,7; stemt1,faxis-10,15,0,10 4 ()(2)f k k ε=-+t=-20:10;f=ones1,23,zeros1,8; stemt,f stemt,f3.已知信号f t 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形; 2(2)f t -t=-1::4; t0=0; t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2;plott-2,ut axis-3,2,0,3 4(0.51)f t +t=-1::4;t0=0;t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2; plott+1,ut axis-1,2,0,44.已知两信号1()(1)()f t t t εε=+-,2()()(1)f t t t εε=--,求卷积积分12()()()g t f t f t =*,并与例题比较;程序清单:t1=-1::0; t2=0::1; t3=3::5;f1=onessizet1; f2=onessizet2; g=convf1,f2; plott3,g 信号波形:5.已知两信号1()()f t t t ε=,20()()0t tt te t f t t eε-≥⎧=⎨<⎩,求卷积积分12()()()g t f t f t =*;程序代码:t1=0::5;t2=-5::5; t3=-5::10; f1=t1;f2=expt2.t2<0+t2.exp-t2.t2>=0; g=convf1,f2; plott3,g;运行结果截图:6.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和 ; 程序清单:f1=1,1,1,2,0; f2=1,2,3,4,5; f=convf1,f2; x=0:8;stemx,f,'filled' 信号波形:实验二 LTI 系统的响应一、实验目的1.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2.熟悉连续离散时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB 实现求解系统响应的方法二、实验原理1.连续时间系统对于连续的LTI 系统,当系统输入为ft ,输出为yt ,则输入与输出之间满足如下的线性常系数微分方程:()()0()()nmi j i j i j a y t b f t ===∑∑,当系统输入为单位冲激信号δt 时产生的零状态响应称为系统的单位冲激响应,用ht 表示;若输入为单位阶跃信号εt 时,系统产生的零状态响应则称为系统的单位阶跃响应,记为gt ,如下图所示;系统的单位冲激响应ht 包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关;我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应;因此,求解系统的冲激响应ht 对我们进行连续系统的分析具有非常重要的意义;在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse 和step ;如果系统输入为ft ,冲激响应为ht ,系统的零状态响应为yt ,则有:()()()y t h t f t =*;若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应;但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐;在MATLAB 中,应用lsim 函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应;lsim 函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图;2.离散时间系统LTI 离散系统中,其输入和输出的关系由差分方程描述:00()()n mi ji j a y k i bf k j ==+=+∑∑前向差分方程()()nmi ji j a y k i bf k n j ==-=-+∑∑ 后向差分方程当系统的输入为单位序列δk 时产生的零状态响应称为系统的单位函数响应,用hk 表示;当输入为 εk 时产生的零状态响应称为系统的单位阶跃应,记为:gk ,如下图所示;如果系统输入为ek ,冲激响应为hk ,系统的零状态响应为y k ,则有:()()()y k h k f k =*;与连续系统的单位冲激响应ht 相类似,离散系统的单位函数响应hk 也包含了系统的固有特性,与输入序列无关;我们只要知道了系统的单位函数响应,即可求得系统在不同激励信号作用下产生的响应;因此,求解系统的单位函数响应hk 对我们进行离散系统的分析也同样具有非常重要的意义;MATLAB 中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz ;同样也提供了求离散系统响应的专用函数filter ,该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解;当系统初值不为零时,可以使用dlsim 函数求出离散系统的全响应,其调用方法与前面连续系统的lsim 函数相似;另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep ,其调用方法与求解连续系统阶跃响应的专用函数step 的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter ,只要将其中的激励信号看成是单位阶跃信号εk 即可;三、实验内容1. 已知描述系统的微分方程和激励信号et 分别如下,试用解析方法求系统的单位冲激响应ht 和零状态响应rt ,并用MATLAB 绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同;①''()4'()4()'()3()y t y t y t f t f t ++=+;()()t f t e t ε-=程序清单:a=1 4 4;b=1 3; impulseb,a,10 p=;t=0:p:10; x=exp-1t;y=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t②''()2'()26()'()y t y t y t f t ++=;()()f t t ε= 单位冲激响应程序代码: a=1 2 26;b=1;subplot2,1,1, impulseb,a,4 subplot2,1,2, stepb,a,4 运行结果截图:零状态响应程序代码: a=1 2 26;b=1; p1=;t1=0:p1:10; x1=t1;lsimb,a,x1,t1 运行结果截图:③''()4'()3()()y t y t y t f t ++=;2()()t f t e t ε-=a=1 4 3;b=1; p=;t=0:p:10; x=exp-2ty=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t④如下图所示的电路中,已知1234()R R R ===Ω,121()L L H ==,且两电感上初始电流分别为12(0)2(),(0)0()i A i A ==,如果以电阻3R 上电压()y t 作为系统输出,请求出系统在激励()12()f t t ε=v 作用下的全响应;程序清单:A=-8 4;4 -8;B=1;0;C=-4 4;D=0; x0=2;0; t=0::10;E=12.onessizet;r,x=lsimA,B,C,D,E,t,x0; plott,r信号波形:阶跃响应程序代码: a=1,-5/6,1/6;b=1,0,-1; k=0:20;x=heavisidek; y=filterb,a,xsubplot2,1,1,stemk,x title'输入序列'subplot2,1,2,stemk,y title'输出序列' 运行结果截图:④一带通滤波器可由下列差分方程描述:()0.81(2)()(2)y k y k f k f k +-=--,其中()f k 为系统输入, ()y k 为系统输出;请求出当激励[]()1010cos(/2)10cos()()f k kn kn k ε=++选取适当的n 值时滤波器的稳态输出;a=1,0,81/100; b=1,0,-1; k=0:20;x=10+10.cos1/2.k+10.cosk; y=filterb,a,xsubplot3,1,1,impzb,a,0:20, subplot3,1,2,dstepb,a,0:20, subplot3,1,3,stemk,y实验三连续时间信号的频域分析一、实验目的1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换3.了解傅里叶变换的MATLAB 实现方法二、实验原理傅里叶变换是信号分析 的最重要的内容之一;从已知信号()f t 求出相应的频谱函数()F j ω的数学表示为:()F j ω()j t f t e dt ω∞--∞=⎰()f t 的傅里叶变换存在的充分条件是()f t 在无限区间内绝对可积,即()f t 满足下式: ()f t dt ∞-∞<∞⎰但上式并非傅里叶变换存在的必要条件;在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换;傅里叶反变换的定义为:1()()2j tf t F j e d ωωωπ∞-∞=⎰; 在这一部分的学习中,大家都体会到了这种数学运算的麻烦;在MATLAB 语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB 中实现;在MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法;1.直接调用专用函数法①在MATLAB 中实现傅里叶变换的函数为: F=fourier f对ft 进行傅里叶变换,其结果为FwF =fourierf,v对ft 进行傅里叶变换,其结果为FvF=fourier f,u,v对fu 进行傅里叶变换,其结果为Fv②傅里叶反变换f=ifourier F 对Fw 进行傅里叶反变换,其结果为fx f=ifourierF,U对Fw 进行傅里叶反变换,其结果为fu f=ifourier F,v,u 对Fv 进行傅里叶反变换,其结果为fu由于MATLAB 中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp 命令;如在命令窗口键入:mhelp fourier 回车,则会得到fourier 的意义和用法; 注意:1在调用函数fourier 及ifourier 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对fourier 中的f 及ifourier 中的F 也要用符号定义符sym 将其说明为符号表达式;2采用fourier 及fourier 得到的返回函数,仍然为符号表达式;在对其作图时要用ezplot 函数,而不能用plot 函数;3fourier 及fourier 函数的应用有很多局限性,如果在返回函数中含有δω等函数,则ezplot 函数也无法作出图来;另外,在用fourier 函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了;这是fourier 函数的一个局限;另一个局限是在很多场合,尽管原时间信号ft 是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值;三、 实验内容1.编程实现求下列信号的幅度频谱1求出1()(21)(21)f t t t εε=+--的频谱函数F1jω,请将它与上面门宽为2的门函数()(1)(1)f t t t εε=+--的频谱进行比较,观察两者的特点,说明两者的关系;f1t 函数程序代码: syms t w;Gt=sym'Heaviside2t+1-Heaviside2t-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; f1t 函数图像: 门函数程序代码: syms t w;Gt=sym'Heavisidet+1-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; 门函数图像:2 三角脉冲21||||1()0||1t t f t t -≤⎧=⎨>⎩程序清单:f2t 函数程序代码:syms t wGt=sym'1+tHeavisidet+1-Heavisidet+1-tHeavisidet-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw;ezplotFFP,-10pi 10pi;grid;axis-10pi 10pi 0 ;f2t 函数图像:3 单边指数信号 3()()t f t e t ε-=程序清单:syms t wGt=sym'exp-1theavisidet';Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw; ezplotFFP,-7pi 7pi;grid;axis-7pi 7pi 0信号波形:4 高斯信号23()t f t e -=程序清单:syms t w;Gt=exp-t.^2;Fw=fourierGt,t,wFFP=absFwezplotFw,-30 30;grid;axis-30 30 0 2信号波形:2.利用ifourier 函数求下列频谱函数的傅氏反变换 122()16F j j ωωω=-+ 程序清单:syms t wFw=sym '-j2w/16+w^2';ft=ifourier Fwft=ifourierFw,w,t;运行结果:ft=-jexp-4absxsignx1i222()58()()65j jF jj jωωωωω+-=++syms t wFw=sym'jw^2+5jw-8/jw^2+6jw+5';ft=ifourierFwft=ifourierFw,w,t;运行结果:ft =2pidiracx + piexp-x1i/jsignimag1/j3i/j -piexp-x5i/jsignimag1/j2i/j - piexp-x1i/jsignx3i/j +piexp-x5i/jsignx2i/j/2pi实验四离散信号与系统的时域分析一、实验目的1.学会用MATLAB表示常用离散信号的方法;2.学会用MATLAB实现离散信号卷积的方法;3.学会用MATLAB求解离散系统的单位响应;4.学会用MATLAB求解离散系统的零状态响应;二、实验原理1.离散信号的MATLAB表示表示离散时间信号fk需要两个行向量,一个是表示序号k= ,一个是表示相应函数值f= ,画图命令是stem;2.离散信号的卷积和两个有限长序列f1,f2卷积可调用MATLAB函数conv,调用格式是f=convf1,f2, f是卷积结果,但不显示时间序号,可自编一个函数dconv给出f 和k,并画图;3.离散系统的单位响应MATLAB提供画系统单位响应函数impz,调用格式是impzb,a 式中b和a是表示离散系统的行向量;impzb,a,n 式中b和a是表示离散系统的行向量,时间范围是0~n;impzb,a,n1,n2 时间范围是n1~n2 ;y=impzb,a,n1,n2 由y给出数值序列;4.离散系统的零状态响应MATLAB提供求离散系统零状态响应数值解函数filter,调用格式为filterb,a,x,式中b和a是表示离散系统的向量,x是输入序列非零样值点行向量,输出向量序号同x一样;三、上机实验内容1.验证实验原理中程序离散信号的MATLAB表示例2-1正弦序列信号 正弦序列信号可直接调用MATLAB 函数cos,例)cos(ϕω+k ,当ωπ/2是整数或分数时,才是周期信号;画)8/cos(ϕπ+k ,)2cos(k 波形程序是:k=0:40;subplot2,1,1stemk,coskpi/8,'filled'title'coskpi/8'subplot2,1,2stemk,cos2k,'filled'title'cos2k'2.已知)2(2)1(3)()2()1(2)(2-+-+=-+--k f k f k f k y k y k y ,画单位响应波形;a=2,-2,1;b=1,3,2;impzb,aimpzb,a,60impzb,a,-10:403.已知)()2(25.0)1()(k f k y k y k y =-+-+,输入)()(k t f ε=,画输出波形,范围0~15;a=1 1 ;b=1 ;t=0:15;x=t;y=filterb,a,xsubplot2,1,1stemt,xtitle'输入序列'subplot2,1,2stemt,ytitle'响应序列'实验五 连续信号与系统的S 域分析一、实验目的1. 熟悉拉普拉斯变换的原理及性质2. 熟悉常见信号的拉氏变换3. 了解正/反拉氏变换的MATLAB 实现方法和利用MATLAB 绘制三维曲面图的方法4. 了解信号的零极点分布对信号拉氏变换曲面图的影响及续信号的拉氏变换与傅氏变换的关系二、实验原理拉普拉斯变换是分析连续时间信号的重要手段;对于当t ∞时信号的幅值不衰减的时间信号,即在ft 不满足绝对可积的条件时,其傅里叶变换可能不存在,但此时可以用拉氏变换法来分析它们;连续时间信号ft 的单边拉普拉斯变换Fs 的定义为: 拉氏反变换的定义为:1()()2j st j f t F s e ds j σωσωπ+-=⎰显然,上式中Fs 是复变量s 的复变函数,为了便于理解和分析Fs 随s 的变化规律,我们将Fs 写成模及相位的形式:()()()j s F s F s e ϕ=;其中,|Fs|为复信号Fs 的模,而()s ϕ为Fs 的相位;由于复变量s=σ+jω,如果以σ为横坐标实轴,jω为纵坐标虚轴,这样,复变量s 就成为一个复平面,我们称之为s 平面;从三维几何空间的角度来看,|()|F s 和()s ϕ分别对应着复平面上的两个曲面,如果绘出它们的三维曲面图,就可以直观地分析连续信号的拉氏变换Fs 随复变量s 的变化情况,在MATLAB 语言中有专门对信号进行正反拉氏变换的函数,并且利用 MATLAB 的三维绘图功能很容易画出漂亮的三维曲面图;①在MATLAB 中实现拉氏变换的函数为:F=laplace f 对ft 进行拉氏变换,其结果为FsF=laplace f,v对ft 进行拉氏变换,其结果为FvF=laplace f,u,v对fu 进行拉氏变换,其结果为Fv②拉氏反变换f=ilaplace F对Fs 进行拉氏反变换,其结果为ftf=ilaplaceF,u 对Fw 进行拉氏反变换,其结果为fuf=ilaplaceF,v,u 对Fv 进行拉氏反变换,其结果为fu注意: 在调用函数laplace 及ilaplace 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对laplace 中的f 及ilaplace 中的F 也要用符号定义符sym 将其说明为符号表达式;三、实验内容1.求出下列函数的拉氏变换式,并用MATLAB 绘制拉氏变换在s 平面的三维曲面图① 3()2()5()t t f t e t e t εε--=+函数程序代码:syms t sft=sym'2exp-tHeavisidet+5exp-3tHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=2/s+1+5/s+3;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:② ()()(2)f t t t εε=--函数程序代码:syms t sft=sym'Heavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:③ 3()sin()()t f t e t t ε-=函数程序代码:syms t sft=sym'exp-3tsintHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s+3^2+1;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:④ []()sin()()(2)f t t t t πεε=--函数程序代码:syms t sft=sym'sinpitHeavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs= pi/s^2+pi^21/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:2. 已知信号的拉氏变换如下,请用MATLAB 画出其三维曲面图,观察其图形特点,说出函数零极点位置与其对应曲面图的关系,并且求出它们所对应的原时间函数f t ①22(3)(3)()(5)(16)s s F s s s -+=-+ 函数程序代码:syms x y ss=x+iy;FFs=2s-3s+3/s-5s^2+16;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym'2s-3s+3/s-5s^2+16'ft=ilaplaceFs原函数:ft = 50cos4t/41 + 32exp5t/41 + 125sin4t/82 ②(1)(3)()(2)(5)s s F s s s s ++=++ 函数程序代码:syms x y ss=x+iy;FFs=s+1s+3/ss+2s+5;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym's+1s+3/ss+2s+5'ft=ilaplaceFs原函数:ft = exp-2t/6 + 8exp-5t/15 + 3/103. 已知连续时间信号[]()s(2)()(4)f t co t t t πεε=--,请分别求出该信号的拉氏变换()F s 及其傅里叶变换()F j ω,并用MATLAB 绘出()F s 的曲面图及振幅频谱()F j ω的波形,观察()F s 的曲面图在虚轴上的剖面图,并将它与信号的振幅频谱曲线进行比较,分析两者的对应关系;1拉氏变换:程序代码:syms t sft=sym'cos2pitHeavisidet-Heavisidet-4';Fs=laplaceft运算结果:Fs=laplaceHeavisidet, t, s-pi2i/2 + laplaceHeavisidet, t, s+pi2i/2 - laplaceHeavisidet - 4, t, s - pi2i/2 - laplaceHeavisidet - 4, t, s + pi2i/22傅里叶变换:程序代码:syms t wGt=sym'cos2pitHeavisidet-Heavisidet-4';Fw=fourierGt运算结果:Fw = fouriercos2pitHeavisidet, t, w - fourierHeavisidet - 4cos2pit, t, w四、总结报告由于平时都是在上课过程中学习理论知识,而这次实验是在理论知识的基础上来进行实验操作,但并是不全是上课时学习的理论知识,也存在许多的新知识;所以对于这次把上课时的理论知识并结合新知识一起应用于实践操作来说是有点困难的; 信号与系统的实验不同于大物实验,一开始说可以多人合作完成的实验,到最后是一个人单独完成;在为数不多的四次实验中,我深深感受到了团队合作在实验中的重要性;在自己对自己写出的代码,运行出现错误的时候,两个人或者多个人对实验的共同理解是实验高效、误差小完成的基础;参考文献:MATLAB应用大全MATLAB无师自通。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 连续和离散时间LTI 系统的响应及卷积
一、实验目的
掌握利用Matlab 工具箱求解连续时间系统的冲激响应、阶跃响应,离散时间系统的单位样值响应,理解卷积概念。

二、实验内容
1、连续时间系统的冲击响应、阶跃响应
a. 利用impulse 函数画出教材P44例2-15: LTI 系统
()3()2()dy t y t x t dt
+=的冲击响应的波形。

a=[ 1 3];
>> b=[2]; >> impulse(b,a);
b. 利用step 函数画出教材P45例2-17: LTI 系统
1''()3'()2()'()2()2
y t y t y t x t x t ++=+的阶跃响应的波形。

a=[1 3 2];
>> b=[0.5 2];
>> step(b,a)
2、离散时间系统的单位样值响应
利用impz函数画出教材P48例2-21:
--+---=的单位样值响应的图形。

[]3[1]3[2][3][]
y n y n y n y n x n
a=[1 -3 3 -1];
>> b=[1];
>> impz(b,a)
3、连续时间信号卷积
画出函数f1(t)=(1+t)[u(t)-u(t-1)]和f2(t)=u(t-1)-u(t-2)的图形,并利用附在后面的sconv.m函数画出卷积积分f1(t)* f2(t)图形。

t=-1:0.01:3;
f1=(1+t).*(0.5*sign(t)-0.5*sign(t-1));
f2=(0.5*sign(t-1)-0.5*sign(t-2));
subplot(2,2,1);
plot(t,f1);
subplot(2,2,2);
plot(t,f2);
sconv(f1,f2,t,t,0.01);
4、画出教材P60例2-28中h[n]、x[n]的图形(图2-14(a)(b)),并利用conv函数求出
卷积x[n]*h[n]并画出图形(图2-14(f))。

n=0:10;
x1=[zeros(1,0),1,zeros(1,10)]+[zeros(1,1),1,zeros(1,9)]+[zeros(1,2),1,zeros(1,8)];
>> stem(n,x1);
n=0:10;
x1=[zeros(1,0),1,zeros(1,10)]+[zeros(1,1),2,zeros(1,9)]+[zeros(1,2),1,zeros(1,8)]; stem(n,x1);
h=[0 1 1 1 0 0 0];
x=[0 1 2 1 0 0 0];
y=conv(h,x);
n=-1:11;
stem(n,y)
附sconv.m函数的程序
function [f,k]=sconv(f1,f2,k1,k2,p)
%计算连续信号卷积积分f(t)=f1(t)*f2(t)
% f: 卷积积分f(t)对应的非零样值向量
% k:f(t)的对应时间向量
% f1: f1(t)非零样值向量
% f2: f2(t)的非零样值向量
% k1: f1(t)的对应时间向量
% k2: f2(t)的对应时间向量
% p:取样时间间隔
f=conv(f1,f2); %计算序列f1与f2的卷积和f
f=f*p;
k0=k1(1)+k2(1); %计算序列f非零样值的起点位置
k3=length(f1)+length(f2)-2; %计算卷积和f的非零样值的宽度
k=k0:p:k3*p; %确定卷积和f非零样值的时间向量
subplot(2,2,1)
plot(k1,f1) %在子图1绘f1(t)时域波形图
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot(2,2,2)
plot(k2,f2) %在子图2绘f2(t)时波形图
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot(2,2,3)
plot(k,f); %画卷积f(t)的时域波形
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h) %将第三个子图的横坐标范围扩为原来的2.5倍title('f(t)=f1(t)*f2(t)')
xlabel('t')
ylabel('f(t)')。

相关文档
最新文档