Z变换解差分方程的思考
问题描述
今日碰到一道差分方程的题目,如下 [
y(n + 2) - cfrac{7}{10}y(n + 1) + cfrac{1}{10}y(n) = 7x(n+2) -2 x(n + 1)
] 已知(x(n) = left(cfrac{1}{2}right)^n u(n) , y(0) = 2, y(1) = 4),求全响应。
一般求解这种题目的思路很清晰,首先根据特征方程求出特征根,从而得出零输入解的形式,但是这个时候给的条件是(y(0))和(y(1)),而不是(y_{zi}(0))和(y_{zi}(1)),这意味着此时我们不能直接得出零输入解的系数。这个时候我们可以求出系统的零状态响应,然后可以得出(y_{zs}(0))和(y_{zs}(1)),然后根据(y_{zi}(0) = y(0) - y_{zs}(0)),(y_{zi}(1) = y(1) - y_{zs}(1)),然后得出零输入响应的系数,然后将零输入响应和零状态响应相加得到全响应。
上面的思路很清晰,但是却是有点麻烦,我们可以根据 [
begin{aligned}
Z{y(n + 2) } &= z^2(Y(z) - y(0) - y(1)z^{-1}) \
Z{y(n + 1) } &= z(Y(z) - y(0))
end{aligned}
] 对上面同时进行(Z)变换 [
z^2(Y(z) - y(0) - y(1)z^{-1}) - cfrac{7}{10}z(Y(z) - y(0)) + cfrac{1}{10}Y(z) = 7z^2X(z) - 2zX(z)
] 上面的式子是我在答案(不一定正确的答案)上看到的,但是你没有发现有没有一丝丝的不对,怎么 [
Z{x(n + 2)} = z^2X(z) neq z^2(X(z) - x(0) - x(1)z^{-1})
] 那么问题来了,哪种是对的呢?
我认为(Z{x(n + 2)} = z^2(X(z) - x(0) - x(1)z^{-1}))是对的。但是我们经常见到好像是(Z{x(n + 2)} = z^2X(z))的形式,这是怎么回事,这是因为在课本上我们见到的都是(y(n - n_0), x(n - n_0))这种后向差分的形式,因为这时做(Z)变换与(x(-n_0))有关,而(x(n) = 0 , n < 0),所以后面就没有长长的"尾巴"。我们将上面的差分方程改写为 [
y(n) - cfrac{7}{10}y(n - 1) + cfrac{1}{10}y(n - 2) = 7x(n) -2 x(n - 1)
] 然后对两边进行(Z)变换得到 [
Y(z) - cfrac{7}{10}z^{-1}(Y(z) + y(-1)z) + cfrac{1}{10}z^{-2}(Y(z) + y(-1)z + y(-2)z^2) = 7X(z) - 2z^{-1}X(z)
] 因为(x(-1) = x(-2) = 0),所以后面就没有"尾巴",然后两边同时乘以(z^2)得到
[
z^2Y(z) - cfrac{7}{10}z(Y(z) + y(-1)z) + cfrac{1}{10}(Y(z) + y(-1)z + y(-2)z^2) = 7z^2X(z) - 2zX(z)
]
求证想法
为了验证我的说法,这里使用最前面提到的方法(分别求零输入和零状态)和上面我的想法求解,看看答案是否一致,如果一致的话,说明我的想法是正确的。
解法一:
由特征方程 [
r^2 - cfrac{7}{10}r + cfrac{1}{10} = (r - cfrac{1}{2})(r - cfrac{1}{5}) = 0 Rightarrow r = cfrac{1}{2},cfrac{1}{5}
]
于是设零输入响应的解为 [
y_{zi}(n) = C_1 left( cfrac{1}{2} right)^nu(n) + C_2 left( cfrac{1}{5} right)^nu(n)
]
由差分方程知 [
H(z) = cfrac{7z^2 - 2z}{(z - cfrac{1}{2})(z - cfrac{1}{5})}
]
又 [
X(z) = cfrac{z}{z - cfrac{1}{2}}
]
故 [
Y(z) = H(z)X(z) = cfrac{z(7z^2 - 2z)}{(z - cfrac{1}{2})^2(z - cfrac{1}{5})} = cfrac{5}{2} cfrac{z}{(z - cfrac{1}{2})^2} + cfrac{25}{3}cfrac{z}{z - cfrac{1}{2}} - cfrac{4}{3} cfrac{z}{z - cfrac{1 大专栏 Z变换解差分方程的思考}{5}}
]
则 [
y_{zs}(n) = 5nleft( cfrac{1}{2} right)^nu(n) + cfrac{25}{3}left( cfrac{1}{2} right)^nu(n) - cfrac{4}{3}left( cfrac{1}{5} right)^nu(n)
]
则 [
begin{aligned}
y_{zi}(0) &= C_1 + C_2 &= y(0) - y_{zs}(0) &= -5 \
y_{zi}(1) &= cfrac{1}{2}C_1 + cfrac{1}{5}C_2 &= y(1) - y_{zs}(1) & = -cfrac{12}{5}
end{aligned}
]
得到 [
C_1 = -cfrac{14}{3} \
C_2 = -cfrac{1}{3}
]
则 [
y_{zi}(n) = -cfrac{14}{3} left( cfrac{1}{2} right)^nu(n) -cfrac{1}{3} left( cfrac{1}{5} right)^nu(n)
]
解法二: [
y(n + 2) - cfrac{7}{10}y(n + 1) + cfrac{1}{10}y(n) = 7x(n+2) -2 x(n + 1)
]
两边同时求(Z)变换 [
z^2(Y(z) - y(0) - y(1)z^{-1}) - cfrac{7}{10}z(Y(z) - y(0)) + cfrac{1}{10}Y(z) = 7z^2(X(z) - x(0) - x(1)z^{-1}) - 2z(X(z) - x(0))
]
得到 [
Y(z) = cfrac{(y(0) - 7x(0))z^2 + (y(1) - cfrac{7}{10} y(0) - 7x(1) + 2x(0))z}{(z - cfrac{1}{2})(z - cfrac{1}{5})} + H(z)X(z)
]
可知 [
Y_{zi}(z) = cfrac{(y(0) - 7x(0))z^2 + (y(1) - cfrac{7}{10} y(0) - 7x(1) + 2x(0))z}{(z - cfrac{1}{2})(z - cfrac{1}{5})} = cfrac{-5z^2 + cfrac{11}{10}z}{(z - cfrac{1}{2})(z - cfrac{1}{5})} = -cfrac{14}{3}cfrac{z}{z - cfrac{1}{2}} - cfrac{1}{3}cfrac{z}{z - cfrac{1}{5}}
]
所以 [
y_{zi}(n) = -cfrac{14}{3} left( cfrac{1}{2} right)^nu(n) -cfrac{1}{3} left( cfrac{1}{5} right)^nu(n)
]
同第一种解法一样,所以我的想法是正确的(小声BB答案错了)。
总结
其实根据题目给的初始条件不同,我们的解法也不相同,这里总结一下如果给出不同的初始条件应当采取什么解法(以二阶为例):
给出(y(0), y(1)),就是我上面提到的情况,有两种方法
- 分别求零输入响应和零状态响应,此时零输入响应的系数需要求出零状态响应后才能知道
- 直接进行(Z)变换
给出(y_{zi}(0), y_{zi}(1)),同样也有两种方法,不过与上面有所不同(实际上是简单了)
- 分别求零输入响应和零状态响应,此时由于直接给出了(y_{zi}(0), y_{zi}(1)),所以可以直接求出零输入响应的系数
- 直接进行(Z)变换,此时的形式与上面又有所不同,这时不是
[
z^2(Y(z) - y(0) - y(1)z^{-1}) - cfrac{7}{10}z(Y(z) - y(0)) + cfrac{1}{10}Y(z) = 7z^2(X(z) - x(0) - x(1)z^{-1}) - 2z(X(z) - x(0))
]而是 [
z^2(Y(z) - y_{zi}(0) - y_{zi}(1)z^{-1}) - cfrac{7}{10}z(Y(z) - y_{zi}(0)) + cfrac{1}{10}Y(z) = 7z^2X(z) - 2zX(z)
]给出(y(-2), y(-1)),同样两种解法,因为(y_{zs}(-2) = y_{zs}(-1) = 0),所以(y_{zi}(-2) = y(-2), y_{zi}(-1) = y(-1)),这时同第二种情况是一样的了
分别求零输入响应和零状态响应,过程同第二种情况一样
直接进行(Z)变换,此时的形式为 [
Y(z) - cfrac{7}{10}z^{-1}(Y(z) + y(-1)z) + cfrac{1}{10}z^{-2}(Y(z) + y(-1)z + y(-2)z^2) = 7X(z) - 2z^{-1}X(z)
]
给出(y(-1), y(0)),这时我们可以将值代入方程迭代处(y(1))从而转变为第一种情况,或者迭代出(y(-2))转变为第三种情况。鉴于求解的复杂性,最好迭代出(y(-2))
Z变换解差分方程的思考的更多相关文章
- 数字信号处理--Z变换,傅里叶变换,拉普拉斯变换
傅立叶变换.拉普拉斯变换.Z变换最全攻略 作者:时间:2015-07-19来源:网络 傅立叶变换.拉普拉斯变换.Z变换的联系?他们的本质和区别是什么?为什么要进行这些变换.研究的都是什么? ...
- 【转】傅里叶变换 拉普拉斯变 z变换 DFT DCT意义
傅里叶变换在物理学.数论.组合数学.信号处理.概率论.统计学.密码学.声学.光学.海洋学.结构动力学等领域都有着广泛的应用(例如在信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量). ...
- [离散时间信号处理学习笔记] 10. z变换与LTI系统
我们前面讨论了z变换,其实也是为了利用z变换分析LTI系统. 利用z变换得到LTI系统的单位脉冲响应 对于用差分方程描述的LTI系统而言,z变换将十分有用.有如下形式的差分方程: $\displays ...
- z 变换
1. z 变换 单位脉冲响应为 \(h[n]\) 的离散时间线性时不变系统对复指数输入 \(z^n\) 的响应 \(y[n]\) 为 \[ \tag{1} y[n] = H(z) z^{n}\] 式中 ...
- 16 Z变换
Z变换 由于\(DTFT\)变换是有收敛条件的,并且其收敛条件比较严格,很多信号不能够满足条件,为了有效的分析信号,需要放宽收敛的条件,引入\(Z\)变换. 定义 已知序列的\(DTFT\)为 \[ ...
- z变换
---恢复内容开始--- z变换作用很大 将离散信号从时间域转到频率域 网址 ---恢复内容结束--- z变换作用很大 将离散信号从时间域转到频率域 网址 http://stackoverflow.c ...
- 常用函数的DTFT变换对和z变换对
直接从书上抓图的,为以后查表方便 1.DTFT 2.z变换对
- [离散时间信号处理学习笔记] 9. z变换性质
z变换描述 $x[n] \stackrel{\mathcal{Z}}{\longleftrightarrow}X(z) ,\quad ROC=R_x$ 序列$x[n]$经过z变换后得到复变函数$X(z ...
- [离散时间信号处理学习笔记] 7. z变换
z变换及其收敛域 回顾前面的文章,序列$x[n]$的傅里叶变换(实际上是DTFT,由于本书把它叫做序列的傅里叶变换,因此这里以及后面的文章也统一称DTFT为傅里叶变换)被定义为 $X(e^{j\ome ...
随机推荐
- 吴裕雄--天生自然Django框架开发笔记:Django 创建第一个项目
Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 可以来看下django-admin ...
- HTTP协议(二):作用
前言 上一节我们简单介绍了一下TCP/IP协议族的基本情况,知道了四大层的职责,也了解到我们这一族的家族成员以及他们的能力. 无良作者把我这个主角变成了配角,让我很不爽,好在我打了作者一顿,没错,这次 ...
- JZOJ-2019-11-7 A组
T1 Input 从文件 awesome.in 中读入数据. 第一行 2 个用空格隔开的整数 \(n\), \(P\). 第二行 n 个用空格隔开的整数 \(A_1, \cdots , A_n\). ...
- APP测试关注的点 - 笔记
来源公开课笔记!!! 1.黑盒测试 是否正确并如设计的一样正常运行.测试自动化回归测试 2.测试主要关注参数: CPU.内存.耗电量.流量.FRS(流畅度).同时关注APP安装耗时和启动耗时 3.适配 ...
- URL&HTTP协议详解
本文来自公开课笔记,主要做知识的记录,谢谢! ·接口测试核心技术--URL&HTTP协议详解. ·URL: 统一资源定位符. 示例: https://ke.qq.com/course/3157 ...
- Maven:Failure executing javac, but could not parse the error:javac: 无效的目标发行版: 1.8
eclipse中对着项目maven——>>maven install时出现错误:Failure executing javac, but could not parse the error ...
- delphi 单例模式
unit Singleton; (* 单例模式适用于辅助类, 一般伴随于单元的生命周期 *) interface uses SysUtils; type TSingleton = class publ ...
- 最短路——迪杰斯特拉算法 HDU_3790
初识最短路,今天只弄了一个迪杰斯特拉算法,而且还没弄成熟,只会最基本的O(n^2),想弄个优先队列都发现尼玛被坑爆了,那个不应该用迪杰斯特拉算法写 表示还是不会优化版的迪杰斯特拉算法,(使用优先队列) ...
- HDU_2256 矩阵快速幂 需推算
最近开始由线段树转移新的内容,线段树学到扫描线这里有点迷迷糊糊的,有时候放一放可能会好一些. 最近突然对各种数学问题很感兴趣.好好钻研了一下矩阵快速幂.发现矩阵真是个计算神器,累乘类的运算原本要O(N ...
- 干货 | AI人脸识别之人脸搜索
本文档将利用京东云AI SDK来实践人脸识别中的人脸搜索功能,主要涉及到分组创建/删除.分组列表获取.人脸创建/删除.人脸搜索,本次实操的最终效果是:创建一个人脸库,拿一张图片在人脸库中搜索出相似度最 ...