• 沒有找到結果。

2. 7 LTI系统的 Ma t l ab求解与仿真

在文檔中 信 号 与 系 统 (頁 79-92)

= x[n]-

N

k=1

ak[n-k   

] a0 (2-101)

由于该方程为 N 阶差分方程,故需要 N 个延时器,可将 w[n] 作 为 加 法 器 的 输 出, 则 根据式(2-101), 可 用 图 2-30 来 表 示 式 (2-99) 所 示 的 离 散 系 统。 各 延 时 器 的 输 出 分 别 为 w[n-1],w[n-2],…,w[n-N],利 用 这 些 信 号,结 合 式(2-100) 的 关 系, 可 由 图 2-30

中各延时器的输出和 w[n] 来 组 合 成 式 (2-98) 所 描 述 系 统 的 输 出 响 应 y[n]。 根 据 上 述 讨 论,一个 N 阶离散系统 的 模 拟 框 图 如 图 2-31 所 示。 同 样, 对 于 离 散 时 间 LTI系 统, 其 N 个延时器的输出w[n-k](k=1,2,…,N) 可作为离散系统的 N 个独立系统状态变量。

图2-30 式(2-99) 所描述离散 时间系统的模拟框图

图2-31 N 阶离散系统的模拟框图

对于式(2-98) 所示的离散系统,如满足ak=0(k≠0),则可表示为 y[n]=

N

k=0

bk

( )

a0 x[n-k] 2-102)

其单位脉冲 (样值) 响应是

h[n]=

bn

a0

,0≤n≤N 0,

   

  其他

注意到,它的单位样值响应是有限时长的,也就是说,仅仅在一个有限的时间间隔内是 非零。由于这个特点,将 式 (2-102) 所 表 征 的 系 统 称 为 有 限 冲 激 响 应 FIR 系 统。 当 不 满 足 ak=0(k≠0)时,图2-31所示的系统中存 在 着 反 馈 系 数ak, 此 时, 系 统 的 单 位 冲 激 响 应 是

无限时长的,因此,这类系统通称为无限冲激响应IIR 系统。

2. 7 LTI系统的 Ma t l ab求解与仿真

2. 7. 1 连续时间 LT l系统的求解

在 Matlab中,控制系统工具箱提供了一组用于求解常系数线性微分方程数值解的函数。

(1) 求解零状态响应、单位冲激响应和单位阶跃响应的数值解 求解零状态响应数值解的函数lsim() 的调用形式为

yzs(t)=lsim(sys,x,t)

单位冲激响应数值解的函数impulse() 的调用形式为 h(t)=impulse(sys,t)

单位阶跃响应数值解的函数step() 的调用形式为 s(t)=step(sys,t)

以上各式中,t表示时 间 的 抽 样 点 向 量,x 是 输 入 信 号 的 样 值 向 量,sys是 系 统 模 型。在 求 解常系数线性微分方程时,LTI的系统模型sys要借助 Matlab中的tf() 函数来获得:

sys=tf(b,a)

式中,b和a 分别为常系数微分方程右端和左端各项的系数向量。

例如,sys=tf([2 1 3],[1 3 2])可表示下列常系数线性微分方程的模型 d2 y(t)

dt2 +3dy(t)

dt +2y(t)=2d2 x(t)

dt2 +dx(t)

dt +3x(t)

【例2-20】 求解方程 d2 y(t)

dt2 +4dy(t)

dt +3y(t)=dx(t)

dt +3x(t),x(t)=e-tu(t)

的零状态响应、单位冲激响应和单位阶跃响应。

解 计算零状态响应、单位冲激响应和单位阶跃响应的源程序如下。

%Program2.1NumericalSolution of Linear Constant-Coefficient DifferentialEquations ts=0;te=10;dt=0.01;

sys=tf([1 3],[1 4 3]);

t=ts∶dt∶te;

x=exp(-1*t);

h=impulse(sys,t);%计算单位冲激响应 s=step(sys,t); %计算单位阶跃响应 y=lsim(sys,x,t); %计算零状态响应

subplot(3,1,1);plot(t,h);xlabel('t(sec)');ylabel('h(t)');axis([t(1)t(length(t)) -1 1]);

grid on;

subplot(3,1,2);plot(t,s);xlabel('t(sec)');ylabel('s(t)');axis([t(1)t(length(t))0 1.5]);

grid on;

subplot(3,1,3);plot(t,y);xlabel('t(sec)');ylabel('y(t)');axis([t(1)t(length(t)) -0.5 1]);

grid on;

运行结果如图2-32所示。

图2-32 例2-20的运行结果图

(2) 零输入响应的数值求解

编写recur() 函数用于求解连续时间 LTI系统响应的数值解。recur() 的调用形式为 y[n]=recur(c,d,n,x,X0,Y0),n≥2

式中,c和 d分别为差分方程左端 (第一项 系 数 恒 为 1, 系 数 向 量 从 第 二 项 算 起) 和 右 端 各 项的系数向量,n表示离散时间向量,x是输入信号的样值向量,X0和 Y0是差分输入信号 和输出信号的初始值向量。recur函数可以求差分方程的全解,其源程序如下。

% Solution of Linear Constant-Coefficient Difference EquationsforzeroInput Response function y=recur(c,d,n,x,X0,Y0);

N=length(c);M=length(d)-1;

y=[Y0zeros(1,length(n))];x=[X0x];

a1=c(length(c):-1∶1); % reversestheelementsinc b1=d(length(d):-1∶1); % reversestheelementsin d fori=N+1:N+length(n),

y(i)=-a1*y(i-N:i-1)'+b1*x(i-N:i-N+M)';

end

y=y(N+1:N+length(n));

要利用recur() 函数来求解连 续 时 间 LTI系 统 的 零 输 入 响 应, 首 先 必 须 将 需 要 求 解 的 常系数线性微分方程离散化为一差分方程,然后用recur() 函数通过求解对应差分方 程 的 零 输入响应来获得该常系数线性微分方程的零输入响应。

考虑某二阶常系数线性微分方程 d2 y(t)

dt2 +a1dy(t)

dt +a0y(t)=x(t)

其零输入响应对应的方程为 (输入信号为零)

d2 y(t)

dt2 +a1dy(t)

dt +a0y(t)=0

设离散时间为t=nT,式中,T 为时间抽样间隔,T 越小计算精度越高。因此,可以将 一阶和二阶微分近似表示为

dy(t)

dt t=nT=y(nT+T)-y(nT)

T d2 y(t)

dt2 t=nT= dy(t)

dt t=nT+T-dy(t)

dt t=nT

T =y(nT+2T)-2y(nT+T)+y(nT)

T2

因此,二阶常系数线性微分方程可近似表示为以下差分方程 y[n+2]-2y[n+1]+y[n]

T2 +a1y[n+1]-y[n]

T +a0y[n]=0 式中,y[n]=y(nT),n 用n-2代替,上述差分方程可进一步表示为

y[n]+(a1T-2)y[n-1]+(1-a1T+a0T2)y[n-2]=0 求解该差分方程,必须知道初始值y[0] 和y[1],它们可通过以下计算式获得

y[0]=y(0+)=y(0-)

˙y(0)=y(T)-y(0)

T

y[1]=y(T)=y(0)+T˙y(0)=y(0)+T˙y(0+)=y(0)+T˙y(0-)

【例2-21】 求解下列方程的零输入响应yzi(t)。

d2 y(t)

dt2 +4dy(t)

dt +3y(t)=x(t),y(0-)=1,˙y(0-)=2 解 计算零输入响应、单位冲激响应和单位阶跃响应的源程序如下。

图2-33 例2-21的运行结果图

%Program2.2NumericalSolution of Linear

%Constant-Coefficient DifferentialEquationsfor

%ZeroInput Response T=0.05;

Y0=[1 1+2*T];

n=2:100;

c=[4*T-2 1-4*T+3*T^2];d=[1];

f=0*n;

y1=recur(c,d,n,f,0,Y0);

y=[Y0 y1];t=0∶T∶(length(n)+1)*T;

plot(t,y);xlabel('t(sec)');ylabel('y(t)');

axis([t(1)t(length(t)) -0.5 1.5]);grid on;

运行结果如图2-33所示。

2. 7. 2 离散时间 LT l系统的求解

在 Matlab系统中,信号处理工具箱提供了一组 用 于 求 解 常 系 数 线 性 差 分 方 程 数 值 解 的 函数。

求解零状态响应、零输入响应、单位冲激响应和单位阶跃响应。

求解零输入响应可以用recur() 函数,其调用形式为 (见2.7.1节)

yzs[n]=recur(c,d,n,0,0,Y0),n≥2,其中输入信号的初始值为零 求解零状态响应函数filter() 的调用形式为

yzs[n]=filter(b,a,x)

求解单位冲激响应函数impz()的调用形式为 h[n]=impz(b,a,n)

求解单位阶跃响应函数stepz() 的调用形式为 s[n]=stepz(b,a,k)

求全响应可以用recur() 函数,其调用形式为 (见2.7.1节)

yzs[n]=recur(c,d,n,x,X0,Y0),n≥2

以上式中,n表示离散时间向量 (信号的 取 值 范 围),f是 输 入 信 号 的 样 值 向 量,b 和 a 分别为常系数差分方程右端和左端各项的系数向量。

【例2-22】 求解以下差 分 方 程 的 零 状 态 响 应、零 输 入 响 应、单 位 冲 激 响 应 和 单 位 阶 跃 响应。

y[n]+5

6y[n-1]+1

6y[n-2]=5x[n]-x[n-2]

x[n]=

( )

12 nu[n], y[-1]=4, y[-2]=2 解 计算零状态响应、零输入响应、单位冲激响应的源程序如下。

%Program2.3Solution of Linear Constant-Coefficient Difference Equations a=[1 5/6 1/6];b=[5 0-1];c=[5/6 1/6];d=[5 0 -1];

n1=2:10;

n=0:length(n1)-1;

x=(1/2).^(n1-2);% 为方便起见,将实际的 n=-2时刻,作为计算时的零时刻 x1=0*n1;%输入信号等于0,用于计算零输入响应

Y0=[2 4];%将实际的 n=-2时刻作为计算时的零时刻后,原来的起始条件就转化为

%初始条件

X0=[0 0];%信号的起始条件转化为初试条件 h=impz(b,a,n); %计算单位冲激响应

x2=(1/2).^n;

yzs=filter(b,a,x2); %计算零状态响应

yzi=recur(c,d,n1,x1,X0,Y0); %计算零输入响应 y=recur(c,d,n1,x,X0,Y0); %计算全响应

subplot(4,1,1);stem(n,h);xlabel('n');ylabel('冲激响应');grid on;

subplot(4,1,2);stem(n,yzs);xlabel('n');ylabel('零状态响应');grid on;

subplot(4,1,3);stem(n1-2,yzi);xlabel('n');ylabel('零输入响应');grid on;

subplot(4,1,4);stem(n1-2,y);xlabel('n');ylabel('全响应');grid on;

运行结果如图2-34所示。

图2-34 例2-22的运行结果图 图2-35 例2-23的运行结果图

2. 7. 3 卷积计算

(1) 离散时间卷积和计算

Matlab系统中的信号处理工具箱提供了一个计算离散时间卷积和的函数 y=conv(x,h)

其中 x,h分别为两输入信号的向量表示,y为卷积结果的向量。

【例2-23】 已知:x[n]=(0.5)nu[n],h[n]=(0.8)nu[n];求y[n]=x[n]*h[n]。

解 计算卷积和的源程序如下。

% Convolution of Two Discrete-Time Signals n=0:100;

x=(1/2).^n;

h=(0.8).^n;

y=conv(x,h);

subplot(3,1,1);stem(n,x);xlabel('n');ylabel('x[n]');axis([0 20 0 1.5]);grid on;

subplot(3,1,2);stem(n,h);xlabel('n');ylabel('h[n]');axis([0 20 0 1.5]);grid on;

subplot(3,1,3);stem (0:length(y)-1,y);xlabel('n');ylabel('x[n]*h[n]');axis

([0 20 0 1.5]);grid on;

运行结果如图2-35所示。

(2) 连续时间卷积积分的数值计算

可以通过 数 值 计 算 方 法, 利 用 Matlab 中 的 函 数 conv(x,h) 近 似 计 算 连 续 时 间 卷 积 积分。

取一时间间隔 T,将连续时间卷积积分

y(t)=

-∞ x(τ)h(t-τ)dτ

表示为

y(t)= … +

-i-iT+TT x(τ)h(t-τ)dτ+ … +

-T-2Tx(τ)h(t-τ)dτ+

0-Tx(τ)h(t-τ)dτ

T0x(τ)h(t-τ)dτ+

2TTx(τ)h(t-τ)dτ+ … +

iiT+TT x(τ)h(t-τ)dτ+ …

i=-∞

iiT+TT x(τ)h(t-τ)dτ 2-103)

如时间间隔 T 足够小,可得到如下的近似关系

x(τ)=x(iT), iT≤τ<iT+T

h(t-τ)=h(t-iT), iT≤τ<iT+T (2-104)

将上式代入式(2-103)

y(nT)=

i=-∞

iiT+TT x(τ)h(nT -τ)dτ =

i=-∞

∫ (

iiT+TT dτ x(

iT)h(nT -iT)

i=-∞

Tx(iT)h(nT -iT)=

i=-∞

x(iT)Th(nT -iT)

i=-∞

x[i]h1[n-i]=x[n]*h1[n] (2-105)

上式中x[n]=x(nT),h1[n]=T·h(nT)。式(2-105) 为 连续时间 卷 积 积 分 的 数 值 计 算 公式,它近似地表示在t=nT 时刻点上的卷积积分值,T 越小计算精度越高。

【例2-24】 计算两矩形窗信号的卷积。

解 计算卷积和的源程序如下

图2-36 例2-24的运行结果图

% Convolution of Two Continuous-Time Signals T=0.01;t=-2∶T∶5;L=length(t);

h=2*0.5*((sign(t+1)+1)-(sign(t-1)+1));

x=0.5*((sign(t)+1)-(sign(t-3)+1)); y=conv(T*h,x);t1=-4:T:10;

subplot(3,1,1);plot(t,x);xlabel('t');ylabel

('x(t)');axis([-2 5 0 1.5]);

subplot(3,1,2);plot(t,h);xlabel('t');ylabel

('h(t)');axis([-2 5 0 2.5]);

subplot(3,1,3);plot(t1,y);xlabel('t');ylabel('y

(t)');axis([-2 5 -1 5]);

运行结果如图2-36所示。

2. 7. 4 LT l系统的仿真

利用2.6节所讨论的 LTI系统的框图表 示方 法, 用 Matlab 的 Simulink 工 具 箱 可 实 现对 LTI系 统 的 仿 真, 具 体 方 法 由 以 下 两 个例子来说明。

【例2-25】 试用 Matlab仿真例2-12所讨论的 LC 并联电路,如图2-37所示。

解 LC 并联电路的方程为 d2

dt2v(t)+1 RC

d

dtv(t)+1

LCv(t)=1 RC

d dte(t)

该方程可表示为 图 2-38 所 示 的 模 拟 框 图。 该 模 拟 框 图 的 仿 真 可 用 基 于 框 图 的 工 具 箱 Simulink实现。取1/RC=1,1/LC=10,e(t)=u(t), 图 2-39给 出 了 实 现 例 2-25中 并 联 谐

振电路的 Simulink仿真框图,图2-40是仿真的结果。

图2-37 例2-25所讨论的 LC 并联电路 图2-38 LC 并联电路的模拟框图

图2-39 例2-25中 LC 并联电路的 Simulink仿真框图 图2-40 例2-25的仿真结果

【例2-26】 试用 Matlab的 Simulink工具箱仿真以下离散系统 y[n]-5

6y[n-1]+1

6y[n-2]=x[n]+1

4x[n-1], x[n]=δ[n]

解 根据离散系统的模拟框图表示方法,图2-41为实现该离 散系统的 Simulink 仿 真 框 图,图2-42是仿真的运行结果。

图2-41 例2-26的 Simulink仿真框图

图2-42 例2-26的仿真结果

习题2

2-1 求下列各函数 x(t) 与h(t) 的卷积 x(t)*h(t)。

1)x(t)=e-at u(t),h(t)=u(t),a≠0;

2)x(t)=δ(t),h(t)=cosω0t+sinω0t;

3)x(t)=(1+t)u(t)-u(t-1) ,h(t)=u(t)-u(t-2);

4)x(t)=sin2t·u(t),h(t)=u(t);

5)x(t)=u(t)-2u(t-2)+u(t-4),h(t)=e2t

6)x(t)和h(t)如图2-43所示。

图2-43 题2-1图 2-2 求下列离散序列 x[n] 与h[n] 的卷积和。

1)x[n]=nu[n],h[n]=δ[n-2];

2)x[n]=2nu[n],h[n]=u[n];

3)x[n]=2nu[-n-1],h[n]=(1

2nu[n-1];

4)x[n]=anu[n],h[n]=βnu[n],a≠β;

5)x[n]=(-1)nu[-n]-u[-n-8]),h[n]=u[n]-u[n-8]。

2-3 已知 x1t)=u(t+1)-u(t-1),x2t)=δ(t+5)+δ(t-5),x3t)=δ(t+1

2)+δ(t-1 2), 画 出 下列各卷积波形。

1)x1t)*x2t);(2)x1t)*x2t)*x3t);

3)x1t)*x3t)。

2-4 设y(t)=e-tu(t)*

k=-∞

δ(t-3k),证明y(t)=Ae-t,0≤t<3,并求 A 值。

2-5 求图2-44所示信号 x(t) 与h(t) 的卷积,并用图解的方法画出 x(t)*h(t) 的波形。

图2-44 题2-5图 2-6 计算图2-45 所示信号 x[n] 和h[n] 的卷积和。

2-7 考虑一个离散时间 LTI系统,其单位样值 (脉冲) 响应为 h[n]=

( )

12

n

u[n]

1) 求A 以满足h[n]-Ah[n-1]=δ[n]

2) 利用 (1) 的结果,求该系统的逆系统的单位样值 (脉冲) 响应;

3) 利用 (2) 的结果,结合卷积性质,求一信号x[n],使之满足 x[n]*h[n]=2n u[n]-u[n-4

2-8 某 LTI系统的单位冲激响应为h0t),当输入为x0t)时,系统对x0t)的响应为y0t)=x0t)*h(t)

(如图2-46所示)。现给出以下各组单位冲激响应h(t) 和输 入 x(t), 分 别 求 y(t)=x(t)*h(t) (用 y0t)

表示),并画出y(t) 的波形图。

图2-45 题2-6图

图2-46 题2-8图

1)x(t)=3x0t),h(t)=h0t);

2)x(t)=x0t)-x0t-2),h(t)=h0t);

3)x(t)=x0t-2),h(t)=h0t+1);

4)x(t)=x0(-t),h(t)=h0(-t);

5)x(t)=dx0t)

dt h(t)=h(t);

6)x(t)=dx0t)

dt h(t)=dh(t)

dt

2-9 对图2-47所示两个 LTI系统的级联,已知

h1n]=αnu[n]+βnu[n],α|<1,β|<1,α≠β h2n]=(-1

2nu[n]

输入 x[n]=δ[n]+1

2δ[n-1]

求输出 y[n]=x[n]*h1n]*h2n]

xn h1n w[n

h2n yn 图2-47 题2-9图

2-10 求y[n]=x1n]*x2n]*x3n],其中 x1n]=(0.5)nu[n],x2n]=u[n+3]和 x3n]=δ[ n]-δ[n-1]。

1) 求卷积x1n]*x2n]; (2) 求卷积x1n]*x2n]*x3n];

3) 求卷积x2n]*x3n]。

2-11 对图2-48所示的 LTI系统的互联

1) 用h1n],h2n],h3n],h4n] 和h5n] 表示总的单位冲激响应h[n];

2) 当h1n]=4(1

2n u[n]-u[n-3] ,h 2n]=h3n]= (n+1)u[n],h4n]=δ[n-1],h5n]=

δ[n]-4δ[n-3],求单位冲激响应h[n];

3)x[n] 如图2-49所示,求 (2) 中所给系统的响应,并画出响应的波形图。

2-12 考虑一个 LTI系统,其输入和输出关系通过如下方程联系

图2-48 题2-11图1 y(t)=∫t- ∞e-(t-τ)x(τ-2)dτ

1) 求该系统的单位冲激响应;

2) 当输入如图2-50所示时,求系统的响应。

图2-49 题2-11图2 图2-50 题2-12图

2-13 图2-51 所示级联系统,各子系统的冲激响应分别为h1t)=u(t)(积分器),h2t)=δ(t-1)(单 位延时器),h3t)=-δ(t)(倒相器)。

1) 试求总的系统的冲激响应;

2) 当x(t) 如图2-50所示时,求系统对该信号的响应y(t)。

图2-51 题2-13图

2-14.下面均为连续时间 LTI系 统 的 单 位 冲 激 响 应, 试 判 定 每 个 系 统 是 否 因 果 和/或 稳 定 的, 陈 述 理由。

1)h(t)=e-4tu(t-2); (2)h(t)=e-6tu(3-t);

3)h(t)=e-2tu(t+50); 4)h(t)=e2tu(-1-t);

5)h(t)=e-6 t 6)h(t)=te-tu(t);

7)h(t)= -2e -t-et-100)/100 u(t)。

2-15 下面均为离散时间 LTI系 统 的 单 位 脉 冲 响 应, 试 判 定 每 一 个 系 统 是 否 因 果 和/或 稳 定 的, 陈 述 理由。

1)h[n]=

( )

15

n

u[n]; 2)h[n]=

( )

45

n

u[n+2];

3)h[n]=

( )

12

n

u[-n]; 4)h[n]=5nu[3-n];

5)h[n]= -

( )

12

n

u[n]+(1.01)nu[n-1];

6)h[n]= -

( )

12

n

u[n]+(1.01)nu[1-n];

7)h[n]=n

( )

13

n

u[n-1]。

2-16 判断下面有关 LTI系统的说法是对或是错,并陈述理由。

1) 若h(t) 是一个因果稳定系统的单位冲激响应,则h(t) 满足 lim

t→ + ∞ h(t) =0;

2) 若h(t) 是一个 LTI系统的单位冲激响应,并且h(t) 是周期的且非零,则系统是不稳定的;

3) 一个因果的 LTI系统的逆系统总是因果的;

4) 若 h[n] ≤k (对每一个n),k 为某已知数,则以h[n] 作为单位脉冲响应的 LTI系统是稳定的;

5) 若一离散时间 LTI系统其单位脉冲响应h[n] 为有限长且有界,则系统是稳定的;

6) 若一个 LTI系统是因果的,它就是稳定的;

7) 一个非因果的 LTI系统与一个因果的 LTI系统级联,必定是非因果的;

8) 当且仅当一个连续时间 LTI系统的单位阶跃响应s(t) 是 绝 对 可 积 的, 即

-∞ s(t)dt< ∞ , 则

该系统是稳定的;

9) 当且仅当一个离散 LTI系统的单位阶跃响s[n] 在n<0是零,该系统是因果的。

2-17 已知图2-52(a) 所示连续时间 LTI系统的单位阶跃响应:s1t)=u(t)-2u(t-1)+u(t-2)。 图 2-52(b) 所示系统,如果x(t)=u(t)-u(t-2),求系统响应y(t)=x(t)*h(t),并绘出y(t) 的波形。

图2-52 题2-17图

2-18 已 知 某 连 续 时 间 LTI系 统 , 当 输 入 为 图 2-53(a) 所 示 的x1t) 时 , 输 出 为 图 2-53(b) 所 示 的

2-18 已 知 某 连 续 时 间 LTI系 统 , 当 输 入 为 图 2-53(a) 所 示 的x1t) 时 , 输 出 为 图 2-53(b) 所 示 的

在文檔中 信 号 与 系 统 (頁 79-92)