离散时间LTI系统的时域分析(1)

时间:2026-01-14

离散时间LTI系统的时域分析(1)

第3章 离散时间LTI系统的时域分析

3.1 实验目的

学会运用MATLAB求解离散时间系统的零状态响应; 学会运用MATLAB求解离散时间系统的单位取样响应; 学会运用MATLAB求解离散时间系统的卷积和。

3.2 实验原理及实例分析

3.2.1 离散时间系统的响应

离散时间LTI系统可用线性常系数差分方程来描述,即

ay(n i) bx(n j) (3-1)

i

j

i 0

j 0

NM

其中,ai(i 0,1, ,N)和bj(j 0,1, ,M)为实常数。

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

y=filter(b,a,x)

其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。

【实例3-1】 已知某LTI系统的差分方程为

3y(n) 4y(n 1) 2y(n 2) x(n) 2x(n 1)

试用MATLAB命令绘出当激励信号为x(n) (1/2)u(n)时,该系统的零状态响应。

解:MATLAB源程序为

>>a=[3 -4 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)')

n

程序运行结果如图3-1所示。

离散时间LTI系统的时域分析(1)

图3-1 实例3-1系统的零状态响应

3.2.2 离散时间系统的单位取样响应

系统的单位取样响应定义为系统在 (n)激励下系统的零状态响应,用h(n)表示。MATLAB求解单位取样响应可利用函数filter,并将激励设为前面所定义的impDT函数。例如,求解实例13-1中系统的单位取样响应时,MATLAB源程序为

>>a=[3 -4 2]; >>b=[1 2]; >>n=0:30; >>x=impDT(n); >>h=filter(b,a,x); >>stem(n,h,'fill'),grid on

>>xlabel('n'),title('系统单位取样响应h(n)')

程序运行结果如图3-2所示。

图3-2 实例13-1的系统单位取样响应

离散时间LTI系统的时域分析(1)

MATLAB另一种求单位取样响应的方法是利用控制系统工具箱提供的函数impz来实现。impz函数的常用语句格式为

impz(b,a,N)

其中,参数N通常为正整数,代表计算单位取样响应的样值个数。

【实例3-2】 已知某LTI系统的差分方程为

3y(n) 4y(n 1) 2y(n 2) x(n) 2x(n 1)

利用MATLAB的impz函数绘出该系统的单位取样响应。

解:MATLAB源程序为

>>a=[3 -4 2]; >>b=[1 2]; >>n=0:30;

>>impz(b,a,30),grid on

>>title('系统单位取样响应h(n)')

程序运行结果如图3-3所示,比较图3-2和图3-3,不难发现结果相同。

图3-3 系统单位取样响应

3.2.3 离散时间信号的卷积和运算

由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。离散时间信号的卷积定义为

y(n) x(n)*h(n)

m

x(m)h(n m) (3-2)

可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。

MATLAB求离散时间信号卷积和的命令为conv,其语句格式为

y=conv(x,h)

离散时间LTI系统的时域分析(1)

其中,x与h表示离散时间信号值的向量;y为卷积结果,它默认序列从n=0开始。但是如果序列是从一负值开始,即

x(n):nx1 n nx2 h(n):nh1 n nh2

如果nx1<0或nh1<0就不能直接采用conv函数。其卷积结果序列为{y(n):nx1 nh1 n nx2 nh2},这样就可以构成一个新的卷积函数conv_m。如下所示:

function[y,ny]=conv_m(x,nx,h,nh)

ny1=nx(1)+nh(1);ny2=nx(length(x))+nh(length(h)); ny=[ny1:ny2]; y=conv(x,h)

值得注意的是用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。

【实例3-3】 已知某系统的单位取样响应为h n 0.8n u n u n 8 ,试用MATLAB求当激励信号为x(n) u(n) u(n 4)时,系统的零状态响应。

解:MATLAB中可通过卷积求解零状态响应,即x(n)*h(n)。由题意可知,描述h(n)向量的长度至少为8,描述x(n)向量的长度至少为4,因此为了图形完整美观,我们将h(n)向量和x(n)向量加上一些附加的零值。MATLAB源程序为

nx=-1:5; %x(n)向量显示范围(添加了附加的零值) nh=-2:10; %h(n)向量显示范围(添加了附加的零值) x=uDT(nx)-uDT(nx-4);

h=0.8.^nh.*(uDT(nh)-uDT(nh-8)); [y,ny]=conv_m(x,nx,h,nh); subplot(311)

stem(nx,x,'fill'),grid on xlabel('n'),title('x(n)') axis([-4 16 0 3]) subplot(312)

stem(nh,h','fill'),grid on xlabel('n'),title('h(n)') axis([-4 16 0 3]) subplot(313)

stem(ny,y,'fill'),grid on xlabel('n'),title('y(n)=x(n)*h(n)') axis([-4 16 0 3])

离散时间LTI系统的时域分析(1)

程序运行结果如图3-5所示。

图3-5 利用卷积和法求解系统的零状态响应

3.3 编程练习

1.

试用MATLAB命令求解以下离散时间系统的单位取样响应。 (1)3y(n) 4y(n 1) y(n 2) x(n) x(n 1) (2) 2.

已知某系统的单位取样响应为h n () u n u n 10 ,试用MATLAB求当激励

n

5

y(n) 6y(n 1) 10y(n 2) x(n) 2

78

信号为x(n) u(n) u(n 5)时,系统的零状态响应。

离散时间LTI系统的时域分析(1)

第4章 z变换及离散时间LTI系统的z域

分析

4.1 实验目的

学会运用MATLAB求离散时间信号的z变换和 …… 此处隐藏:6794字,全部文档内容请下载后查看。喜欢就下载吧 ……

离散时间LTI系统的时域分析(1).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219