数字信号处理9:Z变换(1)

news2024/11/15 18:56:50

说实话,这两天看Z变换看的迷迷糊糊的,就觉得它求卷积的时候好用,再剩下的,我怎么感觉用处不大。

首先来说z变换:X(n)\equiv \sum_{n=-\infty}^{n=\infty}x(n)z^{-n},或者简单一点的可以这样子写:X(z)\equiv Z\left\{x(n)\right\},感觉Z变换最重要的一个问题是收敛性,因为Z变换时无限幂级数,而我们要保证它存在,就要使z的值让级数收敛,所以,在使用Z变换的时候,要指明他的收敛域。

对于一个给定的变换,z^{-n}的系数时信号在时间n的值:

假设我们现在有一个信号:x(n)=\left\{1,3,5,7,9,\cdots,\right\},我们就通过Z变换的方法来对这个信号进行转换:x(z)=1+3z^{-1}+5z^{-2}+7z^{-3}+9z^{-4}+\cdots,同时,我们要指明,这个信号序列,他的收敛域时除了z=0以外的整个z平面。

z平面是个复平面,横轴是实部,纵轴是虚部,在通过对X(z)进行分析,以判断其极点、零点,然后就得到了一个z变换的收敛域,注意,z变换的收敛域非常重要,因为,z变换的闭合形式的表达式时不能唯一的表示时域信号的,它所表的的是个很模糊的概念,我们如果要解决这个模糊性,唯一的方法就是在闭合形式的表达式给出后,通过给定收敛域的方式来确定一个信号。简单的理解就是一个离散时间信号时由他的z变换和z变换的收敛域共同决定的。

如果一个无限长双边信号好都有收敛域,那么这个收敛域就是z平面上的环状区域,而信号的收敛域是取决于信号的长的及该信号是否为因果、非因果或者双边信号,而如果说,x(n)是因果信号,那么单边和双边z变换时一样的,但是在其他情况下,可能是不同的。

跟着书上的图,我们来看一下各种信号的收敛域:

信号

收敛域

有限长信号

因果

除z=0外整个z平面

非因果

z=外整个z平面

双边

除z=0和z=外整个z平面

无限长信号

因果

|z|>r

非因果

|z|<r

双边

r2<z<r1

就是说,当你在做z变换的时候,要注意变换的收敛域。


Z变换的性质:

1、线性:

信号的线性组合的z变换和z变换的线性组合时相同的,也就是说,如果一个信号可以认为时多个信号的叠加,我们对这个信号的Z变换和我们对每个信号Z变换之后进行叠加的效果时相同的,但是还是要注意,对每个信号的收敛域要取交集,

2、时移:

公式:

if: x(n)\overset{z}{\leftarrow}\overset{}{\rightarrow}X(z)

then: x(n-k)\leftrightharpoons z^{-k}X(z)

这是我觉得除了卷积以外最有用的性质了。

如果说,若干个信号的线性组合有有限时长,那么其z变换的收敛域是由信号的有限长不知决定的,而不是由各个变换的收敛域决定。

3、尺度变换:

\begin{matrix} if :x(n)\leftrightharpoons X(z),r_1<|z|<r_2\\\ then:a^nx(n)\leftrightharpoons X(a^{-1}z),|a|r_1<|z|<|a|r_2 \end{matrix}

这个很容易理解,你都把时域信号的尺度给变了,z域当然也要跟着变的,没什么好说的。

4、时间反转:

\begin{matrix} if :x(n)\leftrightharpoons X(z),r_1<|z|<r_2\\\ then:x(-n)\leftrightharpoons X(z^{-1}),\frac{1}{r_2}<|z|<\frac{1}{r_1} \end{matrix}

5、z域求导:

\begin{matrix} if :x(n)\leftrightharpoons X(z)\\\ then:nx(n)\leftrightharpoons -z\frac{dX(z)}{dz} \end{matrix}

6、两序列卷积:

这是我觉得最有用的,两个在时域的卷积很麻烦,但是到z域直接将两个z变换相乘即可:

\begin{matrix} if :x_1(n)\leftrightharpoons X_1(z)\\\ and :x_2(n)\leftrightharpoons X_2(z)\\\ then:x(n)=x_1(n)*x_2(n)\leftrightharpoons X(z)=X_1(z)X_2(z)\end{matrix}

7、两序列相关:

\begin{matrix} if :x_1(n)\leftrightharpoons X_1(z)\\\ and :x_2(n)\leftrightharpoons X_2(z)\\\ then:r_{x_1x_2}(l)=\sum_{n=-\infty}^{\infty}x_1(n)x_2(n-l)\leftrightharpoons R_{x_1x_2}(z)=X_1(z)X_2(z^{-1})\end{matrix}

其实从这里,你也能大致的知道自相关怎么计算。

8、两序列相乘:

\begin{matrix} if :x_1(n)\leftrightharpoons X_1(z)\\\ and :x_2(n)\leftrightharpoons X_2(z)\\\ then:x(n)=x_1(n)x_2(n)\leftrightharpoons X(z)=\frac{1}{2\pi j} \oint_{C}X_1(v)X_2(\frac{z}{v})v^{-1}dv \end{matrix}

说实话,我只想懂原理,不想算。

9、帕斯瓦关系式(我实在没搞懂这个有啥用,所以就写个公式):

\sum_{n=-\infty}^{\infty}x_1(n)x_2^*(n)=\frac{1}{2\pi j} \oint_{C}X_1(v)X_2^*(\frac{1}{v^*})v^{-1}dv

10、初值定理:

如果x(n)是因果的,那么:

x(0)=\lim_{z\rightarrow \infty}X(z)

这个到后面再解释,因为后面到有理Z变换会详细的讲极点和零点在Z变换中的相关问题。


这里给出有些常见的Z变换对:

信号Z变换收敛域

1

\delta(n)1\forall z
2u(n)\frac{1}{1-z^{-1}}|z|>1
3a^nu(n)\frac{1}{1-az^{-1}}|z|>|a|
4na^nu(n)\frac{az^{-1}}{(1-az^{-1})^2}|z|>|a|
5-a^nu(-n-1)\frac{1}{1-az^{-1}}|z|<|a|
6-na^nu(-n-1)\frac{az^{-1}}{(1-az^{-1})^2}|z|<|a|
7cos(\omega_0 n)u(n)\frac{1-z^{-1}cos\omega_0}{1-2z^{-1}cos\omega_0+z^{-2}}|z|>1
8(sin\omega_0 n)u(n)\frac{z^{-1}sin\omega_0}{1-2z^{-1}cos\omega_0+z^{-2}}|z|>1
9a^ncos(\omega_0 n)u(n)\frac{1-az^{-1}cos\omega_0}{1-2az^{-1}cos\omega_0+a^2z^{-2}}|z|>|a|
10a^n(sin\omega_0 n)u(n)\frac{az^{-1}sin\omega_0}{1-2az^{-1}cos\omega_0+a^2z^{-2}}|z|>|a|

这个表是最有用的了


有理Z变换:

这里呢,主要就说的是个零点和极点,非常好理解,零点就是使X(z)为0的点,极点就是使X(z)趋于无穷的点,如果我们用X(z)=\frac{B(z)}{A(z)}来表示X(z),那么使得B(z)=0的点就是零点,使得A(x)=0的点就是极点。

这里介绍一个很重要的图:零极点图:把X(z)在复平面上画出来,用x记号来表示极点位置,用O来表示零点位置,多阶零、极点的阶数就在记号旁边用数字表示,一个Z变换的收敛域不能包含任何极点。

Z变换X(z)是复变量z=real(z)+imag(z)j的复函数,很显然,X(z)的幅值|X(z)|是z的实正函数。


因果信号的几点位置和时域行为:

这里我们先介绍一个基本的概念:单位圆:|z|=1

如果,

s1、一个信号的Z变换的极点在单位圆内,那这个信号就是衰减的;

s2、一个信号的Z变换的极点在单位圆上,那这个信号是恒定的;

s3、一个信号的Z变换的极点在单位圆外,那这个信号是增长的;

负极点会导致信号的符号交替,而且我们要避免单位圆外的因果信号,因为根据s3,这个信号是增长的,最终会达到无界,导致计算机系统出现上溢。

同时,位于单位圆上的实的双重极点的结果是无界的信号,

具有实极点或者是复共轭极点,并且这些极点都位于单位圆内或者单位圆上的实因果信号的幅度总是有界的;具有一个和原点越近的极点(一对复共轭极点)的信号,比具有一个位于单位圆内且接近单位元的极点的信号衰减更快。

由上可知:信号的时域行为主要取决于其极点相对应单位圆的位置,零点也会影响信号的行为,但是没有极点的影响大。


Z逆变换:主要有三种常用方法:

1、直接求围线积分:

x(n)=\frac{1}{2\pi j}\oint_{C}X(z)z^{n-1}dz

2、展开成变量zz^{-1}的级数

3、部分分式展开并查表(这个就用的线性性质,而且书里例题大多都用这种方法,比较简单些):

这里要注意两个概念:

1、相异极点:

设极点p_1,p_2,\cdots,p_n全部不同,要求的是下式中的A:

\frac{X(z)}{z}=\frac{A_1}{z-p_1}+\frac{A_2}{z-p_2}+\cdots+\frac{A_n}{z-p_n}

2、多重极点:

如果X(z)有一个l重极点,也就是说,分母中包含有因式:(z-p_k)^l,那就不是上面的式子可以解决的了,这个我还没学完,还没完全了解,就先写到这。

说实话,我觉得知道逆变换和会实现逆变换就行了,因为常用的这三种方法都太麻烦了,一般来说根本用不着,除了大学生考试,谁还给你弄这让你手算,都是已经实现好的封装,直接调用就行。

比如说,我找了找,用Scipy中的signal库就可以实现:

# 首先使用zpk2tf以零点-极点形式的系统函数转换为传输函数,
# 其中[]表示该系统没有零点或极点,x为传入的离散信号x(n)。
# 使用tf2zpk将传输函数转换为零点-极点形式,该函数返回的结果就是离散信号x(n)的z变换结果;
def z_transform(x):
    b, a = signal.zpk2tf([], [], x)
    return signal.tf2zpk(b, a)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023安卓逆向 -- 某合伙apk登录加密分析

接上节课内容 ​​安卓逆向 -- 抓包环境设置(CharlesPostern)​​ 一、分析登录的数据包&#xff0c;加密的数值是登录的密码&#xff0c;看着想md5加密&#xff0c;请求头中&#xff0c;x-sign也是加密的&#xff0c;看着也像md5。 POST /app/api/v1/partnerLogin/login HT…

2022 Kube-OVN开源社区年度报告

感谢各位社区小伙伴陪伴Kube-OVN又走过了快速发展的一年&#xff0c;随着Kubernetes技术的广泛应用&#xff0c;CNI网络插件的使用率逐步攀升&#xff0c;Kube-OVN社区也在不断成长。让我们一起跟随这篇文章&#xff0c;走进Kube-OVN的2022。 产品功能持续优化 2022年&#xff…

JavaScript高级教程(javascript实战进阶)

javascript高级、面试常问、必备知识点 1.数据类型2.引用变量赋值问题3. 对象和函数4.函数原型与原型链面试题一面试题二面试题一分析面试题二分析原型链注意点 5.执行上下文和执行上下文栈面试题一面试题二面试题一分析面试题二分析 6.作用域面试题一面试题二面试题一分析面试…

git(版本控制)详细解说【工作必备技能】

Git 1 什么是Git Git 是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同&#xff0c;它采用…

轻松白嫖GPT-4,已经标星38K,不再害怕高昂的AI模型费用!

文章目录 白嫖GPT-4当前可白嫖站点 白嫖GPT-4 计算机专业学生xtekky在GitHub上发布了一个名为gpt4free的开源项目&#xff0c;该项目允许您免费使用GPT4和GPT3.5模型。这个项目目前已经获得了380000颗星。 开源地址&#xff1a;https://github.com/xtekky/gpt4free 简而言之&a…

软件开发:面向对象设计的七大原则!

七大原则 开闭原则、里氏代换原则、迪米特原则&#xff08;最少知道原则&#xff09;、单一职责原则、接口分隔原则、依赖倒置原则、组合/聚合复用原则。 开闭原则&#xff08;The Open-Closed Principle &#xff0c;OCP&#xff09; 开闭原则&#xff1a;软件实体&#xff…

隐马尔科夫模型

隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model, HMM)可以由观测序列推断出概率最大的状态序列. HMM中的变量可分为两组: 状态变量(隐变量): { y 1 , y 2 , . . . , y n } \left \{ y_{1},y_{2},...,y_{n}\right \} {y1​,y2​,...,yn​};序列标注问题中的标注. 观察变量…

《Python程序设计与算法基础教程(第二版)》江红 余青松 课后选择题 课后填空题答案

目录 第一章一、选择题二、填空题 第二章一、选择题二、填空题 第三章一、选择题二、填空题 第四章一、选择题二、填空题 第五章一、选择题二、填空题 第八章一、选择题二、填空题 第一章 一、选择题 Python语言属于 C A.机器语言 B.汇编语言 C.高级语言 D.以上都不是 在下列…

【python】数据预处理:分位数归一化 Quantile Normalization + INSCODE AI创作助手测试

文章目录 写在前面标准化/归一化python模块qnorm实现分位数归一化R代码实现分位数归一化分位数归一化 - NSCODE AI创作助手的回答*Q1&#xff1a;Quantile Normalization是什么&#xff1f;**Q2-1: 什么时候用Quantile normalization&#xff1f;**Q2-2: 什么时候做Quantile no…

VScode软件下载与中文设置

目录 一、下载软件 二、中文设置 一、下载软件 1.网站上下载 2.百度网盘链接下载 链接&#xff1a;https://pan.baidu.com/s/1PMhxaExwhurDVVPkkbbYmw?pwd507o 提取码&#xff1a;507o 就选择路径->同意许可->完成下载 二、中文设置 1.在左侧扩展图标中打开“EXT…

Linux - 第20节 - 网络基础(网络层)

1.IP协议 • IP协议全称为“网际互连协议&#xff08;Internet Protocol&#xff09;”&#xff0c;IP协议是TCP/IP体系中的网络层协议。 • 在主机通信的过程中&#xff0c;上层应用程序解决从应用层代码中获取数据并处理数据的问题&#xff0c;应用层解决的是读取完整报文、序…

Lion:Adversarial Distillation of Closed-Source Large Language Model

Lion:Adversarial Distillation of Closed-Source Large Language Model IntroductionMethodologyexperiment Introduction 作者表明ChatGPT、GPT4在各行各业达到很好的效果&#xff0c;但是它们的模型与数据都是闭源的。现在的主流的方案是通过一个老师模型把知识蒸馏到学生模…

明明开发薪资高,是这几点让我依旧选了测试...

不管是对刚毕业的大学生、工作几年的打工仔亦或者是久不入职场的老人来说&#xff0c;进入职场的方向都值得我们深思。 今天我就来解答下大家最常问的问题&#xff1a;开发和测试作为一个项目中很重要的角色&#xff0c;他们有什么区别呢&#xff1f; Python自动化测试&#x…

Benewake(北醒) 快速实现TFmini-S-IIC与电脑通信的操作说明

目录 1. 概述2. 测试准备2.1 工具准备2.2通讯协议转换 3. IIC通讯测试3.1 引脚说明3.2 测试步骤3.2.1 TFmini-S-IIC 与 PC 建立连接3.2.2 获取测距值3.2.3 更改 slave 地址 1. 概述 通过本文档的概述&#xff0c;能够让初次使用测试者快速了解测试 IIC 通信协议需要的工具以及…

Svn安装

目录 一. 软件环境 二. SVN服务端 1. yum安装svn 2. 查看安装的文件列表 3. 建立版本库 3.1 修改数据存储默认位置 3.2 使用svnadmin建立版本库 4. 配制 4.1 添加用户 4.2 配制读写权限 4.3 配制服务 5. 启动服务 5.1 停止服务 5.2 启动服务 5.3 拉取项目 三.…

Vivado下组合逻辑模块的仿真

文章目录 与门或门非门异或门同或门比较器半加器全加器乘法器数据选择器3-8 译码器三态门 组合逻辑电路的特点是任意时刻的输出仅仅取决于输入信号&#xff0c;输入信号变化&#xff0c;输出立即变化&#xff0c;其变化不依赖于时钟。 本文中的例子中模块名都是gate&#xff0c…

HSE健康安全环境管理,已成现代企业必备的一种管理工具

什么是HSE健康安全环境管理 HSE是英文单词Health&#xff0c;Safety&#xff0c;Environment的缩写&#xff0c;中文翻译就是健康、安全、环境管理的意思。HSE管理是一种科学、系统的企业管理方式&#xff0c;目的是为了以人为本&#xff0c;保障员工和环境的健康和安全&#…

express的使用(三) multer处理表单提交

个人博客 欢迎关注公众号:express的使用(三) multer处理表单提交 看前提示 本篇的主要流程是使用在前端提交一个文件&#xff0c;在nodejs编写的后端使用multer以及express进行接收&#xff0c;包括遇到的版本问题&#xff0c;如果是想要学习用body-parser、formidable、mul…

node.js版本与node-sass版本不一致解决

版本比较图 查看版本对比图&#xff1a; https://www.npmjs.com/package/node-sass node.js版本与node-sass版本不一致时npm install是可能会报错的。 安装对应版本 查看nodejs版本 CMD查看nodejs版本 node -v卸载不一致的node-sass npm uninstall node-sass安装指定版…

JAVA并发编程之锁应用

Java并发包是Java中提供的一个用于支持多线程编程的工具包。Java并发包提供了多种机制来控制线程的执行&#xff0c;保证线程的安全性和可靠性。下面我们将介绍Java并发包的使用方法&#xff0c;并给出示例。 synchronized public class SynchronizedDemo { ​private int v;…