z变换
对标连续时间的拉普拉斯变换,离散时间的z变换为
X(z)=n=−∞∑∞x[n]z−n
单边z变换为
X(z)=n=0∑∞x[n]z−n
如果把z表示成极坐标的形式z=rejω,那么
X(rejω)=n=−∞∑∞x[n]r−ne−jωn
收敛性只取决于∣z∣,这造成ROC是一个环,在实际应用中多数都是一个幂级数的收敛判定。
基本变换对

ROC的性质
- 都是圆环
- ROC包含单位元等价于傅立叶变换收敛
- ROC不包含极点
- 有限序列ROC为整个平面,可能不包含0和无穷
- 右边序列:ROC就是最外侧极点向外延展的圆环
- 左边序列:ROC就是最内侧极点向内延伸的圆环
- 双边序列:ROC由圆环组成,内外边界由极点确定
- ROC必须连通,多项式ROC求交集
z逆变换
x[n]=2πj1∫CX(z)zn−1dz
C表示ROC内一条闭合曲线。这个正式的做法太复杂了,工程上使用三种方法来解决。
z变换的性质
基本和拉普拉斯一样
- 线性:ax[n]+by[n],Z:aX(z)+bY(z),ROC求交集
- 时移:x[n−n0],Z:z−n0X(z),ROC不变,可能加上或除去z=0/∞
- 乘z:z_0^{n}x[n], Z: X(z/z_0),ROC=|z_0|R_x$
- z域微分:−zdX(z)/dz,InverseZ:nx[n],ROC=R
- 共轭:x∗[n],Z:X∗(z∗),ROC不变
- 时间反转:x[−n],Z:X(1/z), ROC=-R, x∗[−n],Z:X(1/z∗), ROC=-R
- 卷积:x[n]∗y[n],Z:X(z)Y(z), ROC求交,如果存在零极点相消,那么ROC可以更大
z变换与差分方程表示的LTI
差分方程表示为:∑k=0Naky[n−k]=∑k=0Mbkx[n−k]
这样,H(z)=∑k=0Nakz−k∑k=0Mbkz−k,而Y(z)=H(z)X(z)
注意上述过程需要初始松弛条件。
对于有限长序列,可以使用DFT。
另一个现实考虑是,一个无限长的非周期信号,他的频域趋于连续,计算机不好处理,因此截取有限个点进行周期延拓,这样频域也是离散的。
DFT与IDFT
X[k]=n=0∑N−1x[n]e−jN2πnk,k=0,...,N−1
x[n]=N1k=0∑N−1X[k]ejN2πnk,n=0,...,N−1
DFT性质

FFT
从DFT的公式看到,需要求出N个数字,没固定一个k,就得把右边以O(n)计算一边,总复杂度为O(n2)。
重新调整右侧求和式子
f(x)=n=0∑N−1anxn
其中,an=x[n],那么我们求的其实就是f(ej2πNk),其实这个就是单位根wNk,在复平面的单位元上,等距离分成N个点然后第0个点是1,逆时针编号。因此这个单位根有很好的性质:
- wN0=w1k=1,转一圈都是第1个。
- wNk=wNk+N,转一圈一样
- wNk=−wNk+N/2,转一半取负
- wN2k=wN/2k
严谨的证明可以用欧拉关系利用三角函数变换
接下来,把f按照次数的奇偶分成两个函数,
f1(x)=a0+a2x1+a4x2+...f2(x)=a1+a3x1+a5x2+...
那么f(x)=f1(x2)+xf2(x2)。
对于一个确定的k,f(wNk)=f1(wN2k)+wNkf2(wN2k),这样就把原问题转为两个规模减半的子问题,递归到w1k=1即可。
这里还有个细节,上面的等式仅对k<N/2成立,如果>N/2,那么f(wNk+N/2)=f1(wN2k+N)+wNk+N/2f2(wN2k+N)=f1(wN2k)−wNkf2(wN2k)