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

音频进阶学习十二——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;当 …...

理解推理型大语言模型

构建和改进推理模型的方法与策略 本文描述了构建推理模型的四种主要方法&#xff0c;以及我们如何增强大型语言模型&#xff08;LLM&#xff09;的推理能力。我希望这能为你提供有价值的见解&#xff0c;并帮助你了解这一领域快速发展的文献和热潮。 在2024年&#xff0c;LLM…...

【Brinson 绩效归因模型】

Brinson 绩效归因模型 1、前言2、Brinson模型介绍2.1 归因方式2.1.1 BHB 超额收益分解方案2.1.2 BF 超额收益分解方案 2.2 多期 Brinson 模型 1、前言 如此之多的基金&#xff0c;收益率各有不同&#xff0c;即使同等收益率的基金也各有不同的成因。在这种形势下&#xff0c;广…...

如何轻松将Matlab生成的图表嵌入PowerPoint演示文稿

文章目录 Matlab将生成的图添加PPT中一、Matlab脚本1.添加图片函数2.使用示例 总结 Matlab将生成的图添加PPT中 在许多科学、工程和商业领域&#xff0c;Matlab作为一款强大的数值计算和可视化工具&#xff0c;被广泛应用于数据分析和模型构建。然而&#xff0c;当涉及到分享这…...

组合(力扣77)

从这道题开始&#xff0c;我们正式进入回溯算法的学习。之前在二叉树中只是接触到了一丢丢&#xff0c;而这里我们将使用回溯算法解决很多经典问题。 那么这道题是如何使用回溯算法的呢&#xff1f;在讲回溯之前&#xff0c;先说明一下此题是如何递归的。毕竟回溯递归不分家&a…...

2.7学习

crypto buu-还原大师 仔细阅读题目&#xff0c;这里有一段字符串&#xff0c;但是其中有四个大写字母被替换成了‘&#xff1f;’&#xff0c;那么我们写脚本&#xff1a;首先将四个问号均换成26个大写字母并且组成不同的组合&#xff0c; 所以有四个循环让四个问号都遍历26个…...

[开源/教程]使用Ollama+ESP32实现本地对话助手(可接入deepseek等模型)

[开源/视频教程]使用OllamaESP32实现本地对话助手(可接入deepseek等模型) 简介 使用ollama实现本地模型的定制, 可以做到数据不泄露以及绕开检测的效果, 之后使用嘉立创的esp32开发板实现简单的对话助手 同时接入本文档, 可以直接使用AI对话的方式进行文档处理 XuSenfeng/ai…...

Swagger2 自定义排序

分享一下SpringSwagger2在线文档自定义排序的代码。 这里参考swagger2 接口排序_swagger接口排序-CSDN博客提供的思路&#xff0c;并在此基础上做了优化。 1、引用pom信息 <!--swagger依赖(pojo注解)--><dependency><groupId>io.swagger</groupId>&l…...

sentinel的限流原理

Sentinel 的限流原理基于 流量统计 和 流量控制策略&#xff0c;通过动态规则对系统资源进行保护。其核心设计包括以下几个关键点&#xff1a; 流量统计模型&#xff1a;滑动时间窗口 Sentinel 使用 滑动时间窗口算法 统计单位时间内的请求量&#xff0c;相比传统的固定时间窗…...

Mac 部署Ollama + OpenWebUI完全指南

文章目录 &#x1f4bb; 环境说明&#x1f6e0;️ Ollama安装配置1. 安装[Ollama](https://github.com/ollama/ollama)2. 启动Ollama3. 模型存储位置4. 配置 Ollama &#x1f310; OpenWebUI部署1. 安装Docker2. 部署[OpenWebUI](https://www.openwebui.com/)&#xff08;可视化…...

C/C++ 面试智能指针

说下你对智能指针的理解 回答1: 因为C使用内存的时候很容易出现野指针、悬空指针、内存泄露的问题。所以C11引入了智能指针来管理内存。有四种&#xff1a; auto_ptr&#xff1a;已经不用了unique_ptr&#xff1a;独占式指针&#xff0c;同一时刻只能有一个指针指向同一个对…...

Halcon缓存?内存泄漏?

目录 1、前言 2、图片缓存 3、全局内存缓存 4、临时内存缓存 5、处理 HALCON 中的疑似内存泄漏 6、其他 1、前言 除⾮必要,否则不建议修改 HALCON 自带的缓存设置。 2、图片缓存 图像通常需要大量内存,而分配大块内存的过程较慢。因此,当释放图像时,HALCON并…...

升级 SpringBoot3 全项目讲解 — 周边店铺展示功能如何实现

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; 1. 升级 Spring Boot 到 3.x 在升级 Spring Boot 之前&#xff0c;我们需要确保项目的依赖和配置与新版本兼容。以下是升级的主要步骤&#xff1a; 1.1 更新 pom.xml 文件 首先&#…...

Git(分布式版本控制系统)系统学习笔记【并利用腾讯云的CODING和Windows上的Git工具来实操】

Git的概要介绍 1️⃣ Git 是什么&#xff1f; Git 是一个 分布式版本控制系统&#xff08;DVCS&#xff09;&#xff0c;用于跟踪代码的变更、协作开发和管理项目历史。 由 Linus Torvalds&#xff08;Linux 之父&#xff09;在 2005 年开发&#xff0c;主要用于 代码管理。…...

光学和光子学模拟工具在 AR/VR 中的作用

AR/VR 中的光学和光子学 增强现实 (AR) 和虚拟现实 (VR) 站在数字进化的前沿。光学和光子学这一复杂的科学深入研究了光的产生、检测和操控&#xff0c;在这一转变中发挥着至关重要的作用。 图 1 (a) 展示了 AR 系统的设计&#xff0c;强调了光学的关键作用。该图描绘了光的旅…...

大模型产品Deepseek(四)、本地安装部署(Ollama方式)

Ollama与DeepSeek的本地安装与部署教程(Windows/MacOS) 在许多AI应用场景中,您可能希望将智能模型本地化,以便更高效地处理数据并减少对外部云服务的依赖。本文将介绍如何在Windows和macOS上直接安装和配置Ollama,以及如何基于Ollama平台部署DeepSeek模型并进行本地交互。…...

visual studio安装

一、下载Visual Studio 访问Visual Studio官方网站。下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 在主页上找到并点击“下载 Visual Studio”按钮。 选择适合需求的版本&#xff0c;例如“Visual Studio Community”&#xff08;免费版本&#xff09;&#x…...

AI大模型——DeepSeek模型部署实战

摘要 文章主要介绍了DeepSeek大模型的本地部署方法、使用方式以及API接入相关内容。首先指出可通过下载Ollama来部署DeepSeek-R1模型&#xff0c;并给出了模型不同参数版本及存储信息。接着说明了如何通过Chatbox官网下载并接入DeepSeek API&#xff0c;以及如何接入本地部署模…...

音视频的文件封装——AVI、MP4、MKV

3.MKV (Matroska Video File) Matroska &#xff08;俄语&#xff1a; матроска &#xff09;是一种多媒体封装格式&#xff0c;可把多种不同编码的影像、不同格式的音频、不同语言的字幕封装到一个文件内。也是一种开放源代码的多媒体封装格式。 Matroska 支持多种文件…...

讯飞绘镜(ai生成视频)技术浅析(五):视频生成

讯飞绘镜(AI生成视频)是一种先进的AI视频生成技术,能够将静态的分镜画面转换为动态视频,并使画面中的元素按照一定的逻辑和动作进行动态展示。 一、讯飞绘镜视频生成技术概述 讯飞绘镜的视频生成技术主要包含以下几个核心模块: 1.视频生成模型:包括生成对抗网络(GAN)…...

【FPGA】 MIPS 12条整数指令 【3】

实现乘除 修改框架 EX&#xff1a;实现带符号乘除法和无符号乘除法 HiLo寄存器&#xff1a;用于存放乘法和除法的运算结果。Hi、Lo为32bit寄存器。电路描述与实现RegFile思想一致 仿真 代码 DataMem.v include "define.v"; module DataMem(input wire clk,input…...

【补充】RustDesk一键部署及账号登录配置

前言 之前分享的配置rustdesk的帖子只是搭建了一个简易服务器&#xff0c;仅能实现简单的远程桌面功能。在后续的使用中切换设备使用时无法看到之前连接的设备&#xff0c;必须知道每个设备的id号&#xff0c;才能在新设备上连接。数据无法在设备间迁移&#xff0c;感觉很麻烦…...

2025.2.6 数模AI智能体大更新,更专业的比赛辅导,同提示词效果优于gpt-o1/o3mini、deepseek-r1满血

本次更新重新梳理了回复逻辑规则&#xff0c;无任何工作流&#xff0c;一共3.2k字细节描述。具体效果可以看视频&#xff0c;同时也比对了gpt-o1、gpt-o3mini、deepseek-r1-67BI&#xff0c;从数学建模题目解答上来看&#xff0c;目前我的数模AI智能体具有明显优势。 AI智能体优…...

昇腾,Ascend,NPU,mindie,镜像,部署vllm:第3篇,补档,没事可以看看这个readme

文章目录 前言文件位置已改变atb model和mindie的关系前言 在之前的版本中,我们提到了一个帮助文档(Readme),这个文档告诉我们,当时的mindie版本不支持0.5b版本的通义千问2.5 我现在就很好奇,新版的mindie,是否支持0.5b的版本呢? 文件位置已改变 之前的文件位置: …...

PbootCMS 修改跳转提示,修改笑脸时间

在使用时&#xff0c;每次都提示这个&#xff1a; 修改方法&#xff1a; 修改跳转时间&#xff1a;找到 handle.php 文件编辑 &#xff0c;调整 setTimeout 函数的时间参数。 修改提示文字&#xff1a;编辑 handle.php 文件&#xff0c;修改提示文字的内容。 隐藏提示页面&am…...

Python办公笔记——将csv文件转Json

目录 专栏导读1、背景2、库的安装3、代码1—自定义表头4、代码2—全字段5、代码3—全字段总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️‍&#x1f308; 博客主页&#xff1a;请点击——> 一晌…...

25/2/7 <机器人基础>雅可比矩阵计算 雅可比伪逆

雅可比矩阵计算 雅可比矩阵的定义 假设我们有一个简单的两个关节的平面机器人臂&#xff0c;其末端执行器的位置可以表示为&#xff1a; 其中&#xff1a; L1​ 和 L2 是机器人臂的长度。θ1​ 和 θ2是关节的角度。 计算雅可比矩阵 雅可比矩阵 JJ 的定义是将关节速度与末…...

流媒体缓存管理策略

缓存管理策略是指为了优化性能、资源使用和用户体验而对缓存数据进行管理的方法和规则。以下是一些常见的缓存管理策略&#xff1a; 1. LRU&#xff08;Least Recently Used&#xff0c;最近最少使用&#xff09; 原理&#xff1a;当缓存满了&#xff0c;需要腾出空间时&…...

【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则

大家好&#xff0c;我是&#xff0c;欢迎来到《小5讲堂》。 这是《Sql Server》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言1、无法链接2、数…...

阿里云 | DeepSeek人工智能大模型安装部署

ModelScope是阿里云人工智能大模型开源社区 ModelScope网络链接地址 https://www.modelscope.cn DeepSeek模型库网络链接地址 https://www.modelscope.cn/organization/deepseek-ai 如上所示&#xff0c;在阿里云人工智能大模型开源社区ModelScope中&#xff0c;使用阿里云…...

Spring Test 教程大纲

Spring Test 教程大纲 目标&#xff1a;基于 JUnit 5&#xff0c;系统学习 Spring Test 的核心原理、注解使用、测试框架集成及扩展开发。 第 1 章&#xff1a;Spring Test 简介与核心原理 1.1 Spring Test 的作用与优势 简化 Spring 应用的单元测试与集成测试。核心目标&am…...

MySQL数据库基础(创建/删除 数据库/表)

一、数据库的操作 1.1 显示当前数据库 语法&#xff1a;show databases&#xff1b; <1>show 是一个关键字&#xff0c;表示要执行的操作类型 <2>databases 是复数&#xff0c;表示显示所有数据库 上面的数据库中&#xff0c;除了java113&#xff0c;其它的数据库…...

Llama最新开源大模型Llama3.1

Meta公司于2024年7月23日发布了最新的开源大模型Llama 3.1&#xff0c;这是其在大语言模型领域的重要进展。以下是关于Llama 3.1的详细介绍&#xff1a; 参数规模与训练数据 Llama 3.1拥有4050亿&#xff08;405B&#xff09;参数&#xff0c;是目前开源领域中参数规模最大的…...

PHP 面向对象编程详解

PHP 面向对象编程详解 引言 PHP 作为一种广泛使用的服务器端脚本语言&#xff0c;自诞生以来就以其简洁、易学、高效的特点受到开发者的喜爱。随着互联网技术的不断发展&#xff0c;PHP 也在不断地进化&#xff0c;其中面向对象编程&#xff08;OOP&#xff09;已经成为 PHP …...

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-files.py

files.py ultralytics\utils\files.py 目录 files.py 1.所需的库和模块 2.class WorkingDirectory(contextlib.ContextDecorator): 3.def spaces_in_path(path): 4.def increment_path(path, exist_okFalse, sep"", mkdirFalse): 5.def file_age(path__fi…...

安卓开发,打开PDF文件

1、把PDF文件复制到raw目录下 &#xff08;1&#xff09;新建一个Android Resource Directory (2)Resource type 改成 raw (3) 把PDF文件复制到raw目录下 2、activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayoutxmlns:and…...

标准模版——添加蜂鸣器及继电器功能模块

一、peripheral.h代码 #include "STC15F2K60S2.H"void Set_Peripheral(unsigned char Buzzer_Status,unsigned char Relay_Status); 二、peripheral.c代码 #include "peripheral.h"void Set_Peripheral(unsigned char Buzzer_Status,unsigned char Rela…...

嵌入式工程师面试经验分享与案例解析

嵌入式工程师岗位受到众多求职者的关注。面试流程严格&#xff0c;技术要求全面&#xff0c;涵盖C/C编程、数据结构与算法、操作系统、嵌入式系统开发、硬件驱动等多个方向。本文将结合真实案例&#xff0c;深入剖析嵌入式工程师的面试流程、常见问题及应对策略&#xff0c;帮助…...

《云夹:高效便捷的书签管理利器》

在信息爆炸的时代&#xff0c;我们每天都会浏览大量的网页&#xff0c;遇到许多有价值的内容。如何高效地管理这些网页书签&#xff0c;以便随时快速访问&#xff0c;成为了一个重要的问题。云夹作为一款出色的书签管理工具&#xff0c;为我们提供了完美的解决方案。 强大的功能…...

ASP.NET Core标识框架Identity

目录 Authentication与Authorization 标识框架&#xff08;Identity&#xff09; Identity框架的使用 初始化 自定义属性 案例一&#xff1a;添加用户、角色 案例二&#xff1a;检查登录用户信息 案例三&#xff1a;实现密码的重置 步骤 Authentication与Authorizatio…...

Web - CSS3过渡与动画

过渡 基本使用 transition过渡属性是css3浓墨重彩的特性&#xff0c;过渡可以为一个元素在不同样式之间变化自动添加补间动画。 过渡从kIE10开始兼容&#xff0c;移动端兼容良好&#xff0c;网页上的动画特效基本都是由JavaScript定时器实现的&#xff0c;现在逐步改为css3过…...

css-根据不同后端返回值返回渲染不同的div样式以及公共组件设定

1.动态绑定 Vue: 使用计算属性 getClassName 来动态计算样式类名&#xff0c;并通过 :class 绑定到 div 元素上。 <template><div :class"getClassName">这是一个根据后端值动态设置样式的 div 元素。</div> </template><script> exp…...

ES6 Set 数据结构用法总结

1. Set 基本概念 Set 是 ES6 提供的新的数据结构&#xff0c;类似于数组&#xff0c;但成员的值都是唯一的&#xff0c;没有重复的值。Set 本身是一个构造函数&#xff0c;用来生成 Set 数据结构。 1.1 基本用法 // 创建一个空Set const set new Set();// 创建一个带有初始…...

Celery任务阻塞问题排查

笔者在工作中经常用到Celery&#xff0c;遇到了2个任务阻塞的问题&#xff0c;分享经验如下。 1 Celery原理 Celery是基于Python开发的分布式任务调度框架&#xff0c;可以将任务发送到若干台机器上&#xff0c;实现多并发调度和计算。Celery的架构主要包含生产者&#xff08…...

巧用DeepSeek,编写CAPL自动化测试脚本

文章目录 前言提问及回答小结 前言 蛇年伊始&#xff0c;火出圈的除了《哪吒2》登顶中国影史票房第一外&#xff0c;科技圈的DeepSeek国产大模型引爆全球&#xff0c;关于在DeepSeek上的提问无奇不有。就车载通信自动化测试&#xff0c;本文也来蹭蹭热度。作为CAN/LIN协议一致…...

【信息系统项目管理师】第21章:项目管理科学基础 详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 21.1 工程经济学21.2 运筹学1.线性规划2.一般的运输问题3.指派问题4.动态规划法5.最小生成树6.博弈论7.决策每年管理科学在综合题里固定是5分,案例分析和论文不考。主要是科学管理相关内容,包括工程经济学、运…...

webpack配置语言之---ts

由于webpack本身不支持ts&#xff0c;如果需要编译ts文件&#xff0c;需要下载相应的loader对ts文件进行编译&#xff0c;以及配置tsconfig.json文件&#xff0c;配置ts的编译选项 1. 安装必要的依赖 首先&#xff0c;确保你已经安装了 Webpack 和 TypeScript。如果还没有安装…...

WPF 进度条(ProgressBar)示例一

本文讲述&#xff1a;WPF 进度条(ProgressBar)简单的样式修改和使用。 进度显示界面&#xff1a;使用UserControl把ProgressBar和进度值以及要显示的内容全部组装在UserControl界面中&#xff0c;方便其他界面直接进行使用。 <UserControl x:Class"DefProcessBarDemo…...

金蛇祈福,鸿运开年!广州白云皮具城2025开市大吉!

锣鼓一响&#xff0c;黄金万两&#xff01;2月6日大年初九&#xff0c;广州白云皮具城举行盛大的醒狮开市仪式&#xff01;象征吉祥如意的醒狮&#xff0c;将好运、财运传递给全体商户和八方来客。 醒狮点睛 金鼓一响黄金万两&#xff0c;十头醒狮登台&#xff0c;董事总经理刘…...

centos虚拟机迁移没有ip的问题

故事背景&#xff0c;我们的centos虚拟机本来是好好的&#xff0c;但是拷贝到其他电脑上就不能分配ip&#xff0c;我个人觉得这个vmware他们软件应该搞定这个啊&#xff0c;因为这个问题是每次都会出现的。 网络选桥接 网络启动失败 service network restart Restarting netw…...