数字信号处理——有限长离散变换

1 正交变换

令x[n]表示长度为N的时域序列,X[k]表示其N点正交变换的系数。正交变换的一般形式如下:
X [ k ] = ∑ n = 0 N − 1 x [ n ] Ψ ∗ [ k , n ] , 0 ⩽ k ⩽ N − 1 x [ n ] = 1 N ∑ k = 0 N − 1 X [ k ] Ψ [ k , n ] , 0 ⩽ n ⩽ N − 1 X[k] = \sum_{n=0}^{N-1}x[n]\Psi^*[k,n],0\leqslant k\leqslant N-1 \\ x[n] = \frac 1N\sum_{k=0}^{N-1}X[k]\Psi[k,n],0\leqslant n\leqslant N-1 X[k]=n=0N1x[n]Ψ[k,n],0kN1x[n]=N1k=0N1X[k]Ψ[k,n],0nN1
通常前者称为分析式,后者称为综合式。 Ψ [ k , n ] \Psi[k,n] Ψ[k,n]为基序列应该满足条件:
1 N ∑ n = 0 N − 1 Ψ [ k , n ] Ψ ∗ [ k , n ] = { 1 , l = k 0 , l ≠ k \frac 1N\sum_{n=0}^{N-1}\Psi[k,n]\Psi^*[k,n] = \left\{ \begin{matrix} 1,l=k \\ 0,l\not ={k} \end{matrix} \right. N1n=0N1Ψ[k,n]Ψ[k,n]={1,l=k0,l=k

2 离散傅里叶变换

2.1 定义

  • 长度为N 的有限长序列x[n]的DTFT 为:
    X ( e j ω ) = ∑ n = 0 N − 1 x [ n ] e − j ω [ k ] n X(e^{j\omega}) = \sum_{n = 0}^{N - 1}x[n]e^{-j\omega[k] n} X(e)=n=0N1x[n]e[k]n

  • 对频谱进行离散化操作,即对 ω \omega ω在[0, 2π)范围的频率均匀采样:
    ω [ k ] = 2 π k N , k = 0 , 1 , ⋯   , N − 1 \omega[k] = \frac {2\pi k} N, k = 0,1,\cdots ,N-1 ω[k]=N2πk,k=0,1,,N1

  • 经过采样,DTFT中 e − j ω n e^{-j\omega n} ejωn的第k 个样本变成
    e − j ω [ k ] n = e − j 2 π k n N e^{-j\omega [k]n} = e^{-j\frac {2\pi kn}N} e[k]n=ejN2πkn

  • 因此,DTFT e − j ω n e^{-j\omega n} ejωn的第k个样本变成(定义记号 W N = e − j 2 π N W_N = e^{-j\frac {2\pi}N} WN=ejN2π):
    X N [ k ] = X ( e j ω [ k ] ) = ∑ n = 0 N − 1 x [ n ] W N k n X_N[k] = X(e^{j\omega[k]}) = \sum_{n=0}^{N-1}x[n]W_N^{kn} XN[k]=X(e[k])=n=0N1x[n]WNkn

  • 离散时间信号x[n] 的N 点离散傅里叶变换(DFT):
    X [ K ] = ∑ n = 0 N − 1 X[K] = \sum_{n=0}^{N - 1} X[K]=n=0N1

  • DFT 序列X[k] 的N 点离散傅里叶逆变换(IDFT) :
    x [ n ] = 1 N ∑ k = 0 N − 1 X [ k ] W N − k n , 0 ⩽ n ⩽ N − 1 x[n] = \frac 1N\sum_{k=0}^{N-1}X[k]W_N^{-kn}, 0\leqslant n \leqslant N-1 x[n]=N1k=0N1X[k]WNkn,0nN1

2.2 DFT矩阵形式

DFT可用矩阵的形式表示:
X = D N x X = D_Nx X=DNx
其中,X是由N个DFT样本组成的向量
X = [ X [ 0 ] X [ 1 ] ⋯ X [ N − 1 ] ] T X = \left[\begin{matrix} X[0]&X[1]&\cdots&X[N-1]\end{matrix}\right]^T X=[X[0]X[1]X[N1]]T
x是N个输入样本的向量
x = [ x [ 0 ] x [ 1 ] ⋯ x [ N − 1 ] ] T x = \left[\begin{matrix} x[0]&x[1]&\cdots&x[N-1]\end{matrix}\right]^T x=[x[0]x[1]x[N1]]T
D N D_N DN是大小为N*N的DFT矩阵 ∣ B ∣ = [ 1 1 1 ⋯ 1 1 W N 1 W N 2 ⋯ W N N − 1 1 W N 2 W N 4 ⋯ W N 2 ( N − 1 ) ⋮ ⋮ ⋮ ⋯ ⋮ 1 W N N − 1 W N 2 ( N − 1 ) ⋯ W N ( N − 1 ) ( N − 1 ) ] |B| = \left[\begin{matrix} 1&1&1&\cdots&1\\1&W_N^1&W_N^2&\cdots&W_N^{N-1}\\1&W_N^2&W_N^4&\cdots&W_{N}^{2(N-1)}\\ \vdots&\vdots&\vdots&\cdots&\vdots\\1&W_N^{N-1}&W_N^{2(N-1)}&\cdots&W_N^{(N-1)(N-1)} \end{matrix}\right] B= 11111WN1WN2WNN11WN2WN4WN2(N1)1WNN1WN2(N1)WN(N1)(N1)

2.3 MATLAB计算DFT

  1. DFT 矩阵DN 可以通过调用dftmtx(N) 函数来获得,它的求逆形式可以通过conj(
    dftmtx(N))/N 得到,然后通过矩阵相乘计算DFT;
  2. DFT 和IDFT 在MATLAB 中通常通过调用fft 和ifft 来获得,这更加高效便捷;
  3. fftshift 用于移位DFT,以确保频谱中间点为零频。

3 DTFT与DFT及其逆之间的关系

3.1 与离散时间傅里叶变换的关系

长度为N的序列x[n]的N点DFT序列X[k]就是其傅里叶变换 X ( e j ω ) X(e^{j\omega}) X(e)在N个等间隔频率 ω k = 2 π k / N \omega_k=2\pi k/N ωk=2πk/N上的一组频率样本。
即:

  • 通过插值将DFT变为DTFT
  • 通过采样将DTFT变为DFT

3.2 用DFT对DTFT进行数值计算

通过对序列进行补零,使其长度为2的整数次方,就可以使用FFT快速算法。

4 圆周卷积

定义:
y C [ n ] = ∑ m = 0 N − 1 g [ m ] h [ < n − m > N ] y_C[n] = \sum_{m=0}^{N-1}g[m]h[<n-m>N] yC[n]=m=0N1g[m]h[<nm>N]
和线性卷积一样圆周卷积满足交换律和结合律。

5 有限长序列的分类

5.1 根据共轭对称分类:

  • 循环共轭对称序列(circular conjugate-symmetric sequence)

  • 循环共轭反对称序列(circular conjugate-antisymmetric sequence)

  • 一个N点DFTX[k]在满足以下情况时被称为循环共轭对称序列:
    X [ k ] = X ∗ [ < − k > N ] = X ∗ [ < N − k > N ] X[k] = X^*[<-k>_N] = X^*[<N-k>_N] X[k]=X[<k>N]=X[<Nk>N]

    • 实部为循环偶对称
    • 虚部为循环奇对称
  • 一个N点DFT X[k]在满足以下情况时被称为循环共轭反对称序列:
    X [ k ] = − X ∗ [ < − k > N ] = − X ∗ [ < N − k > N ] X[k] = -X^*[<-k>_N] = -X^*[<N - k>_N] X[k]=X[<k>N]=X[<Nk>N]

    • 实部为循环奇对称
    • 虚部为循环偶对称

一个复序列DFT X[k]可以表示为一个循环共轭对称部分 X c s [ k ] X_{cs}[k] Xcs[k]和一个循环共轭反对称部分 X c a [ k ] X_{ca}[k] Xca[k]的和:
X [ k ] = X c s [ k ] + X c a [ k ] , 0 ⩽ k ⩽ N − 1 X[k] = X_{cs}[k] + X_{ca}[k],0\leqslant k\leqslant N-1 X[k]=Xcs[k]+Xca[k],0kN1
其中:
X c s [ k ] = 1 2 ( X [ k ] + X ∗ [ < − k > N ] ) , 0 ⩽ k ⩽ N − 1 X c a [ k ] = 1 2 ( X [ k ] − X ∗ [ < − k > N ] ) , 0 ⩽ k ⩽ N − 1 X_{cs}[k] = \frac 12(X[k] + X^*[<-k>_N]),0\leqslant k\leqslant N-1\\ X_{ca}[k] = \frac 12(X[k] - X^*[<-k>_N]),0\leqslant k\leqslant N-1 Xcs[k]=21(X[k]+X[<k>N]),0kN1Xca[k]=21(X[k]X[<k>N]),0kN1

5.2 根据几何对称分类:

  • 对称序列(symmetric sequence)
  • 反对称序列(Anti-symmetric sequence)
  • 一个长度为N 的对称序列x[n] 满足以下条件:
    x [ n ] = x [ N − 1 − n ] x[n] = x[N − 1 − n] x[n]=x[N1n]
    • 当N 为奇数时,x[n] 关于n = (N − 1)/2 对称
    • 当N 为偶数时,x[n] 关于半样本点n = (N − 1)/2 对称
  • 一个长度为N 的反对称序列x[n] 满足以下条件:
    x [ n ] = − x [ N − 1 − n ] x[n] = −x[N − 1 − n] x[n]=x[N1n]
    • 当N 为奇数时,x[n] 关于n = (N − 1)/2 反对称
    • 当N 为偶数时,x[n] 关于半样本点n = (N − 1)/2 反对称

6 DFT对称关系

  • 复数序列的DFT对称性质

  • 根据共轭定理:
    x ∗ [ n ] ⇄ X ∗ [ < − k > N ] x^*[n] \rightleftarrows X^*[<-k>_N] x[n]X[<k>N]
    可得到以下的复数序列的DFT对称性质:

  1. 序列x[n]的实部 x r e [ n ] x_{re}[n] xre[n]的DFT为 X [ k ] X[k] X[k]的圆周共轭对称部分 X c s [ k ] X_{cs}[k] Xcs[k]
    x r e [ n ] = 1 2 ( x [ n ] + x ∗ [ n ] ) ⇄ 1 2 ( X [ k ] + X ∗ [ < − k > N ] ) = X c s [ k ] x_{re}[n] = \frac 12 (x[n] + x^*[n]) \rightleftarrows \frac 12(X[k] + X^*[<-k>_N]) = X_{cs}[k] xre[n]=21(x[n]+x[n])21(X[k]+X[<k>N])=Xcs[k]
  2. 序列x[n]的虚部 j x i m [ n ] jx_{im}[n] jxim[n]的DFT为X[k]的圆周共轭反对称部分 X c a [ k ] X_{ca}[k] Xca[k]
    j x i m [ n ] = 1 2 ( x [ n ] − x ∗ [ n ] ) ⇄ 1 2 ( X [ k ] − X ∗ [ < − k > N ] ) = X c a [ k ] jx_{im}[n] = \frac 12 (x[n] - x^*[n]) \rightleftarrows \frac 12(X[k] - X^*[<-k>_N]) = X_{ca}[k] jxim[n]=21(x[n]x[n])21(X[k]X[<k>N])=Xca[k]
  • 根据圆周共轭时间反转定理:
    x ∗ [ < − k > N ] ⇄ X ∗ [ k ] x^*[<-k>_N]\rightleftarrows X^*[k] x[<k>N]X[k]
    可得到以下的复数序列的DFT对称性质:
  1. 序列x[n]的圆周共轭对称部分 x c s [ n ] x_{cs}[n] xcs[n]的DFT 为X[k] 的实部 X r e [ k ] X_{re}[k] Xre[k]
    x c s [ n ] = 1 2 ( x [ n ] + x ∗ [ < − n > N ] ) ⇄ 1 2 ( X [ k ] + X ∗ [ k ] ) = X r e [ k ] x_{cs}[n] = \frac 12 (x[n] + x^*[<-n>_N]) \rightleftarrows \frac 12(X[k] + X^*[k]) = X_{re}[k] xcs[n]=21(x[n]+x[<n>N])21(X[k]+X[k])=Xre[k]
  2. 序列x[n] 的圆周共轭反对称部分 x c a [ n ] x_{ca}[n] xca[n]的DFT 为X[k]的虚部 j X i m [ k ] jX_{im}[k] jXim[k]
    j x c a [ n ] = 1 2 ( x [ n ] − x ∗ [ < − n > N ] ) ⇄ 1 2 ( X [ k ] − X ∗ [ k ] ) = j X i m [ k ] jx_{ca}[n] = \frac 12 (x[n] - x^*[<-n>_N]) \rightleftarrows \frac 12(X[k] - X^*[k]) = jX_{im}[k] jxca[n]=21(x[n]x[<n>N])21(X[k]X[k])=jXim[k]
  • 实数序列的DFT对称性质
  • 实数序列是复数序列当虚部为零时的特殊情况:
    x [ n ] ∈ R x[n] ∈ R x[n]R
  1. 共轭等于信号本身 x [ n ] = x ∗ [ n ] x[n] = x^∗[n] x[n]=x[n],满足圆周共轭对称:
    X [ k ] = X ∗ [ ⟨ − k ⟩ N ] X[k] = X^∗[⟨−k⟩N] X[k]=X[⟨kN]
    2 实数序列DFT的实部满足圆周对称:
    X r e [ k ] = X r e [ ⟨ − k ⟩ N ] X_{re}[k] = X_{re}[⟨−k⟩N] Xre[k]=Xre[⟨kN]
    3 实数序列DFT 的虚部满足圆周反对称:
    X i m [ k ] = − X i m [ ⟨ − k ⟩ N ] X_{im}[k] = − X_{im}[⟨−k⟩N] Xim[k]=Xim[⟨kN]

7 离散傅里叶变换定理

1、线性定理
a x 1 [ n ] + b x 2 [ n ] ⟷ a X 1 [ k ] + b X 2 [ k ] ax_1[n]+bx_2[n]\longleftrightarrow aX_1[k]+bX_2[k] ax1[n]+bx2[n]aX1[k]+bX2[k]

2、圆周时移定理
x [ < n − n 0 > N ] = W N k n 0 X [ k ] x[<n-n_0>_N]=W_N^{kn_0}X[k] x[<nn0>N]=WNkn0X[k]

3、圆周频移定理
W N − k n 0 x [ n ] = X [ < k − k 0 > N ] W_N^{-kn_0}x[n]=X[<k-k_0>_N] WNkn0x[n]=X[<kk0>N]

4、对偶定理
X ∗ [ n ] = N x [ < − k > N ] X^*[n]=Nx[<-k>_N] X[n]=Nx[<k>N]

5、圆周卷积定理
g [ n ] Ⓝ h [ n ] ⟷ G [ k ] H [ k ] g[n]Ⓝh[n] \longleftrightarrow G[k]H[k] g[n]h[n]G[k]H[k]

6、调制定理
g [ n ] h [ n ] ⟷ 1 N G [ k ] Ⓝ H [ k ] g[n]h[n] \longleftrightarrow \frac 1{N}G[k]ⓃH[k] g[n]h[n]N1G[k]H[k]

7、帕塞瓦尔定理
∑ n = 0 N − 1 ∣ x [ n ] ∣ 2 = 1 N ∑ k = 0 N − 1 ∣ X [ k ] ∣ 2 \sum_{n=0}^{N-1} |x[n]|^2 = \frac 1{N}\sum_{k=0}^{N-1} |X[k]|^2 n=0N1x[n]2=N1k=0N1X[k]2

8、共轭定理
x ∗ [ n ] ⟷ X ∗ [ < − k > N ] x^*[n] \longleftrightarrow X^*[<-k>_N] x[n]X[<k>N]

9、圆周时间反转定理
x [ < − k > N ] ⟷ X [ < − k > N ] x[<-k>_N] \longleftrightarrow X[<-k>_N] x[<k>N]X[<k>N]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值