当前位置: 首页 > article >正文

音频进阶学习十二——Z变换

文章目录


前言

在之前博客中,对于线性常系数差分方程求解中,我们提到了对于差分方程频域上求解有一种方法,叫做Z变换。

本章博客中,将对于Z变换的作用,公式,收敛域,性质与定理做一个详细的介绍。当然,Z变换公式的推导一样是以复指数序列和共轭相关性为基础,如果对于此还不是很熟悉可以先看看之前的对于DTFT推导的博客。

|版本声明:山河君,未经博主允许,禁止转载


一、Z变换

1.Z变换的作用

前面我们说过对于一个离散序列我们使用复指数序列表示后,可以使用DTFT进行离散傅里叶变换:

X ( e j ω ) = ∑ n = − ∞ ∞ x [ n ] e − j ω n X(e^{j\omega})=\sum_{n=-\infty}^{\infty}x[n]e^{-j\omega n} X(e)=n=x[n]ejωn
与之对应的IDTFT表示形式为:
x [ n ] = 1 2 π ∫ − π π X ( e j ω ) e j ω n d ω x[n]=\frac{1}{2\pi}\int_{-\pi}^{\pi}X(e^{j\omega})e^{j\omega n}d\omega x[n]=2π1ππX(e)ejωndω
其中, e − j ω n e^{-j\omega n} ejωn为模长为1 的复指数。

对于DTFT的存在条件前文也说过,必须要满足一致收敛,均方收敛,冲击表示。那么在对于不满足DTFT条件下,需要引入一个新的序列进行分析,这一过程就叫做Z变换

2.Z变换公式

我们之前的文章中说过, z z z表示在复平面上的点,根据欧拉公式, z = r ∗ e j ω z=r*e^{j\omega} z=re,其中 r r r为模长,那么 z − n = r − n e − j ω n z^{-n}=r^{-n}e^{-j\omega n} zn=rnejωn,对于Z变换,和DTFT表示一样,对于序列表示为复指数序列:
X ( z ) = ∑ n = − ∞ ∞ x [ n ] z − n = ∑ n = − ∞ ∞ x [ n ] r − n e − j ω n X(z)=\sum^{\infty}_{n=-\infty}x[n]z^{-n}=\sum^{\infty}_{n=-\infty}x[n]r^{-n}e^{-j\omega n} X(z)=n=x[n]zn=n=x[n]rnejωn
对于Z反变换
x [ n ] = 1 2 π j ∮ C X ( z ) z n − 1 d z x[n]=\frac{1}{2\pi j}\oint_CX(z)z^{n-1}dz x[n]=2πj1CX(z)zn1dz

3.Z的状态表示

分析 z = r ∗ e j ω z=r*e^{j\omega} z=re时,会有三种情况

1) r = 1 r=1 r=1

这个很好理解,当 r = 1 r=1 r=1时, z n = r n ∗ e − j ω n = > z n = e j ω n z^{n}=r^{n}*e^{-j\omega n} => z^{n}=e^{j\omega n} zn=rnejωn=>zn=ejωn,而对于复指数 z − n z^{-n} zn,Z变换其实就是DTFT:
X ( z ) ∣ z = e j ω = ∑ n = − ∞ ∞ x [ n ] e − j ω n = X ( e j ω ) X(z)|_{z=e^{j\omega}}=\sum_{n=-\infty}^{\infty}x[n]e^{-j\omega n}=X(e^{j\omega}) X(z)z=e=n=x[n]ejωn=X(e)

2) 0 < r < 1 0<r<1 0<r<1

0 < r < 1 0<r<1 0<r<1,为了方便展示,乘上一个 10 10 10的系数,对于 10 ∗ z n = 10 ∗ r n ∗ e − j ω n 10*z^{n}=10*r^{n}*e^{-j\omega n} 10zn=10rnejωn,它在复平面上的极坐标实际上是越转越小,如下图:
请添加图片描述
对于 r n e j ω n r^{n}e^{j\omega n} rnejωn的实部和虚部,在当 n n n逐渐变大时,Re和Im呈指数衰减。对于 r − n e − j ω n r^{-n}e^{-j\omega n} rnejωn,那么 n n n越大,Re和Im呈指数增长。
在这里插入图片描述

3) r > 1 r>1 r>1

而当 r > 1 r>1 r>1时,情况正好相反,它在复平面上的极坐标实际上是越转越大。

请添加图片描述
对于 r n e j ω n r^{n}e^{j\omega n} rnejωn实部与虚部也是随着 n n n的增大而呈指数增长。而对于 r − n e − j ω n r^{-n}e^{-j\omega n} rnejωn,那么 n n n越大,Re和Im呈指数衰减。
在这里插入图片描述

4.关于Z的解释

理解复指数 z z z的状态之后,我们再来思考为什么要引入复指数 z z z

根据之前文章对于DTFT的理解,根据欧拉公式引入复指数 e j ω n e^{j\omega n} ejωn,根据复指数的正交性来判断是否序列在某一个频率上有影响,此时复指数 e j ω n e^{j\omega n} ejωn模长为1,即单位圆。

而对于 z n = r n ∗ e j ω n z^n=r^n*e^{j\omega n} zn=rnejωn中,对于复指数的模长为 r n r^n rn,根据正交性来计算投影,如果在 ω k \omega_k ωk上处于正交,那说明对于该 ω k \omega_k ωk不存在影响,这与 r n r^n rn无关,而 r n r^n rn的作用:

  • r > 1 r>1 r>1 r − n r^{-n} rn 会衰减指数增长的信号,例如 x [ n ] = 2 n x[n]=2^n x[n]=2n
  • 0 < r < 1 0<r<1 0<r<1 r − n r^{-n} rn 会放大指数增长的信号,例如 x [ n ] = ( 1 2 ) n x[n]=(\frac{1}{2})^n x[n]=(21)n

这种情况下就可以对于某些信号进行收敛,进而进行频域分析。

二、收敛域

1.收敛域的定义

收敛域 (Region of Convergence, ROC) 是指复平面中 z z z 的所有值(或区域),使得 Z 变换所涉及的无限级数绝对收敛。也就是说,对于Z变换有:
X ( z ) = ∑ n = − ∞ ∞ x [ n ] z − n , z ∈ C , z = r e j ω X(z)=\sum^{\infty}_{n=-\infty}x[n]z^{-n}, \quad z \in \mathbb{C}, \quad z = re^{j\omega} X(z)=n=x[n]zn,zC,z=re
其中 C \mathbb{C} C是复数集合,而要满足上述式子绝对收敛,那么则有:
∑ n = − ∞ ∞ ∣ x [ n ] z − n ∣ = ∑ n = − ∞ ∞ ∣ x [ n ] ∣ ∣ z − n ∣ < ∞ \sum^{\infty}_{n=-\infty}|x[n]z^{-n}| = \sum^{\infty}_{n=-\infty}|x[n]||z^{-n}| < \infty n=x[n]zn=n=x[n]∣∣zn<
收敛域 ROC是所有使上述条件成立的 z z z值组成的集合。如果去除 e j ω n e^{j\omega n} ejωn的表示,即当
∣ X ( z ) ∣ ≤ ∑ n = − ∞ ∞ ∣ x [ n ] r − n ∣ |X(z)| \leq \sum^{\infty}_{n=-\infty}|x[n]r^{-n}| X(z)n=x[n]rn
z z z的值满足收敛。

2.收敛域的表示方式

根据Z变换公式 X ( z ) = ∑ n = − ∞ ∞ x [ n ] r − n e − j ω n X(z) = \sum^{\infty}_{n=-\infty}x[n]r^{-n}e^{-j\omega n} X(z)=n=x[n]rnejωn,结合上图不难看出,对于序列的收敛取决于 r , n r,\quad n r,n的取值范围,例如:

  • r > 1 r > 1 r>1时,当 n n n趋向正无穷的时候,序列是衰减的,而当 n n n趋向负无穷的时候,序列是增长的
  • 0 < r < 1 0< r < 1 0<r<1时,当 n n n趋向正无穷的时候,序列是增长的,而当 n n n趋向负无穷的时候,序列是衰减的

所以对于满足Z变换收敛 ∑ n = − ∞ ∞ ∣ x [ n ] z − n ∣ < ∞ \sum^{\infty}_{n=-\infty}|x[n]z^{-n}| <\infty n=x[n]zn<,可以将其拆分为 n < 0 , n ≥ 0 n<0,\quad n \geq 0 n<0n0的表示形式:
∑ n = − ∞ ∞ ∣ x [ n ] r − n ∣ = ∑ n = − ∞ − 1 ∣ x [ n ] r − n ∣ + ∑ n = 0 + ∞ ∣ x [ n ] r − n ∣ = > = ∑ n = − ∞ − 1 ∣ x [ n ] r ∣ n ∣ ∣ + ∑ n = 0 + ∞ ∣ x [ n ] ( 1 r ) n ∣ \sum^{\infty}_{n=-\infty}|x[n]r^{-n}| = \sum^{-1}_{n=-\infty}|x[n]r^{-n}| +\sum^{+\infty}_{n=0}|x[n]r^{-n}|=>\\ =\sum^{-1}_{n=-\infty}|x[n]r^{|n|}| +\sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{r}\Big)^n| n=x[n]rn=n=1x[n]rn+n=0+x[n]rn=>=n=1x[n]rn+n=0+x[n](r1)n

3.ROC的分析

我们知道收敛域ROC是一组复平面上的集合,上文中将Z变换进行正次幂表示,拆分成 n < 0 , n ≥ 0 n<0,\quad n \geq 0 n<0n0两种情况进行分析收敛域:
∣ X ( z ) ∣ ≤ ∑ n = − ∞ − 1 ∣ x [ n ] r ∣ n ∣ ∣ + ∑ n = 0 + ∞ ∣ x [ n ] ( 1 r ) n ∣ |X(z)| \leq \sum^{-1}_{n=-\infty}|x[n]r^{|n|}| +\sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{r}\Big)^n| X(z)n=1x[n]rn+n=0+x[n](r1)n
那么对这两种情况进行单独的分析。

1)当 n ≥ 0 n \geq 0 n0

n ≥ 0 n \geq 0 n0时,也就是分析上述中 ∑ n = 0 + ∞ ∣ x [ n ] ( 1 r ) n ∣ \sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{r}\Big)^n| n=0+x[n](r1)n的收敛域。

现在假设当 r = R x − r = R_{x-} r=Rx时,满足 ∑ n = 0 + ∞ ∣ x [ n ] ( 1 R x − n ) n ∣ < ∞ \sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{R_{x-}^n}\Big)^n| < \infty n=0+x[n](Rxn1)n<,那么当 r > R x − r>R_{x-} r>Rx,一定满足 ∑ n = 0 + ∞ ∣ x [ n ] ( 1 R x − n ) n ∣ < ∞ \sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{R_{x-}^n}\Big)^n| < \infty n=0+x[n](Rxn1)n<。具体分析如下:
r > R x − r>R_{x-} r>Rx,令 r = k R x − , k > 1 r=kR_{x-}, \quad k>1 r=kRx,k>1,则
∑ n = 0 + ∞ ∣ x [ n ] ( 1 k n R x − n ) n ∣ ≤ ∑ n = 0 + ∞ ∣ x [ n ] ( 1 R x − n ) n ∣ ∣ 1 k n ∣ < ∑ n = 0 + ∞ ∣ x [ n ] ( 1 R x − n ) n ∣ < ∞ \sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{k^nR_{x-}^n}\Big)^n| \leq \sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{R_{x-}^n}\Big)^n||\frac{1}{k^n}| < \sum^{+\infty}_{n=0}|x[n]\Big(\frac{1}{R_{x-}^n}\Big)^n| <\infty n=0+x[n](knRxn1)nn=0+x[n](Rxn1)n∣∣kn1<n=0+x[n](Rxn1)n<

如果使用复平面进行表示,就如同下图:
在这里插入图片描述

也就是说收敛域 ∣ z ∣ > R x − |z| > R_{x-} z>Rx,即ROC为以原点为圆心的圆外部分。

2)当 n < 0 n < 0 n<0

n < 0 n < 0 n<0时,也就是分析上述中 ∑ n = − ∞ − 1 ∣ x [ n ] r ∣ n ∣ ∣ \sum^{-1}_{n=-\infty}|x[n]r^{|n|}| n=1x[n]rn的收敛域。

现在假设当 r = R x + r = R_{x+} r=Rx+时,满足 ∑ n = − ∞ − 1 ∣ x [ n ] r ∣ n ∣ ∣ < ∞ \sum^{-1}_{n=-\infty}|x[n]r^{|n|}| < \infty n=1x[n]rn<,那么当 r < R x + r < R_{x+} r<Rx+,一定满足 ∑ n = − ∞ − 1 ∣ x [ n ] r ∣ n ∣ ∣ < ∞ \sum^{-1}_{n=-\infty}|x[n]r^{|n|}| < \infty n=1x[n]rn<(具体分析和上述一样,不具体进行展示了)。

如果使用复平面进行表示,就如同下图:
在这里插入图片描述

也就是说收敛域 ∣ z ∣ < R x + |z| < R_{x+} z<Rx+,即ROC为以原点为圆心的圆内部分。

3)整体ROC复平面

从上文分析两种情况结合来看,满足Z变换公式成立条件,需要满足收敛域 ∣ z ∣ < R x + , ∣ z ∣ > R x − |z| < R_{x+}, \quad |z| > R_{x-} z<Rx+,z>Rx,即 R x − < ∣ z ∣ < R x + R_{x-} < |z| < R_{x+} Rx<z<Rx+,所以

  • R x − > R x + R_{x-} > R_{x+} Rx>Rx+,不存在收敛域,即Z变换公式成立不存在
  • R x − < R x + R_{x-} < R_{x+} Rx<Rx+,存在收敛域,它表示为复平面上的圆环,如下图
    在这里插入图片描述

3.极点与零点

X ( z ) = 0 X(z) = 0 X(z)=0时,将 Z Z Z的取值叫做零点
X ( z ) = ∞ X(z) = \infty X(z)=时,将 Z Z Z的取值叫做极点

三、Z变换ROC举例

1.右边序列

右边序列是指 x [ n ] = 0 , n < N x[n]=0,\quad n<N x[n]=0,n<N。现在令 x [ n ] = a n u [ n ] x[n] = a^nu[n] x[n]=anu[n],求 X ( z ) X(z) X(z)的收敛域:

分析: x [ n ] x[n] x[n]不仅是一个右边序列,还是一个因果序列,将其代入Z变换中
X ( z ) = ∑ n = − ∞ ∞ x [ n ] z − n = ∑ n = 0 ∞ a n u [ n ] z − n = ∑ n = 0 ∞ ( a z − 1 ) n = > = ( a z − 1 ) 1 + ( a z − 1 ) 2 + ( a z − 1 ) 3 + . . . + ( a z − 1 ) n X(z) = \sum_{n=-\infty}^{\infty}x[n]z^{-n} = \sum_{n=0}^{\infty}a^nu[n]z^{-n} = \sum_{n=0}^{\infty}\big(az^{-1}\big)^n=>\\ = (az^{-1}\big)^1+(az^{-1}\big)^2+(az^{-1}\big)^3+...+(az^{-1}\big)^n X(z)=n=x[n]zn=n=0anu[n]zn=n=0(az1)n=>=(az1)1+(az1)2+(az1)3+...+(az1)n
实际上就是一个等比公式,则对于等比公式前 n n n项求和为:
a n = a 1 × q n − 1 S n = a 1 ( 1 − q n ) 1 − q lim ⁡ n = ∞ S n = a 1 1 − q , ∣ q ∣ < 1 a_n = a_1 \times q^{n-1} \\ S_n=\frac{a_1(1-q^n)}{1-q}\\ \lim_{n=\infty}S_n=\frac{a_1}{1-q}, \quad |q|<1 an=a1×qn1Sn=1qa1(1qn)n=limSn=1qa1,q<1
其中 a 1 a_1 a1是首项, q q q为公比, S n S_n Sn为总和。在上述中首项 a 1 = 1 a_1=1 a1=1 q = a z − 1 q=az^{-1} q=az1,所以
X ( z ) = ∑ n = 0 ∞ ( a z − 1 ) n = 1 1 − a z − 1 X(z) =\sum_{n=0}^{\infty}\big(az^{-1}\big)^n = \frac{1}{1-az^{-1}} X(z)=n=0(az1)n=1az11
由于该序列是一个右边序列,也就是 n ⟶ ∞ n\longrightarrow \infty n,对于 z = r ∗ e j ω z=r*e^{j\omega} z=re,则收敛域为
X ( z ) = ∑ n = 0 ∞ ( a z − 1 ) n < ∞ ⟺ ( a z − 1 ) < 1 ⟺ ∣ z ∣ > ∣ a ∣ X(z) =\sum_{n=0}^{\infty}\big(az^{-1}\big)^n <\infty \Longleftrightarrow (az^{-1}) < 1 \Longleftrightarrow |z| > |a| X(z)=n=0(az1)n<(az1)<1z>a
其中极点为 a a a,如下图
在这里插入图片描述

2.左边序列

左边序列是指 x [ n ] = 0 , n ≤ 0 x[n]=0,\quad n \leq 0 x[n]=0,n0。现在令 x [ n ] = − a n u [ − n − 1 ] x[n] = -a^{n}u[-n-1] x[n]=anu[n1],求 X ( z ) X(z) X(z)的收敛域:

分析,将 x [ n ] x[n] x[n]代入Z变换:
X ( z ) = ∑ n = − ∞ ∞ x [ n ] z − n = − ∑ n = 0 ∞ a n u [ − n − 1 ] z − n = − ∑ n = − ∞ − 1 ( a z − 1 ) n = > − ∑ n = 1 ∞ ( a z − 1 ) − n = − ∑ n = 1 ∞ ( a − 1 z ) n X(z) = \sum_{n=-\infty}^{\infty}x[n]z^{-n} =- \sum_{n=0}^{\infty}a^nu[-n-1]z^{-n}=-\sum_{n=-\infty}^{-1}\big(az^{-1}\big)^n=>\\ -\sum_{n=1}^{\infty}\big(az^{-1}\big)^{-n} =-\sum_{n=1}^{\infty}\big(a^{-1}z\big)^{n} X(z)=n=x[n]zn=n=0anu[n1]zn=n=1(az1)n=>n=1(az1)n=n=1(a1z)n
根据等比公式求和
X ( z ) = − ∑ n = 1 ∞ ( a − 1 z ) n = − a − 1 z 1 − a − 1 z = > ( − a − 1 z ) × ( a z − 1 ) ( 1 − a − 1 z ) × ( a z − 1 ) = 1 1 − a z − 1 X(z) =-\sum_{n=1}^{\infty}\big(a^{-1}z\big)^{n} = \frac{-a^{-1}z}{1-a^{-1}z}=>\\ \frac{(-a^{-1}z) \times (az^{-1})}{(1-a^{-1}z)\times (az^{-1})} = \frac{1}{1-az^{-1}} X(z)=n=1(a1z)n=1a1za1z=>(1a1z)×(az1)(a1z)×(az1)=1az11
由于该序列是一个左边序列,则收敛域为
X ( z ) = ∣ − ∑ n = 1 ∞ ( a − 1 z ) n ∣ < ∞ ⟺ ( a − 1 z ) < 1 ⟺ ∣ z ∣ < ∣ a ∣ X(z) =|-\sum_{n=1}^{\infty}\big(a^{-1}z\big)^n| <\infty \Longleftrightarrow (a^{-1}z) < 1\Longleftrightarrow |z| < |a| X(z)=n=1(a1z)n<(a1z)<1z<a

其中极点为 a a a,如下图
在这里插入图片描述

四、Z变换的性质与定理

1.性质

对于性质的介绍,之前介绍DTFT和DFS中都已经重复说过了,不过这里我们需要关注的是对于收敛域的影响.

性质公式收敛域
线性 x [ n ] ⟷ z X ( z ) , R O C = R x y [ n ] ⟷ z Y ( z ) , R O C = R y a x [ n ] + b y [ n ] ⟷ z a X ( z ) + b Y ( z ) x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\ y[n]\stackrel{z}{\longleftrightarrow} Y(z), \quad ROC=R_y \\ ax[n]+by[n] \stackrel{z}{\longleftrightarrow} aX(z)+bY(z) x[n]zX(z),ROC=Rxy[n]zY(z),ROC=Ryax[n]+by[n]zaX(z)+bY(z) R O C 包含 R x ∩ R y ROC包含R_x \cap R_y ROC包含RxRy
移位 x [ n ] ⟷ z X ( z ) , R O C = R x x [ n − n d ] ⟷ z z − n d X ( z ) x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\ x[n-n_d] \stackrel{z}{\longleftrightarrow} z^{-nd}X(z) x[n]zX(z),ROC=Rxx[nnd]zzndX(z) R O C = R x ROC=Rx ROC=Rx(可能需要重新定义极点)
指数序列相乘 x [ n ] ⟷ z X ( z ) , R O C = R x z 0 n x [ n ] ⟷ z X ( z / z 0 ) x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\z_0^nx[n]\stackrel{z}{\longleftrightarrow} X(z/z_0) x[n]zX(z),ROC=Rxz0nx[n]zX(z/z0) R O C = ∣ z 0 ∣ R x ROC=|z_0|R_x ROC=z0Rx
微分 x [ n ] ⟷ z X ( z ) , R O C = R x n x [ n ] ⟷ z − z d X ( z ) d z x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\ nx[n] \stackrel{z}{\longleftrightarrow} -z\frac{dX(z)}{dz} x[n]zX(z),ROC=Rxnx[n]zzdzdX(z) R O C = R x ROC=R_x ROC=Rx(时间序列乘以 n n n 对应于 Z 域的微分)
共轭 x [ n ] ⟷ z X ( z ) , R O C = R x x ∗ [ n ] ⟷ z X ∗ ( z ∗ ) x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\x^*[n] \stackrel{z}{\longleftrightarrow} X^*(z^*) x[n]zX(z),ROC=Rxx[n]zX(z) R O C = R x ROC=R_x ROC=Rx
时间倒置共轭 x [ n ] ⟷ z X ( z ) , R O C = R x x ∗ [ − n ] ⟷ z X ∗ ( 1 z ∗ ) x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\x^*[-n] \stackrel{z}{\longleftrightarrow} X^*(\frac{1}{z^*}) x[n]zX(z),ROC=Rxx[n]zX(z1) R O C = 1 R x ROC=\frac{1}{R_x} ROC=Rx1
卷积 x [ n ] ⟷ z X ( z ) , R O C = R x h [ n ] ⟷ z H ( z ) , R O C = R h ∑ k = 0 ∞ x [ k ] h [ n − k ] ⟷ z X ( z ) H ( z ) x[n] \stackrel{z}{\longleftrightarrow} X(z), \quad ROC=R_x \\ h[n]\stackrel{z}{\longleftrightarrow} H(z), \quad ROC=R_h \\ \sum_{k=0}^{\infty}x[k]h[n-k] \stackrel{z}{\longleftrightarrow} X(z)H(z) x[n]zX(z),ROC=Rxh[n]zH(z),ROC=Rhk=0x[k]h[nk]zX(z)H(z) R O C 包含 R x ∩ R y ROC包含R_x \cap R_y ROC包含RxRy

2.定理

  • 初值定理:
    如果 x [ n ] x[n] x[n]是因果序列,即 n < 0 , x [ n ] = 0 n<0, \quad x[n]=0 n<0,x[n]=0,则 x [ 0 ] = lim ⁡ z → ∞ X ( z ) x[0]=\lim_{z \rightarrow \infty} X(z) x[0]=limzX(z)

总结

本文通过图像和公式推导结合的方式来介绍了Z变换的公式和收敛域,其中由于篇幅(已经万字)的原因,并没有对Z变换的性质与定理做详细的推导,实际上在之前的DTFT性质推导中也有过介绍,虽然不相同但是思路是一样的。有兴趣的同学可以自己尝试一下。

本篇中对于给出的Z反变换没有过多的介绍,那下一篇文章将会对于Z反变换做详细的介绍,并结合实例加深对于Z变换的理解。

反正收藏也不会看,请帮忙点个赞吧!

相关文章:

音频进阶学习十二——Z变换

文章目录 前言一、Z变换1.Z变换的作用2.Z变换公式3.Z的状态表示1&#xff09; r 1 r1 r12&#xff09; 0 < r < 1 0<r<1 0<r<13&#xff09; r > 1 r>1 r>1 4.关于Z的解释 二、收敛域1.收敛域的定义2.收敛域的表示方式3.ROC的分析1&#xff09;当 …...

easyxor

easyxor 一、查壳 无壳&#xff0c;64位 二、IDA分析 1.main 2.查看key与r(shifee提取) 三、脚本 r [0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, …...

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98

“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure” 论文地址&#xff1a;https://arxiv.org/pdf/2501.09760 ​​​​​​​ 摘要 本研究引入了一种创新的多层次混合多任务学习架构&#xff0c;致力于提升股市预测的效能。此架构融…...

日本游戏机市场5年来首次陷入萎缩;特斯拉招人推进人形机器人量产;任天堂专利显示Switch2手柄可用作鼠标...| 游戏智眼日报

美团成立“算法顾问委员会” 美团宣布&#xff0c;近日&#xff0c;由外部专家学者组成的算法顾问委员会成立&#xff0c;为美团改进算法提供常态化咨询和指导。每个季度美团将举办算法恳谈会&#xff0c;持续邀请骑手、商家、用户、专家学者和媒体代表等共同参加。美团表示&a…...

114-机器学习分类算法

1、内容简介 略 matlab simulink 114-机器学习分类算法可以交流、咨询、答疑 2、内容说明 略 Elong_6.24。ROCAUC confusion newdata Unbalanced_LR.car 3、仿真分析 略 4、参考论文 略...

【论文阅读】On the Security of “VOSA“

On the Security of Verifiable and Oblivious Secure Aggregation for Privacy-Preserving Federated Learning -- 关于隐私保护联邦中可验证与遗忘的安全聚合的安全性 论文来源摘要Introduction回顾 VOSA 方案对VOSA不可伪造性的攻击对于类型 I 的攻击对于类型 II 的攻击 论文…...

12.6 LangChain检索器(Retrievers)全解析:构建高效RAG应用的核心引擎

LangChain检索器(Retrievers)全解析:构建高效RAG应用的核心引擎 一、检索器的核心价值 检索器是大模型应用的智能导航系统,通过将用户查询与知识库精准匹配,解决了传统搜索的三大痛点: 语义鸿沟:突破关键词匹配,理解用户真实意图多源整合:融合向量搜索、关键词搜索和…...

707设计链表(链表操作)

1、题目描述 你可以选择使用单链表或者双链表&#xff0c;设计并实现自己的链表。 单链表中的节点应该具备两个属性&#xff1a;val 和 next 。val 是当前节点的值&#xff0c;next 是指向下一个节点的指针/引用。 如果是双向链表&#xff0c;则还需要属性 prev 以指示链表中…...

储能系统-系统架构

已更新系列文章包括104、61850、modbus 、单片机等&#xff0c;欢迎关注 IEC61850实现方案和测试-1-CSDN博客 快速了解104协议-CSDN博客 104调试工具2_104协议调试工具-CSDN博客 1 电池储能系统&#xff08;BESS&#xff09; 架构 电池储能系统主要包括、电池、pcs、本地控制…...

Spring Boot 需要独立的容器运行吗

Spring Boot 不需要独立的容器运行&#xff0c;它内置了一个嵌入式的Web服务器&#xff08;如Tomcat、Jetty或Undertow&#xff09;&#xff0c;所以可以直接作为一个独立的应用程序运行&#xff0c;而不需要外部的Servlet容器。你只需要运行Spring Boot应用&#xff0c;它会自…...

Spring Security在java中的详细用处///为什么用了jwt之后就不能用session

Spring Security 是一个功能强大且高度可定制的认证和授权框架&#xff0c;主要用于基于 Spring 的应用程序中。它不仅处理 HTTP 请求的安全性&#xff08;包括认证和授权&#xff09;&#xff0c;还提供了其他安全相关的特性如防止 CSRF 攻击、会话管理、安全头信息设置等。以…...

Ubuntu系统 Zabbix 7.2LTS一键部署脚本

为了在 Ubuntu 系统上快速部署 Zabbix 7.2 LTS 版本&#xff0c;您可以使用一个自动化 Bash 脚本来简化安装过程。以下是一个适用于 Ubuntu 系统的 Zabbix 7.2 LTS 一键部署脚本。此脚本将安装 Zabbix Server、Zabbix Web 界面&#xff08;基于 Nginx 和 PHP&#xff09;以及 Z…...

基于HTML、CSS 和 JavaScript 开发个人读书类网站

以下是一个使用 HTML、CSS 和 JavaScript 开发个人读书类网站的示例代码,包含基本功能和样式: 我的读书空间 我的书库 首页 添加新书 <div class="container"><!-- 首页内容 --><div id="home"><h2>当前阅读列表</h2><…...

Ollama python交互:chat+embedding实践

Ollama简介 Ollama 是一个开源的大型语言模型&#xff08;LLM&#xff09;平台&#xff0c;旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。 Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型&#xff0c;支持文本生成、翻译、代码编写、问答等…...

安卓路由与aop 以及 Router-api

安卓路由&#xff08;Android Router&#xff09;和AOP&#xff08;面向切面编程&#xff09;是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。 一、安卓路由 安卓路由主要用于在应用程序中管理不同组件之间的导航和通信。它可以简化…...

ip属地是手机号还是手机位置?一文理清

在数字化和网络化的今天&#xff0c;IP属地这一概念逐渐成为了人们关注的焦点。特别是在社交媒体和在线平台上&#xff0c;IP属地的显示往往让人联想到用户的地理位置。然而&#xff0c;关于IP属地到底与手机号还是手机位置有关&#xff0c;却存在着不少误解和混淆。本文将深入…...

迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP

在应用代码中我们实现如下功能&#xff1a; 当应用程序启动后会获取命令行参数。如果命令行没有参数&#xff0c;LED 灯将循环闪烁&#xff1b;如果命令行带有参数&#xff0c;则根据传输的参数控制 LED 灯的开启或关闭。通过 HdfIoServiceBind 绑定 LED灯的 HDF 服务&#xff…...

Vue 鼠标事件合集,关于鼠标右键的处理方法(改写鼠标右键方法、自定义鼠标右键)

鼠标事件使用 mousedown"canvasDown($event)"按下事件合集 click 点击某个对象时触发 mousedown 鼠标按钮被按下时触发 mouseup 鼠标按钮被松开时触发 mouseleave 当鼠标指针移出元素时触发 dblclick 双击时触发 mousemove 鼠标移动时触发&#xff0c…...

项目实操:windows批处理拉取git库和处理目录、文件

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

【Elasticsearch】terms聚合误差问题

Elasticsearch中的聚合查询在某些情况下确实可能存在误差&#xff0c;尤其是在处理分布式数据和大量唯一值时。这种误差主要来源于以下几个方面&#xff1a; 1.分片数据的局部性 Elasticsearch的索引通常被分成多个分片&#xff0c;每个分片独立地计算聚合结果。由于数据在分…...

PHP JSON操作指南

PHP JSON操作指南 概述 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。PHP作为一门流行的服务器端脚本语言&#xff0c;支持对JSON数据进行读取、编写和解析。本文将…...

在C#中,Array,List,ArrayList,Dictionary,Hashtable,SortList,Stack的区别

Array Array你可以理解为是所有数组的大哥 普通数组 : 特点是长度固定, 只能存储相同类型的数据 static void Main(string[] args){//声明int[] ints;string[] strings;People[] peoples;//默认值 //int 类型是 0//string 类型是 nullint[] ints1 { 1, 2, 3 };string[] …...

JavaScript的 switch 方法

• 1. 浅说JavaScript的 switch 方法 • 1.1. 语法 • 1.2. 关键点 • 1.3. 示例 • 1.4. 注意事项 1. 浅说JavaScript的 switch 方法 在JavaScript中&#xff0c;switch 语句是一种多分支选择结构&#xff0c;用于根据不同的条件执行不同的代码块。 它提供了一种比多个…...

OpenBMC:通过qemu-system-arm运行编译好的image

OpenBMC&#xff1a;编译_openbmc meson.build file-CSDN博客 讲述了如何编译生成openbmc的image 完成编译后可以通过qemu-system-arm进行模拟加载&#xff0c;以便在没有BMC硬件的情况下进行调试 1.下载qemu-system-arm 在openbmc的上级目录上执行 wget https://jenkins.op…...

算法9--链表

链表 原理经典例题[2. 两数相加](https://leetcode.cn/problems/add-two-numbers/description/)[24. 两两交换链表中的节点](https://leetcode.cn/problems/swap-nodes-in-pairs/)[143. 重排链表](https://leetcode.cn/problems/reorder-list/description/)[23. 合并 K 个升序链…...

Mac本地部署DeekSeek-R1下载太慢怎么办?

Ubuntu 24 本地安装DeekSeek-R1 在命令行先安装ollama curl -fsSL https://ollama.com/install.sh | sh 下载太慢&#xff0c;使用讯雷&#xff0c;mac版下载链接 https://ollama.com/download/Ollama-darwin.zip 进入网站 deepseek-r1:8b&#xff0c;看内存大小4G就8B模型 …...

[Java基础]函数式编程

Lambda函数 JDK8新增的语法形式, 使用Lambda函数替代某些匿名内部类对象&#xff0c;从而让程序代码更简洁&#xff0c;可读性更好。 基本使用 lambda表达式只能简化函数式接口的匿名内部类写法 // 1.定义抽象类 abstract class Animal {public abstract void crt(); }publi…...

Linux 零拷贝技术

一、传统做法&#xff0c;经历“四次拷贝” 数据 1.读取到内核缓冲区 2.拷贝到用户缓冲区 3.写入到内核缓冲区 4.拷贝到网卡 使用 DMA&#xff0c;减少2次拷贝&#xff0c;还剩2次拷贝 DMA 负责硬盘到内核缓冲区和内核到网卡的传输。 CPU 仍需处理内核和用户缓冲区之间的数据…...

【完整版】DeepSeek-R1大模型学习笔记(架构、训练、Infra)

文章目录 0 DeepSeek系列总览1 模型架构设计基本参数专家混合模型&#xff08;MoE&#xff09;[DeepSeek-V2提出, DeepSeek-V3改良]多头潜在注意力&#xff08;MLA&#xff09;[DeepSeek-V2提出]多token预测&#xff08;MTP&#xff09;[DeepSeek-V3提出] 2 DeepSeek-R1-Zero及…...

数据结构(1)——算法时间复杂度与空间复杂度

目录 前言 一、算法 1.1算法是什么&#xff1f; 1.2算法的特性 1.有穷性 2.确定性 3.可行性 4.输入 5.输出 二、算法效率 2.1衡量算法效率 1、事后统计方法 2、事前分析估计方法 2.2算法的复杂度 2.3时间复杂度 2.3.1定义 2.3.2大O渐进表示法 2.3.3常见时间复…...