我们前面讨论了z变换,其实也是为了利用z变换分析LTI系统。

利用z变换得到LTI系统的单位脉冲响应

对于用差分方程描述的LTI系统而言,z变换将十分有用。有如下形式的差分方程:

$\displaystyle{ y[n] = –\sum_{k=1}^{N}\left(\frac{a_k}{a_0}\right)y[n-k]+\sum_{k=0}^{M}\left(\frac{b_k}{a_0}\right)x[n-k] }$

我们可以通过z变换得到上述式子的单位脉冲响应。

等式两边进行z变换

$\begin{align*}
Y(z)
&=z\left\{-\sum_{k=1}^{N} \left( \frac{a_k}{a_0} \right)y[n-k]+\sum_{k=0}^{M}\left(\frac{b_k}{a_0}\right)x[n-k]\right\}\\
&=z\left\{-\sum_{k=1}^{N} \left( \frac{a_k}{a_0} \right)y[n-k]\right\}+z\left\{\sum_{k=0}^{M}\left(\frac{b_k}{a_0}\right)x[n-k]\right\}\quad z\ linearity\ property\\
&=-\sum_{k=1}^{N} \left( \frac{a_k}{a_0} \right)z^{-k}Y(z) + \sum_{k=0}^{M}\left(\frac{b_k}{a_0}\right)z^{-k}X(z) \quad z\ time\ shift\ property\\
\end{align*}$

整理后可以得到

$Y(z)=\left(\frac{\displaystyle{ \sum_{k=0}^{M}b_kz^{-k} }}{\displaystyle{\sum_{k=1}^{N}a_kz^{-k}}} \right )X(z)$

另外,我们知道LTI系统是通过卷积来定义的

$\displaystyle{ y[n] = h[n]*x[n] }$

等式两边进行z变换,可以得到

$Y(z) = H(z)X(z)$

因此有

$H(z) = \frac{\displaystyle{ \sum_{k=0}^{M}b_kz^{-k} }}{\displaystyle{\sum_{k=1}^{N}a_kz^{-k}}}$

我们对$H(z)$进行z逆变换即可得到单位脉冲响应$h[n]$。$H(z)$被称为系统函数

因果LTI系统的一些z变换特性

此外,我们这里讨论的差分方程是因果的,即有

  • 系统满足初始松弛条件,也就是说如果输入为$x[n]=0,n< 0$,有

    $y[-N] = y[-N+1]=\cdot\cdot\cdot=y[-1]=0$
  • 因果LTI系统的单位脉冲响应满足$h[n]=0,n<0$,那么系统函数$H(z)$的收敛域呈现$|z|>R$。

[离散时间信号处理学习笔记] 10. z变换与LTI系统的更多相关文章

  1. [离散时间信号处理学习笔记] 9. z变换性质

    z变换描述 $x[n] \stackrel{\mathcal{Z}}{\longleftrightarrow}X(z) ,\quad ROC=R_x$ 序列$x[n]$经过z变换后得到复变函数$X(z ...

  2. [离散时间信号处理学习笔记] 7. z变换

    z变换及其收敛域 回顾前面的文章,序列$x[n]$的傅里叶变换(实际上是DTFT,由于本书把它叫做序列的傅里叶变换,因此这里以及后面的文章也统一称DTFT为傅里叶变换)被定义为 $X(e^{j\ome ...

  3. [离散时间信号处理学习笔记] 3. 一些基本的LTI系统

    首先我们需要先对离散时间系统进行概念上的回顾: $y[n] = T\{ x[n] \}$ 上面的式子表征了离散时间系统,也就是把输入序列$x[n]$,映射称为$y[n]$的输出序列. 不过上述式子也可 ...

  4. [离散时间信号处理学习笔记] 8. z逆变换

    z逆变换的计算为下面的复数闭合曲线积分: $x[n] = \displaystyle{\frac{1}{2\pi j}}\oint_{C}X(z)z^{n-1}dz$ 式中$C$表示的是收敛域内的一条 ...

  5. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

  6. 《C++ Primer Plus》学习笔记10

    <C++ Primer Plus>学习笔记10 <<<<<<<<<<<<<<<<<&l ...

  7. SQL反模式学习笔记10 取整错误

    目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处 ...

  8. golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息

    golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...

  9. Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息

    </pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...

随机推荐

  1. Java线程安全与锁优化

    线程安全的严谨定义: 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交题执行,也不需要进行额外的同步,或者调用方法进行其他任何操作,调用这个对象的行为都可以或者正确的结果,那么这 ...

  2. 基于vs2015的rdlc报表运行环境部署

    先说明一下,rdlc报表是由visual studio来支持的,不是FM. 本次项目采用的是vs2015开发的,当中使用了ReportViewer报表. 两种方式可以支持开发rdlc报表环境: 1)在 ...

  3. 测试工具使用-Qunit单元测试使用过程

    031302620 应课程要求写一篇单元测试工具的博客,但是暂时没用到java,所以不想使用junit(对各种类都不熟悉的也不好谈什么测试),原计划是要用phpunit,但是安装经历了三个小时,查阅各 ...

  4. Vue-校验props传来的值

    对父组件传来的值进行校验. Vue.component('child',{ props:{ content:{ type:String, required:false, default:'li zha ...

  5. Wechart 饼图

    预览 Preview | Usage Source | Pie Source | Tutorial Wechart by Cax Cax 众所周知 Cax 既能开发游戏.又能开发图表.本文将从饼图开始 ...

  6. python第三章:循环语句--小白博客

    Python条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非 ...

  7. Create a toolwindow for the VBA editor with .NET(C#).

    原始出处:http://www.cnblogs.com/Charltsing/p/VBEtoolwindow.html 最近有人问起使用C#在VBE插件中创建toolwindow的事情,由于VBE窗口 ...

  8. servlet程序HTTP Status 500 - Error instantiating servlet class 解决

    在eclipase 中编译 servlet  但是一致报 HTTP Status 500 - Error instantiating servlet class XXX类 的问题 , 解决方法 1. ...

  9. 使用队列queue实现一个简单的生产者消费者模型

    一.生产者消费者模型 我们去超市商店等地购买商品时,我们大部分人都会说自己是消费者,而超市的各大供货商.工厂等,自然而然地也就成了我们的生产者.如此一来,生产者有了,消费者也有了,那么将二者联系起来的 ...

  10. 一些Cassandra+YCSB异常

    这两天一直在用YCSB.昨天还可以用的YCSB,今天在测试Cassandra时遇到问题了. 环境是在公用局域网的一台debian机器,YCSB和Cassandra都在这台机器上.异常是开始运行YCSB ...