[离散时间信号处理学习笔记] 7. z变换
z变换及其收敛域
回顾前面的文章,序列$x[n]$的傅里叶变换(实际上是DTFT,由于本书把它叫做序列的傅里叶变换,因此这里以及后面的文章也统一称DTFT为傅里叶变换)被定义为
$X(e^{j\omega}) = \displaystyle{ \sum_{n=-\infty}^{\infty}x[n]e^{-j\omega n} }$
序列$x[n]$的z变换被定义成
$X(z) = \displaystyle{ \sum_{n=-\infty}^{\infty}x[n]z^{-n} }$
其中$z$就是一个复数变量,可见$z$变换与傅里叶变换一样把序列变成了函数。复变量$z$可以表示形式$z=|z|e^{j\omega}=re^{j\omega}$,代入z变换变成
$X(z) = \displaystyle{ \sum_{n=-\infty}^{\infty}x[n]r^{-n}e^{-j\omega n} }$
可以发现傅里叶变换就是$r=1$的z变换。

要使得z变换有意义,那么变换所得的函数必须在有限处收敛,即
$\begin{align*}
|X(z)|&= \left|\sum_{n=-\infty}^{\infty}x[n]r^{-n}e^{-j\omega n}\right|\\
&<\sum_{n=-\infty}^{\infty}|x[n]|r^{-n} \\
&=x[0]+ \sum_{n=1}^{\infty}|x[n]|(r^{-1})^n+\sum_{n=1}^{\infty}|x[-n]|r^n <\infty
\end{align*}$
按照root test,需要满足以下条件才能使得函数收敛
$\left\{\begin{matrix}
\displaystyle{ \limsup_{n\to\infty}|x[n]|^{\frac{1}{n}}r^{-1} < 1 }\\
\displaystyle{ \limsup_{n\to\infty}|x[-n]|^{\frac{1}{n}}r < 1 }
\end{matrix}\right.$
即
$\left\{\begin{matrix}
r &> &\displaystyle{\lim_{n\to\infty} |x[n]|^{\frac{1}{n}}} \\
r &< &\displaystyle{\lim_{n\to\infty} |x[-n]|^{\frac{1}{-n}}}
\end{matrix}\right.$
观察上面的不等式,可以发现z变换的收敛可以分为五种
- $x[n]$是右边序列,即序列在$n<N_1<\infty$处全为0,那么该序列的收敛域就是从极点(使得函数趋于$\pm\infty$的点)往外延伸到$z=\pm\infty$
- $x[n]$是左边序列,即序列在$n>N_2>-\infty$处全为0 ,那么该序列的收敛域就是从极点向内延伸至$z=0$
- $x[n]$是双边序列,把该序列分成右边序列与左边序列后,如果这两个序列的z变换的收敛域有重合的部分,则该序列z变换的收敛域呈圆环状
- $x[n]$是双边序列,把该序列分成右边序列与左边序列后,如果这两个序列的z变换的收敛域没有重合的部分,则该序列z变换不存在收敛域
- $x[n]$是有限长序列,那么该序列的z变换必定在有限的范围内收敛

图中阴影部分为收敛域,其中红色圆圈是$|z| = r = 1$,即傅里叶变换,如果z变换的收敛域包含$r=1$的圆圈,就表明该序列的傅里叶变换收敛。
z变换例子
考虑一个为两个实指数和的信号
$x[n] = \left(\frac{1}{2}\right)^n u[n]+\left(-\frac{1}{3}\right)^n u[n]$
其z变换为
$\begin{align*}
X(z) &= \sum_{n=-\infty}^{\infty}\left\{ \left(\frac{1}{2} \right )^n u[n]+\left(-\frac{1}{3} \right )^n u[n] \right \}z^{-n}\\
&=\sum_{n=-\infty}^{\infty}\left(\frac{1}{2} \right )^n u[n]z^{-n}+\sum_{n=-\infty}^{\infty}\left(-\frac{1}{3} \right )^n u[n]z^{-n}\\
&=\sum_{n=0}^{\infty}\left(\frac{1}{2}z^{-1} \right )^n +\sum_{n=0}^{\infty}\left(-\frac{1}{3}z^{-1} \right )^n \\
&=\frac{1}{1-\frac{1}{2}z^{-1}}+\frac{1}{1+\frac{1}{3}z^{-1}} \quad Geometric\ Series\\
&=\frac{2z\left(z-\frac{1}{12} \right )}{\left(z-\frac{1}{2} \right )\left(z+\frac{1}{3} \right )}
\end{align*}$
为了使z变换收敛,必须满足条件
$\left\{\begin{matrix}
\left| \frac{1}{2}z^{-1}\right|&<&1\\
\left| -\frac{1}{3}z^{-1}\right|&<&1
\end{matrix}\right.$
即
$\left\{\begin{matrix}
\left| z\right|&>&\frac{1}{2}\\
\left| z\right|&>&\frac{1}{3}
\end{matrix}\right.$
由此可得到收敛域为$|z|>\frac{1}{2}$。观察z变换的结果,可以发现:
当$z=\frac{1}{2}$或者$z=-\frac{1}{3}$时,z变换趋于无穷,因此这两个点为极点
当$z=0$或者$z=\frac{1}{12}$时,z变换为0,因此这两个点为零点

[离散时间信号处理学习笔记] 7. z变换的更多相关文章
- [离散时间信号处理学习笔记] 10. z变换与LTI系统
我们前面讨论了z变换,其实也是为了利用z变换分析LTI系统. 利用z变换得到LTI系统的单位脉冲响应 对于用差分方程描述的LTI系统而言,z变换将十分有用.有如下形式的差分方程: $\displays ...
- [离散时间信号处理学习笔记] 9. z变换性质
z变换描述 $x[n] \stackrel{\mathcal{Z}}{\longleftrightarrow}X(z) ,\quad ROC=R_x$ 序列$x[n]$经过z变换后得到复变函数$X(z ...
- [离散时间信号处理学习笔记] 8. z逆变换
z逆变换的计算为下面的复数闭合曲线积分: $x[n] = \displaystyle{\frac{1}{2\pi j}}\oint_{C}X(z)z^{n-1}dz$ 式中$C$表示的是收敛域内的一条 ...
- [离散时间信号处理学习笔记] 3. 一些基本的LTI系统
首先我们需要先对离散时间系统进行概念上的回顾: $y[n] = T\{ x[n] \}$ 上面的式子表征了离散时间系统,也就是把输入序列$x[n]$,映射称为$y[n]$的输出序列. 不过上述式子也可 ...
- SharpGL学习笔记(六) 裁剪变换
在OpenGL中,除了视景体定义的6个裁剪平面(上下左右前后)外, 用户还可以定义一个或者多个附加的裁剪平面,以去掉场景中无关的目标. 附加平面裁剪函数原型如下: ClipPlane(OpenGL.G ...
- SharpGL学习笔记(五) 视口变换
视口变换主是将视景体内投影的物体显示到二维的视口平面上. 在计算机图形学中,它的定义是将经过几何变换, 投影变换和裁剪变换后的物体显示于屏幕指定区域内. 前面我们讨论过的透视投影, 正射投影, 它们都 ...
- SharpGL学习笔记(七) OpenGL的变换总结
笔者接触OpenGL最大的困难是: 经常调试一份代码时, 屏幕漆黑一片, 也不知道结果对不对,不知道如何是好! 这其实就是关于OpenGL"变换"的基础概念没有掌握好, 以至于对& ...
- z 变换
1. z 变换 单位脉冲响应为 \(h[n]\) 的离散时间线性时不变系统对复指数输入 \(z^n\) 的响应 \(y[n]\) 为 \[ \tag{1} y[n] = H(z) z^{n}\] 式中 ...
- 数字信号处理--Z变换,傅里叶变换,拉普拉斯变换
傅立叶变换.拉普拉斯变换.Z变换最全攻略 作者:时间:2015-07-19来源:网络 傅立叶变换.拉普拉斯变换.Z变换的联系?他们的本质和区别是什么?为什么要进行这些变换.研究的都是什么? ...
随机推荐
- 《maven in action》部分知识点总结
maven in action 的部分知识点总结 今天又将<maven in action>这本书看了一遍,总结了一下,大概需要的知识点 (一)解耦 使用maven,在没有任何实际的J ...
- IDEA的Maxcomputer Studio开发
一.安装 在IDEA中File > Settings > Plugins中Browse repositories搜索安装即可:MaxCompute Studio 二.开发UDF.UDAF. ...
- 【原创】自己动手写一个能操作redis的客户端
引言 redis大家在项目中经常会使用到.官网也提供了多语言的客户端供大家操作redis,如下图所示 但是,大家有思考过,这些语言操作redis背后的原理么?其实,某些大神会说 只要按照redis的协 ...
- 来,看看MySQL 5.6, 5.7, 8.0的新特性
对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述.下面仅从产品特性的角度梳理其发展过程中的里程碑事件. 1995年,MySQL 1.0发布,仅供内部使用. 1996年,MySQL 3.11 ...
- Item 18: 使用srd::unique_ptr来管理独占所有权的资源
本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 当你需要一个智能指针的时候,std::unique_ptr通常是最 ...
- 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. ...
- leveldb和fork的初始化顺序
我们服务器内用leveldb存一些不是很重要的, 但是又需要(半)持久化的东西. 可是自从2016到现在, 碰见好几次不同类型的死锁. 直到今天, 才发现真正的原因, 那就是leveldb不支持for ...
- JS 原型与原型链
图解: 一.普通对象 跟 函数对象 JavaScript 中,一切皆对象.但对象也有区别,分为 普通对象 跟 函数对象,Object 和 Function 是 JavaScript 自带的函数对象. ...
- CodeIgniter框架对数据库查询结果进行统计
假设有一个user表,如果要查询符合条件sex=male的记录数量,有下面几种方法: 方法一:先取回所有符合条件的记录,再count $res = $this->db->query(&qu ...
- promise-笔记
promise 封装Promise var fs = require('fs') function pReadFile(filePath) { return new Promise(function ...