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

【DSP数字信号处理】期末复习笔记(二)

续【DSP数字信号处理】期末复习笔记(一)。

四、题型三:IIR 和 FIR 信号流图

1. IIR 和 FIR 系统定义

  • FIR (Finite Impulse Response) 系统: 单位脉冲响应 h [ n ] h[n] h[n] 是有限长的。
    • 系统函数 H ( z ) H(z) H(z) z − 1 z^{-1} z1 的多项式,所有极点都在 z = 0 z=0 z=0 处 (如果将 H ( z ) H(z) H(z) 写成 z z z 的正幂次形式,分母为 z N z^N zN 形式)。
  • IIR (Infinite Impulse Response) 系统: 单位脉冲响应 h [ n ] h[n] h[n] 是无限长的。
    • 系统函数 H ( z ) H(z) H(z) 化简后,至少存在一个极点不在 z = 0 z=0 z=0 处。

2. IIR 系统基本结构

H ( z ) = ∑ k = 0 M b k z − k 1 + ∑ k = 1 N a k z − k H(z) = \frac{\sum_{k=0}^{M} b_k z^{-k}}{1 + \sum_{k=1}^{N} a_k z^{-k}} H(z)=1+k=1Nakzkk=0Mbkzk (注意分母常数项为1,若不是,则分子分母同除以该常数)

  1. 直接I型 (Direct Form I):

    • 先实现分子 (FIR部分,零点),再实现分母 (IIR反馈部分,极点)。
    • H ( z ) = H F I R ( z ) H I I R , p o l e ( z ) H(z) = H_{FIR}(z)H_{IIR,pole}(z) H(z)=HFIR(z)HIIR,pole(z) where H F I R ( z ) = ∑ b k z − k H_{FIR}(z) = \sum b_k z^{-k} HFIR(z)=bkzk (前馈), H I I R , p o l e ( z ) = 1 1 + ∑ a k z − k H_{IIR,pole}(z) = \frac{1}{1+\sum a_k z^{-k}} HIIR,pole(z)=1+akzk1 (反馈)。
    • 延迟器数量为 M + N M+N M+N
    • 画图时,分子系数 b k b_k bk 不变号,分母系数 a k a_k ak 在反馈支路上要变号为 − a k -a_k ak
  2. 直接II型 (Direct Form II / Canonical Form):

    • 先实现分母 (IIR反馈部分,极点),再实现分子 (FIR部分,零点)。
    • H ( z ) = H I I R , p o l e ( z ) H F I R ( z ) H(z) = H_{IIR,pole}(z)H_{FIR}(z) H(z)=HIIR,pole(z)HFIR(z)
    • 共享延迟器,延迟器数量为 max ⁡ ( M , N ) \max(M,N) max(M,N),是最节省延迟器的形式。
    • 画图时,分母系数 a k a_k ak 在反馈支路上变号为 − a k -a_k ak,分子系数 b k b_k bk 不变号。
  3. 级联型 (Cascade Form):

    • H ( z ) H(z) H(z) 分解为若干个一阶或二阶子系统函数的乘积:
      H ( z ) = K ⋅ H 1 ( z ) H 2 ( z ) … H L ( z ) H(z) = K \cdot H_1(z)H_2(z)\dots H_L(z) H(z)=KH1(z)H2(z)HL(z)
      其中 H i ( z ) = 1 + b i 1 z − 1 + b i 2 z − 2 1 + a i 1 z − 1 + a i 2 z − 2 H_i(z) = \frac{1+b_{i1}z^{-1}+b_{i2}z^{-2}}{1+a_{i1}z^{-1}+a_{i2}z^{-2}} Hi(z)=1+ai1z1+ai2z21+bi1z1+bi2z2 (二阶节) 或 1 + b i 1 z − 1 1 + a i 1 z − 1 \frac{1+b_{i1}z^{-1}}{1+a_{i1}z^{-1}} 1+ai1z11+bi1z1 (一阶节)。
    • 每个子系统 H i ( z ) H_i(z) Hi(z) 通常用直接II型实现。
  4. 并联型 (Parallel Form):

    • H ( z ) H(z) H(z) (需为真分式,即 M < N M<N M<N) 用部分分式展开为若干个子系统函数之和:
      H ( z ) = C + ∑ i = 1 L H i ( z ) H(z) = C + \sum_{i=1}^{L} H_i(z) H(z)=C+i=1LHi(z) (C为常数,若 H ( z ) H(z) H(z) 为假分式 M ≥ N M \ge N MN,则 C = ∑ k = 0 M − N c k z − k C = \sum_{k=0}^{M-N} c_k z^{-k} C=k=0MNckzk,通常 C C C 是一个常数 c 0 c_0 c0)
      其中 H i ( z ) H_i(z) Hi(z) 通常是一阶或二阶节,如 A i 1 − p i z − 1 \frac{A_i}{1-p_i z^{-1}} 1piz1Ai B i z − 1 + C i 1 + a i 1 z − 1 + a i 2 z − 2 \frac{B_i z^{-1} + C_i}{1+a_{i1}z^{-1}+a_{i2}z^{-2}} 1+ai1z1+ai2z2Biz1+Ci
    • 每个子系统 H i ( z ) H_i(z) Hi(z) 通常用直接II型实现。
  • 例: H ( z ) = 1 − 0.2 z − 1 1 + 0.1 z − 1 − 0.06 z − 2 H(z) = \frac{1 - 0.2z^{-1}}{1 + 0.1z^{-1} - 0.06z^{-2}} H(z)=1+0.1z10.06z210.2z1 画出直接II型结构。
    b 0 = 1 , b 1 = − 0.2 b_0=1, b_1=-0.2 b0=1,b1=0.2
    a 1 = 0.1 , a 2 = − 0.06 a_1=0.1, a_2=-0.06 a1=0.1,a2=0.06
    延迟器数量 max ⁡ ( M , N ) = max ⁡ ( 1 , 2 ) = 2 \max(M,N) = \max(1,2) = 2 max(M,N)=max(1,2)=2
    • 直接II型:
      1. 输入 x [ n ] x[n] x[n]
      2. 中间节点 w [ n ] w[n] w[n]
      3. 反馈部分: w [ n ] = x [ n ] − a 1 w [ n − 1 ] − a 2 w [ n − 2 ] = x [ n ] − 0.1 w [ n − 1 ] + 0.06 w [ n − 2 ] w[n] = x[n] - a_1 w[n-1] - a_2 w[n-2] = x[n] - 0.1w[n-1] + 0.06w[n-2] w[n]=x[n]a1w[n1]a2w[n2]=x[n]0.1w[n1]+0.06w[n2]
        画两个延迟器 z − 1 z^{-1} z1 串联,输入为 w [ n ] w[n] w[n],输出分别为 w [ n − 1 ] w[n-1] w[n1] w [ n − 2 ] w[n-2] w[n2]
        w [ n − 1 ] w[n-1] w[n1] 引出支路乘以 − a 1 = − 0.1 -a_1 = -0.1 a1=0.1 加到 x [ n ] x[n] x[n] 之后。
        w [ n − 2 ] w[n-2] w[n2] 引出支路乘以 − a 2 = 0.06 -a_2 = 0.06 a2=0.06 加到 x [ n ] x[n] x[n] 之后。
      4. 前馈部分: y [ n ] = b 0 w [ n ] + b 1 w [ n − 1 ] = 1 ⋅ w [ n ] − 0.2 w [ n − 1 ] y[n] = b_0 w[n] + b_1 w[n-1] = 1 \cdot w[n] - 0.2 w[n-1] y[n]=b0w[n]+b1w[n1]=1w[n]0.2w[n1]
        w [ n ] w[n] w[n] 引出支路乘以 b 0 = 1 b_0=1 b0=1
        w [ n − 1 ] w[n-1] w[n1] (第一个延迟器输出) 引出支路乘以 b 1 = − 0.2 b_1=-0.2 b1=0.2
        两者相加得到 y [ n ] y[n] y[n]

3. FIR 系统基本结构

H ( z ) = ∑ k = 0 M b k z − k H(z) = \sum_{k=0}^{M} b_k z^{-k} H(z)=k=0Mbkzk (只有分子,或 h [ n ] h[n] h[n])

  1. 直接型 (Direct Form / Tapped Delay Line):

    • 一条延迟链,系数 b k b_k bk (即 h [ k ] h[k] h[k]) 从延迟链的抽头引出加权求和。
  2. 级联型 (Cascade Form):

    • H ( z ) H(z) H(z) 的零点配对(实数零点或共轭复数零点对),分解为一阶或二阶因子的乘积,每个因子用直接型实现。
  3. 线性相位FIR系统结构 (Linear Phase FIR Structure):

    • 利用 h [ n ] h[n] h[n] 的对称性 ( h [ n ] = h [ M − n ] h[n]=h[M-n] h[n]=h[Mn]) 或反对称性 ( h [ n ] = − h [ M − n ] h[n]=-h[M-n] h[n]=h[Mn]) 来减少乘法器数量。
    • 四种类型: (M是滤波器的阶数,长度为M+1)
      • Type I: h [ n ] h[n] h[n] 对称 ( h [ n ] = h [ M − n ] h[n]=h[M-n] h[n]=h[Mn]),长度 M + 1 M+1 M+1 为奇数 (M为偶数)。
      • Type II: h [ n ] h[n] h[n] 对称 ( h [ n ] = h [ M − n ] h[n]=h[M-n] h[n]=h[Mn]),长度 M + 1 M+1 M+1 为偶数 (M为奇数)。
      • Type III: h [ n ] h[n] h[n] 反对称 ( h [ n ] = − h [ M − n ] h[n]=-h[M-n] h[n]=h[Mn]),长度 M + 1 M+1 M+1 为奇数 (M为偶数)。 h [ M / 2 ] = 0 h[M/2]=0 h[M/2]=0
      • Type IV: h [ n ] h[n] h[n] 反对称 ( h [ n ] = − h [ M − n ] h[n]=-h[M-n] h[n]=h[Mn]),长度 M + 1 M+1 M+1 为偶数 (M为奇数)。
    • 画法 (以Type I为例,M为偶数):
      y [ n ] = ∑ k = 0 M h [ k ] x [ n − k ] y[n] = \sum_{k=0}^{M} h[k]x[n-k] y[n]=k=0Mh[k]x[nk]
      y [ n ] = h [ 0 ] ( x [ n ] + x [ n − M ] ) + h [ 1 ] ( x [ n − 1 ] + x [ n − M + 1 ] ) + ⋯ + h [ M / 2 − 1 ] ( x [ n − ( M / 2 − 1 ) ] + x [ n − ( M / 2 + 1 ) ] ) + h [ M / 2 ] x [ n − M / 2 ] y[n] = h[0](x[n]+x[n-M]) + h[1](x[n-1]+x[n-M+1]) + \dots + h[M/2-1](x[n-(M/2-1)]+x[n-(M/2+1)]) + h[M/2]x[n-M/2] y[n]=h[0](x[n]+x[nM])+h[1](x[n1]+x[nM+1])++h[M/21](x[n(M/21)]+x[n(M/2+1)])+h[M/2]x[nM/2]
      1. 画出所有 M M M 个延迟器。
      2. 将对称位置的输入信号 x [ n − k ] x[n-k] x[nk] x [ n − ( M − k ) ] x[n-(M-k)] x[n(Mk)] 相加 (对称) 或相减 (反对称),然后乘以共同的系数 h [ k ] h[k] h[k]
      3. Type II 和 Type IV (长度偶数) 中间没有单独的项。
      4. Type III 和 Type IV 的反对称性体现在相减操作上。
  • 例: H ( z ) = 1 + 2 z − 1 + 3 z − 2 + 2 z − 3 + z − 4 H(z) = 1 + 2z^{-1} + 3z^{-2} + 2z^{-3} + z^{-4} H(z)=1+2z1+3z2+2z3+z4,画出其线性相位结构。
    h [ n ] = { 1 ↑ , 2 , 3 , 2 , 1 } h[n] = \{\underset{\uparrow}{1}, 2, 3, 2, 1\} h[n]={1,2,3,2,1}。阶数 M = 4 M=4 M=4 (偶数),长度 M + 1 = 5 M+1=5 M+1=5 (奇数)。
    h [ 0 ] = h [ 4 ] = 1 h[0]=h[4]=1 h[0]=h[4]=1, h [ 1 ] = h [ 3 ] = 2 h[1]=h[3]=2 h[1]=h[3]=2, h [ 2 ] = 3 h[2]=3 h[2]=3。对称结构。
    此为 Type I FIR 滤波器。
    1. 画出4个延迟器 z − 1 z^{-1} z1。输入 x [ n ] x[n] x[n],输出依次为 x [ n − 1 ] , x [ n − 2 ] , x [ n − 3 ] , x [ n − 4 ] x[n-1], x[n-2], x[n-3], x[n-4] x[n1],x[n2],x[n3],x[n4]
    2. ( x [ n ] + x [ n − 4 ] ) (x[n] + x[n-4]) (x[n]+x[n4]) 乘以系数 h [ 0 ] = 1 h[0]=1 h[0]=1
    3. ( x [ n − 1 ] + x [ n − 3 ] ) (x[n-1] + x[n-3]) (x[n1]+x[n3]) 乘以系数 h [ 1 ] = 2 h[1]=2 h[1]=2
    4. x [ n − 2 ] x[n-2] x[n2] 乘以系数 h [ 2 ] = 3 h[2]=3 h[2]=3
    5. 将三路结果相加得到 y [ n ] y[n] y[n]。乘法器数量为 M / 2 + 1 = 4 / 2 + 1 = 3 M/2+1 = 4/2+1 = 3 M/2+1=4/2+1=3 个。

五、题型四:IIR 滤波器设计

基本思想:利用成熟的模拟滤波器设计方法(如巴特沃斯、切比雪夫),然后通过变换将其转换为数字滤波器。

1. 脉冲响应不变法 (Impulse Invariance Method)

  • 思想: 使数字滤波器的单位脉冲响应 h [ n ] h[n] h[n] 是原型模拟滤波器单位脉冲响应 h a ( t ) h_a(t) ha(t) (或 h c ( t ) h_c(t) hc(t)) 的采样,并乘以采样周期 T d T_d Td (或 T T T)。
    h [ n ] = T d ⋅ h a ( n T d ) h[n] = T_d \cdot h_a(nT_d) h[n]=Tdha(nTd)

  • 系统函数转换:
    若模拟滤波器 H a ( s ) = ∑ k = 1 N A k s − s k H_a(s) = \sum_{k=1}^{N} \frac{A_k}{s-s_k} Ha(s)=k=1NsskAk (部分分式展开,无重根, s k s_k sk 是极点)
    则数字滤波器 H ( z ) = ∑ k = 1 N T d A k 1 − e s k T d z − 1 H(z) = \sum_{k=1}^{N} \frac{T_d A_k}{1 - e^{s_k T_d} z^{-1}} H(z)=k=1N1eskTdz1TdAk

  • 频率响应映射:
    ω = Ω T d \omega = \Omega T_d ω=ΩTd (其中 ω \omega ω 是数字角频率, Ω \Omega Ω 是模拟角频率)
    H ( e j ω ) = ∑ k = − ∞ ∞ H a ( j ( ω T d − k 2 π T d ) ) H(e^{j\omega}) = \sum_{k=-\infty}^{\infty} H_a(j(\frac{\omega}{T_d} - k\frac{2\pi}{T_d})) H(e)=k=Ha(j(TdωkTd2π))
    存在频谱混叠问题!因为模拟滤波器的频率响应通常不是严格带限的。
    因此,此方法主要适用于设计低通和带通滤波器,且要求模拟滤波器在折叠频率 Ω s / 2 = π / T d \Omega_s/2 = \pi/T_d Ωs/2=π/Td 之外有足够衰减。

  • 设计步骤:

    1. 确定数字滤波器指标(如截止频率 ω p , ω s \omega_p, \omega_s ωp,ωs,衰减 A p , A s A_p, A_s Ap,As)。
    2. 选择采样周期 T d T_d Td (若未给出,可根据最高频率估算或题目指定)。
    3. 将数字频率指标转换为模拟频率指标: Ω p = ω p / T d , Ω s = ω s / T d \Omega_p = \omega_p/T_d, \Omega_s = \omega_s/T_d Ωp=ωp/Td,Ωs=ωs/Td
    4. 根据模拟指标设计模拟滤波器 H a ( s ) H_a(s) Ha(s) (如巴特沃斯、切比雪夫)。
    5. H a ( s ) H_a(s) Ha(s) 部分分式展开。
    6. 利用转换公式 A k / ( s − s k ) → T d A k / ( 1 − e s k T d z − 1 ) A_k/(s-s_k) \rightarrow T_d A_k/(1-e^{s_k T_d}z^{-1}) Ak/(ssk)TdAk/(1eskTdz1) 得到 H ( z ) H(z) H(z)
  • 例:已知模拟滤波器 H a ( s ) = s + 1 s 2 + 5 s + 6 H_a(s) = \frac{s+1}{s^2+5s+6} Ha(s)=s2+5s+6s+1,用脉冲响应不变法设计数字滤波器 H ( z ) H(z) H(z),设 T d = 0.1 T_d=0.1 Td=0.1s。

    1. 部分分式展开 H a ( s ) H_a(s) Ha(s)
      s 2 + 5 s + 6 = ( s + 2 ) ( s + 3 ) s^2+5s+6 = (s+2)(s+3) s2+5s+6=(s+2)(s+3)
      H a ( s ) = s + 1 ( s + 2 ) ( s + 3 ) = A 1 s + 2 + A 2 s + 3 H_a(s) = \frac{s+1}{(s+2)(s+3)} = \frac{A_1}{s+2} + \frac{A_2}{s+3} Ha(s)=(s+2)(s+3)s+1=s+2A1+s+3A2
      A 1 = [ ( s + 2 ) H a ( s ) ] s = − 2 = − 2 + 1 − 2 + 3 = − 1 1 = − 1 A_1 = [(s+2)H_a(s)]_{s=-2} = \frac{-2+1}{-2+3} = \frac{-1}{1} = -1 A1=[(s+2)Ha(s)]s=2=2+32+1=11=1
      A 2 = [ ( s + 3 ) H a ( s ) ] s = − 3 = − 3 + 1 − 3 + 2 = − 2 − 1 = 2 A_2 = [(s+3)H_a(s)]_{s=-3} = \frac{-3+1}{-3+2} = \frac{-2}{-1} = 2 A2=[(s+3)Ha(s)]s=3=3+23+1=12=2
      所以 H a ( s ) = − 1 s − ( − 2 ) + 2 s − ( − 3 ) H_a(s) = \frac{-1}{s-(-2)} + \frac{2}{s-(-3)} Ha(s)=s(2)1+s(3)2
      这里 s 1 = − 2 , s 2 = − 3 s_1=-2, s_2=-3 s1=2,s2=3
    2. 转换为 H ( z ) H(z) H(z)
      H ( z ) = T d A 1 1 − e s 1 T d z − 1 + T d A 2 1 − e s 2 T d z − 1 H(z) = \frac{T_d A_1}{1 - e^{s_1 T_d} z^{-1}} + \frac{T_d A_2}{1 - e^{s_2 T_d} z^{-1}} H(z)=1es1Tdz1TdA1+1es2Tdz1TdA2
      H ( z ) = 0.1 ( − 1 ) 1 − e − 2 ⋅ 0.1 z − 1 + 0.1 ( 2 ) 1 − e − 3 ⋅ 0.1 z − 1 H(z) = \frac{0.1(-1)}{1 - e^{-2 \cdot 0.1} z^{-1}} + \frac{0.1(2)}{1 - e^{-3 \cdot 0.1} z^{-1}} H(z)=1e20.1z10.1(1)+1e30.1z10.1(2)
      H ( z ) = − 0.1 1 − e − 0.2 z − 1 + 0.2 1 − e − 0.3 z − 1 H(z) = \frac{-0.1}{1 - e^{-0.2} z^{-1}} + \frac{0.2}{1 - e^{-0.3} z^{-1}} H(z)=1e0.2z10.1+1e0.3z10.2
      e − 0.2 ≈ 0.8187 e^{-0.2} \approx 0.8187 e0.20.8187, e − 0.3 ≈ 0.7408 e^{-0.3} \approx 0.7408 e0.30.7408
      H ( z ) = − 0.1 1 − 0.8187 z − 1 + 0.2 1 − 0.7408 z − 1 H(z) = \frac{-0.1}{1 - 0.8187 z^{-1}} + \frac{0.2}{1 - 0.7408 z^{-1}} H(z)=10.8187z10.1+10.7408z10.2

2. 双线性变换法 (Bilinear Transformation Method)

  • 思想: 将整个 s s s 平面的虚轴 j Ω j\Omega jΩ 非线性地、一对一地映射到 z z z 平面的单位圆 e j ω e^{j\omega} e 上,从而避免频谱混叠。

  • 转换公式:
    s = 2 T d 1 − z − 1 1 + z − 1 s = \frac{2}{T_d} \frac{1-z^{-1}}{1+z^{-1}} s=Td21+z11z1

  • 频率响应映射 (频率预畸变 - Prewarping):
    由于 s = j Ω s=j\Omega s=jΩ z = e j ω z=e^{j\omega} z=e 的关系是非线性的,数字域的临界频率 ω c \omega_c ωc 对应模拟域的临界频率 Ω c \Omega_c Ωc 关系为:
    Ω c = 2 T d tan ⁡ ( ω c 2 ) \Omega_c = \frac{2}{T_d} \tan(\frac{\omega_c}{2}) Ωc=Td2tan(2ωc)
    反之, ω c = 2 arctan ⁡ ( Ω c T d 2 ) \omega_c = 2 \arctan(\frac{\Omega_c T_d}{2}) ωc=2arctan(2ΩcTd)

  • 设计步骤:

    1. 确定数字滤波器指标(如 ω p , ω s , A p , A s \omega_p, \omega_s, A_p, A_s ωp,ωs,Ap,As)。
    2. 选择采样周期 T d T_d Td
    3. 预畸变: 将数字频率指标通过 Ω = 2 T d tan ⁡ ( ω 2 ) \Omega = \frac{2}{T_d} \tan(\frac{\omega}{2}) Ω=Td2tan(2ω) 转换为模拟滤波器对应的频率指标 Ω p , Ω s \Omega_p, \Omega_s Ωp,Ωs
    4. 根据预畸变后的模拟指标设计模拟滤波器 H a ( s ) H_a(s) Ha(s)
    5. H a ( s ) H_a(s) Ha(s) 中的 s s s 替换为 2 T d 1 − z − 1 1 + z − 1 \frac{2}{T_d} \frac{1-z^{-1}}{1+z^{-1}} Td21+z11z1 得到 H ( z ) H(z) H(z)
  • 例:设计一个数字低通巴特沃斯滤波器,要求通带截止频率 f p = 1 f_p = 1 fp=1kHz,通带最大衰减 1 1 1dB。采样频率 f s = 10 f_s = 10 fs=10kHz。

    1. 数字频率指标:
      T d = 1 / f s = 1 / 10000 = 10 − 4 T_d = 1/f_s = 1/10000 = 10^{-4} Td=1/fs=1/10000=104 s。
      ω p = 2 π f p / f s = 2 π ( 1000 ) / 10000 = 0.2 π \omega_p = 2\pi f_p / f_s = 2\pi (1000) / 10000 = 0.2\pi ωp=2πfp/fs=2π(1000)/10000=0.2π rad。
    2. 预畸变:
      Ω p = 2 T d tan ⁡ ( ω p 2 ) = 2 10 − 4 tan ⁡ ( 0.2 π 2 ) = 2 ⋅ 10 4 tan ⁡ ( 0.1 π ) \Omega_p = \frac{2}{T_d} \tan(\frac{\omega_p}{2}) = \frac{2}{10^{-4}} \tan(\frac{0.2\pi}{2}) = 2 \cdot 10^4 \tan(0.1\pi) Ωp=Td2tan(2ωp)=1042tan(20.2π)=2104tan(0.1π)
      tan ⁡ ( 0.1 π ) ≈ tan ⁡ ( 18 ∘ ) ≈ 0.3249 \tan(0.1\pi) \approx \tan(18^\circ) \approx 0.3249 tan(0.1π)tan(18)0.3249
      Ω p ≈ 2 ⋅ 10 4 ⋅ 0.3249 = 6498 \Omega_p \approx 2 \cdot 10^4 \cdot 0.3249 = 6498 Ωp21040.3249=6498 rad/s。
    3. 设计模拟滤波器:
      对于一阶巴特沃斯滤波器, H a ( s ) = Ω p s + Ω p H_a(s) = \frac{\Omega_p}{s+\Omega_p} Ha(s)=s+ΩpΩp (幅度在 Ω p \Omega_p Ωp 处为 1 / 2 1/\sqrt{2} 1/2 ,即-3dB。若要求-1dB,则阶数可能更高或公式不同,这里以-3dB为例简化)。
      H a ( s ) = 6498 s + 6498 H_a(s) = \frac{6498}{s+6498} Ha(s)=s+64986498
    4. 双线性变换:
      s = 2 10 − 4 1 − z − 1 1 + z − 1 = 2 ⋅ 10 4 1 − z − 1 1 + z − 1 s = \frac{2}{10^{-4}} \frac{1-z^{-1}}{1+z^{-1}} = 2 \cdot 10^4 \frac{1-z^{-1}}{1+z^{-1}} s=10421+z11z1=21041+z11z1
      H ( z ) = 6498 2 ⋅ 10 4 1 − z − 1 1 + z − 1 + 6498 = 6498 ( 1 + z − 1 ) 20000 ( 1 − z − 1 ) + 6498 ( 1 + z − 1 ) H(z) = \frac{6498}{2 \cdot 10^4 \frac{1-z^{-1}}{1+z^{-1}} + 6498} = \frac{6498(1+z^{-1})}{20000(1-z^{-1}) + 6498(1+z^{-1})} H(z)=21041+z11z1+64986498=20000(1z1)+6498(1+z1)6498(1+z1)
      H ( z ) = 6498 ( 1 + z − 1 ) ( 20000 + 6498 ) + ( − 20000 + 6498 ) z − 1 = 6498 ( 1 + z − 1 ) 26498 − 13502 z − 1 H(z) = \frac{6498(1+z^{-1})}{(20000+6498) + (-20000+6498)z^{-1}} = \frac{6498(1+z^{-1})}{26498 - 13502z^{-1}} H(z)=(20000+6498)+(20000+6498)z16498(1+z1)=2649813502z16498(1+z1)
      H ( z ) ≈ 0.2452 ( 1 + z − 1 ) 1 − 0.5095 z − 1 H(z) \approx \frac{0.2452(1+z^{-1})}{1 - 0.5095z^{-1}} H(z)10.5095z10.2452(1+z1)

3. 方法对比

特性脉冲响应不变法双线性变换法
s → z s \to z sz 映射 s k → e s k T d s_k \to e^{s_k T_d} skeskTd (极点映射) s → 2 T d 1 − z − 1 1 + z − 1 s \to \frac{2}{T_d}\frac{1-z^{-1}}{1+z^{-1}} sTd21+z11z1 (全平面映射)
频率映射 ω = Ω T d \omega = \Omega T_d ω=ΩTd (线性) Ω = 2 T d tan ⁡ ( ω 2 ) \Omega = \frac{2}{T_d}\tan(\frac{\omega}{2}) Ω=Td2tan(2ω) (非线性,需预畸变)
频谱混叠存在不存在
适用滤波器类型主要用于低通、带通 (对高频衰减要求高)低通、高通、带通、带阻 (除理想微分器等)
冲激响应 h [ n ] = T d h a ( n T d ) h[n] = T_d h_a(nT_d) h[n]=Tdha(nTd) (保持形状)无简单关系,不保持冲激响应形状
直流特性不一定保持 ( H ( e j 0 ) ≠ H a ( j 0 ) H(e^{j0}) \neq H_a(j0) H(ej0)=Ha(j0))保持 ( H ( e j 0 ) = H a ( j 0 ) H(e^{j0}) = H_a(j0) H(ej0)=Ha(j0))
稳定性若模拟滤波器稳定,则数字滤波器稳定若模拟滤波器稳定,则数字滤波器稳定

六、题型五:离散傅里叶变换 (DFT)

1. 离散傅里叶级数 (DFS)

  • 用于周期序列 x ~ [ n ] \tilde{x}[n] x~[n] (周期为 N N N)。
  • DFS对:
    • 分析式 (求频谱系数): X ~ [ k ] = ∑ n = 0 N − 1 x ~ [ n ] e − j 2 π N k n = ∑ n = 0 N − 1 x ~ [ n ] W N k n \tilde{X}[k] = \sum_{n=0}^{N-1} \tilde{x}[n] e^{-j\frac{2\pi}{N}kn} = \sum_{n=0}^{N-1} \tilde{x}[n] W_N^{kn} X~[k]=n=0N1x~[n]ejN2πkn=n=0N1x~[n]WNkn
    • 综合式 (由频谱恢复序列): x ~ [ n ] = 1 N ∑ k = 0 N − 1 X ~ [ k ] e j 2 π N k n = 1 N ∑ k = 0 N − 1 X ~ [ k ] W N − k n \tilde{x}[n] = \frac{1}{N} \sum_{k=0}^{N-1} \tilde{X}[k] e^{j\frac{2\pi}{N}kn} = \frac{1}{N} \sum_{k=0}^{N-1} \tilde{X}[k] W_N^{-kn} x~[n]=N1k=0N1X~[k]ejN2πkn=N1k=0N1X~[k]WNkn
    • 其中 W N = e − j 2 π N W_N = e^{-j\frac{2\pi}{N}} WN=ejN2π
  • X ~ [ k ] \tilde{X}[k] X~[k] 也是周期为 N N N 的周期序列。
  • 周期序列的DTFT: X D T F T ( e j ω ) = ∑ k = − ∞ ∞ 2 π N X ~ [ k ] δ ( ω − 2 π k N ( m o d 2 π ) ) X_{DTFT}(e^{j\omega}) = \sum_{k=-\infty}^{\infty} \frac{2\pi}{N} \tilde{X}[k] \delta(\omega - \frac{2\pi k}{N} \pmod{2\pi}) XDTFT(e)=k=N2πX~[k]δ(ωN2πk(mod2π))
    结论:周期序列的频谱是离散的(谱线),只在 ω k = 2 π k / N \omega_k = 2\pi k/N ωk=2πk/N 处有值。

2. 离散傅里叶变换 (DFT)

  • 用于有限长序列 x [ n ] x[n] x[n] (假设长度为 M M M),或周期序列的一个主周期。

  • DFT计算的是序列DTFT在 [ 0 , 2 π ) [0, 2\pi) [0,2π) 上的 N N N 个等间隔频率点的采样值 (通常取 N ≥ M N \ge M NM)。

  • N N N点DFT对: (对长度为 M M M 的序列 x [ n ] x[n] x[n],若 N > M N>M N>M,则 x [ n ] x[n] x[n] 尾部补零到 N N N 点;若 N < M N<M N<M,会发生时域混叠)

    • 分析式: X [ k ] = ∑ n = 0 N − 1 x [ n ] W N k n X[k] = \sum_{n=0}^{N-1} x[n] W_N^{kn} X[k]=n=0N1x[n]WNkn, k = 0 , 1 , … , N − 1 k=0, 1, \dots, N-1 k=0,1,,N1
    • 综合式 (IDFT): x [ n ] = 1 N ∑ k = 0 N − 1 X [ k ] W N − k n x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] W_N^{-kn} x[n]=N1k=0N1X[k]WNkn, n = 0 , 1 , … , N − 1 n=0, 1, \dots, N-1 n=0,1,,N1
  • DFT与DTFT的关系:
    X [ k ] = X D T F T ( e j ω ) ∣ ω = 2 π k N X[k] = X_{DTFT}(e^{j\omega})|_{\omega = \frac{2\pi k}{N}} X[k]=XDTFT(e)ω=N2πk, for k = 0 , 1 , … , N − 1 k=0, 1, \dots, N-1 k=0,1,,N1.
    DFT是DTFT在 N N N 个频率点上的采样。

  • DFT与DFS的关系:
    x ~ [ n ] \tilde{x}[n] x~[n] x [ n ] x[n] x[n] (长度 M ≤ N M \le N MN) 以 N N N 为周期的周期延拓,则 X ~ [ k ] \tilde{X}[k] X~[k] (DFS系数) 等于 X [ k ] X[k] X[k] (DFT系数)。
    X [ k ] = X ~ [ k ] X[k] = \tilde{X}[k] X[k]=X~[k] for k = 0 , … , N − 1 k=0, \dots, N-1 k=0,,N1.
    x [ n ] x[n] x[n] (IDFT结果) 是 x ~ [ n ] \tilde{x}[n] x~[n] (IDFS结果) 的一个主值周期。

  • 例:求序列 x [ n ] = { 1 ↑ , 2 , 3 , 4 } x[n]=\{\underset{\uparrow}{1}, 2, 3, 4\} x[n]={1,2,3,4} 的4点DFT。
    x [ 0 ] = 1 , x [ 1 ] = 2 , x [ 2 ] = 3 , x [ 3 ] = 4 x[0]=1, x[1]=2, x[2]=3, x[3]=4 x[0]=1,x[1]=2,x[2]=3,x[3]=4 N = 4 N=4 N=4 W 4 = e − j 2 π / 4 = e − j π / 2 = − j W_4 = e^{-j2\pi/4} = e^{-j\pi/2} = -j W4=ej2π/4=e/2=j
    X [ k ] = ∑ n = 0 3 x [ n ] W 4 k n X[k] = \sum_{n=0}^{3} x[n] W_4^{kn} X[k]=n=03x[n]W4kn

    • X [ 0 ] = ∑ x [ n ] W 4 0 = x [ 0 ] + x [ 1 ] + x [ 2 ] + x [ 3 ] = 1 + 2 + 3 + 4 = 10 X[0] = \sum x[n] W_4^0 = x[0]+x[1]+x[2]+x[3] = 1+2+3+4 = 10 X[0]=x[n]W40=x[0]+x[1]+x[2]+x[3]=1+2+3+4=10
    • X [ 1 ] = x [ 0 ] W 4 0 + x [ 1 ] W 4 1 + x [ 2 ] W 4 2 + x [ 3 ] W 4 3 X[1] = x[0]W_4^0 + x[1]W_4^1 + x[2]W_4^2 + x[3]W_4^3 X[1]=x[0]W40+x[1]W41+x[2]W42+x[3]W43
      = 1 ( 1 ) + 2 ( − j ) + 3 ( − j ) 2 + 4 ( − j ) 3 = 1(1) + 2(-j) + 3(-j)^2 + 4(-j)^3 =1(1)+2(j)+3(j)2+4(j)3
      = 1 − 2 j + 3 ( − 1 ) + 4 ( j ) = 1 − 2 j − 3 + 4 j = − 2 + 2 j = 1 - 2j + 3(-1) + 4(j) = 1 - 2j - 3 + 4j = -2 + 2j =12j+3(1)+4(j)=12j3+4j=2+2j
    • X [ 2 ] = x [ 0 ] W 4 0 + x [ 1 ] W 4 2 + x [ 2 ] W 4 4 + x [ 3 ] W 4 6 X[2] = x[0]W_4^0 + x[1]W_4^2 + x[2]W_4^4 + x[3]W_4^6 X[2]=x[0]W40+x[1]W42+x[2]W44+x[3]W46
      = 1 ( 1 ) + 2 ( − 1 ) + 3 ( 1 ) + 4 ( − 1 ) 3 = 1 − 2 + 3 − 4 = − 2 = 1(1) + 2(-1) + 3(1) + 4(-1)^3 = 1 - 2 + 3 - 4 = -2 =1(1)+2(1)+3(1)+4(1)3=12+34=2
      ( W 4 4 = ( W 4 2 ) 2 = ( − 1 ) 2 = 1 W_4^4 = (W_4^2)^2 = (-1)^2 = 1 W44=(W42)2=(1)2=1, W 4 6 = W 4 2 ⋅ W 4 4 = − 1 ⋅ 1 = − 1 W_4^6 = W_4^2 \cdot W_4^4 = -1 \cdot 1 = -1 W46=W42W44=11=1)
    • X [ 3 ] = x [ 0 ] W 4 0 + x [ 1 ] W 4 3 + x [ 2 ] W 4 6 + x [ 3 ] W 4 9 X[3] = x[0]W_4^0 + x[1]W_4^3 + x[2]W_4^6 + x[3]W_4^9 X[3]=x[0]W40+x[1]W43+x[2]W46+x[3]W49
      = 1 ( 1 ) + 2 ( j ) + 3 ( − 1 ) + 4 ( W 4 1 ⋅ W 4 8 = − j ⋅ 1 = − j ) = 1(1) + 2(j) + 3(-1) + 4(W_4^1 \cdot W_4^8 = -j \cdot 1 = -j) =1(1)+2(j)+3(1)+4(W41W48=j1=j)
      = 1 + 2 j − 3 − 4 j = − 2 − 2 j = 1 + 2j - 3 - 4j = -2 - 2j =1+2j34j=22j
      所以, X [ k ] = { 10 , − 2 + 2 j , − 2 , − 2 − 2 j } X[k] = \{10, -2+2j, -2, -2-2j\} X[k]={10,2+2j,2,22j}
      注意:对于实序列 x [ n ] x[n] x[n] X [ k ] X[k] X[k] 具有共轭对称性 X [ k ] = X ∗ [ N − k ] X[k] = X^*[N-k] X[k]=X[Nk]
      X [ 3 ] = X ∗ [ 4 − 3 ] = X ∗ [ 1 ] X[3] = X^*[4-3] = X^*[1] X[3]=X[43]=X[1] ( − 2 − 2 j ) = ( − 2 + 2 j ) ∗ (-2-2j) = (-2+2j)^* (22j)=(2+2j)

3. DFT性质

  • 线性、周期性 ( X [ k + N ] = X [ k ] , x [ n + N ] = x [ n ] X[k+N]=X[k], x[n+N]=x[n] X[k+N]=X[k],x[n+N]=x[n] 隐含在DFT定义中)

  • 循环移位 (Circular Shift):
    x ( ( n − m ) ) N ↔ W N k m X [ k ] x((n-m))_N \leftrightarrow W_N^{km} X[k] x((nm))NWNkmX[k]
    W N − l n x [ n ] ↔ X ( ( k − l ) ) N W_N^{-ln} x[n] \leftrightarrow X((k-l))_N WNlnx[n]X((kl))N
    ( ( n − m ) ) N ((n-m))_N ((nm))N 表示对 n − m n-m nm N N N 运算 (结果在 0 … N − 1 0 \dots N-1 0N1 之间)。

  • 循环卷积 (Circular Convolution):
    y [ n ] = x 1 [ n ] ⊛ N x 2 [ n ] = ∑ m = 0 N − 1 x 1 [ m ] x 2 ( ( n − m ) ) N ↔ X 1 [ k ] X 2 [ k ] y[n] = x_1[n] \circledast_N x_2[n] = \sum_{m=0}^{N-1} x_1[m] x_2((n-m))_N \leftrightarrow X_1[k]X_2[k] y[n]=x1[n]Nx2[n]=m=0N1x1[m]x2((nm))NX1[k]X2[k]

    • 计算方法 (时域):
      1. x 2 [ m ] x_2[m] x2[m] 保持不动。
      2. x 1 [ m ] x_1[m] x1[m] 反转得到 x 1 [ − m ] x_1[-m] x1[m]
      3. x 1 [ − m ] x_1[-m] x1[m] 循环右移 n n n 位得到 x 1 ( ( n − m ) ) N x_1((n-m))_N x1((nm))N
      4. x 1 ( ( n − m ) ) N x_1((n-m))_N x1((nm))N x 2 [ m ] x_2[m] x2[m] 对应相乘并求和。
    • 通过线性卷积计算循环卷积:
      1. 计算 x 1 [ n ] x_1[n] x1[n] x 2 [ n ] x_2[n] x2[n] 的线性卷积 y L [ n ] y_L[n] yL[n] (长度 M 1 + M 2 − 1 M_1+M_2-1 M1+M21)。假设 x 1 , x 2 x_1, x_2 x1,x2 长度都为 N N N (或已补零到 N N N)。则 y L [ n ] y_L[n] yL[n] 长度为 2 N − 1 2N-1 2N1
      2. N N N 点循环卷积 y [ n ] y[n] y[n] y L [ n ] y_L[n] yL[n] N N N 为周期的混叠版本:
        y [ n ] = ∑ r = 0 ⌊ ( L − 1 ) / N ⌋ y L [ n + r N ] y[n] = \sum_{r=0}^{\lfloor (L-1)/N \rfloor} y_L[n+rN] y[n]=r=0⌊(L1)/NyL[n+rN] for n = 0 , … , N − 1 n=0, \dots, N-1 n=0,,N1, 其中 L = M 1 + M 2 − 1 L=M_1+M_2-1 L=M1+M21
        (即将 y L [ n ] y_L[n] yL[n] 中从第 N N N 个点开始的部分,周期性地叠加到前面 N N N 点上)
  • 例: x 1 [ n ] = { 1 ↑ , 2 , 1 , 0 } x_1[n]=\{\underset{\uparrow}{1},2,1,0\} x1[n]={1,2,1,0}, x 2 [ n ] = { 1 ↑ , 1 , 2 , 0 } x_2[n]=\{\underset{\uparrow}{1},1,2,0\} x2[n]={1,1,2,0} (均为4点序列)。求4点循环卷积。

    1. 线性卷积 y L [ n ] y_L[n] yL[n]:
      x 1 [ n ] x_1[n] x1[n]: 1 , 2 , 1 , 0 1, 2, 1, 0 1,2,1,0
      x 2 [ n ] x_2[n] x2[n]: 1 , 1 , 2 , 0 1, 1, 2, 0 1,1,2,0

            1   2   1   0
      x     1   1   2   0
      --------------------0   0   0   0   (x0)2   4   2   0     (x2, shifted)1   2   1   0       (x1, shifted)
      1   2   1   0         (x1, shifted)
      --------------------
      1   3   5   3   2   0   0
      

      y L [ n ] = { 1 , 3 , 5 , 3 , 2 , 0 , 0 } y_L[n] = \{1, 3, 5, 3, 2, 0, 0\} yL[n]={1,3,5,3,2,0,0} (长度 4 + 4 − 1 = 7 4+4-1=7 4+41=7)
      y L [ 0 ] = 1 , y L [ 1 ] = 3 , y L [ 2 ] = 5 , y L [ 3 ] = 3 , y L [ 4 ] = 2 , y L [ 5 ] = 0 , y L [ 6 ] = 0 y_L[0]=1, y_L[1]=3, y_L[2]=5, y_L[3]=3, y_L[4]=2, y_L[5]=0, y_L[6]=0 yL[0]=1,yL[1]=3,yL[2]=5,yL[3]=3,yL[4]=2,yL[5]=0,yL[6]=0

    2. 4点循环卷积 y [ n ] y[n] y[n]: N = 4 N=4 N=4.
      y [ 0 ] = y L [ 0 ] + y L [ 4 ] = 1 + 2 = 3 y[0] = y_L[0] + y_L[4] = 1 + 2 = 3 y[0]=yL[0]+yL[4]=1+2=3
      y [ 1 ] = y L [ 1 ] + y L [ 5 ] = 3 + 0 = 3 y[1] = y_L[1] + y_L[5] = 3 + 0 = 3 y[1]=yL[1]+yL[5]=3+0=3
      y [ 2 ] = y L [ 2 ] + y L [ 6 ] = 5 + 0 = 5 y[2] = y_L[2] + y_L[6] = 5 + 0 = 5 y[2]=yL[2]+yL[6]=5+0=5
      y [ 3 ] = y L [ 3 ] = 3 y[3] = y_L[3] = 3 y[3]=yL[3]=3
      y [ n ] = { 3 ↑ , 3 , 5 , 3 } y[n] = \{\underset{\uparrow}{3}, 3, 5, 3\} y[n]={3,3,5,3}

  • 对称性、Parseval定理等。

  • 补零 (Zero-padding):
    在有限长序列 x [ n ] x[n] x[n] (长度 M M M) 尾部补 L L L 个零,得到长度为 N = M + L N=M+L N=M+L 的新序列 x p [ n ] x_p[n] xp[n]
    X p [ k ] X_p[k] Xp[k] (N点DFT) 是 X D T F T ( e j ω ) X_{DTFT}(e^{j\omega}) XDTFT(e) (原序列DTFT) 在 N N N 个点上的采样。
    补零不改变DTFT的包络形状,但增加了DFT的采样点数(提高了频率分辨率),使DFT谱更精细,能更好显示DTFT的细节。补零可以用来通过FFT计算线性卷积。

七、题型六:快速傅里叶变换 (FFT)

FFT是DFT的一种高效算法,利用旋转因子 W N k n W_N^{kn} WNkn 的对称性和周期性减少运算量。主要有时间抽取 (DIT) 和频率抽取 (DIF) 两大类。

1. DIT-FFT (Decimation-In-Time FFT / 时域抽取法)

  • 基本思想: 将输入序列 x [ n ] x[n] x[n] 按奇偶项分解为两个 N / 2 N/2 N/2 点的子序列。
    X [ k ] = ∑ m = 0 N / 2 − 1 x [ 2 m ] W N 2 m k + ∑ m = 0 N / 2 − 1 x [ 2 m + 1 ] W N ( 2 m + 1 ) k X[k] = \sum_{m=0}^{N/2-1} x[2m]W_N^{2mk} + \sum_{m=0}^{N/2-1} x[2m+1]W_N^{(2m+1)k} X[k]=m=0N/21x[2m]WN2mk+m=0N/21x[2m+1]WN(2m+1)k
    利用 W N 2 = W N / 2 W_N^2 = W_{N/2} WN2=WN/2
    X [ k ] = ∑ m = 0 N / 2 − 1 x e v e n [ m ] W N / 2 m k + W N k ∑ m = 0 N / 2 − 1 x o d d [ m ] W N / 2 m k X[k] = \sum_{m=0}^{N/2-1} x_{even}[m]W_{N/2}^{mk} + W_N^k \sum_{m=0}^{N/2-1} x_{odd}[m]W_{N/2}^{mk} X[k]=m=0N/21xeven[m]WN/2mk+WNkm=0N/21xodd[m]WN/2mk
    X [ k ] = G [ k ] + W N k H [ k ] X[k] = G[k] + W_N^k H[k] X[k]=G[k]+WNkH[k] for k = 0 , … , N − 1 k=0, \dots, N-1 k=0,,N1 (注意 G [ k ] G[k] G[k] H [ k ] H[k] H[k] N / 2 N/2 N/2 点DFT,周期为 N / 2 N/2 N/2)
  • 对于 k = 0 , … , N / 2 − 1 k = 0, \dots, N/2-1 k=0,,N/21:
    X [ k ] = G [ k ] + W N k H [ k ] X[k] = G[k] + W_N^k H[k] X[k]=G[k]+WNkH[k]
  • 利用 W N k + N / 2 = − W N k W_N^{k+N/2} = -W_N^k WNk+N/2=WNk G [ k + N / 2 ] = G [ k ] , H [ k + N / 2 ] = H [ k ] G[k+N/2]=G[k], H[k+N/2]=H[k] G[k+N/2]=G[k],H[k+N/2]=H[k]:
    X [ k + N / 2 ] = G [ k ] − W N k H [ k ] X[k+N/2] = G[k] - W_N^k H[k] X[k+N/2]=G[k]WNkH[k] for k = 0 , … , N / 2 − 1 k=0, \dots, N/2-1 k=0,,N/21
  • 蝶形运算 (Butterfly Operation):
    输入 A , B A, B A,B,旋转因子 W N p W_N^p WNp
    输出 A ′ = A + W N p B A' = A + W_N^p B A=A+WNpB
    输出 B ′ = A − W N p B B' = A - W_N^p B B=AWNpB
  • 特点:
    • 输入序列需要按位倒序 (bit-reversed order) 排列。
    • 输出序列是自然顺序 (natural order)。
    • 逐级分解,直到2点DFT。

2. DIF-FFT (Decimation-In-Frequency FFT / 频域抽取法)

  • 基本思想: 将输出序列 X [ k ] X[k] X[k] 按奇偶项分解。
    x [ n ] x[n] x[n] 分为前半部分 x 1 [ n ] = x [ n ] x_1[n]=x[n] x1[n]=x[n] 和后半部分 x 2 [ n ] = x [ n + N / 2 ] x_2[n]=x[n+N/2] x2[n]=x[n+N/2] for n = 0 , … , N / 2 − 1 n=0, \dots, N/2-1 n=0,,N/21.
    X [ 2 k ] = ∑ n = 0 N / 2 − 1 ( x [ n ] + x [ n + N / 2 ] ) W N / 2 k n X[2k] = \sum_{n=0}^{N/2-1} (x[n]+x[n+N/2]) W_{N/2}^{kn} X[2k]=n=0N/21(x[n]+x[n+N/2])WN/2kn (偶数频率分量DFT)
    X [ 2 k + 1 ] = ∑ n = 0 N / 2 − 1 ( ( x [ n ] − x [ n + N / 2 ] ) W N n ) W N / 2 k n X[2k+1] = \sum_{n=0}^{N/2-1} ((x[n]-x[n+N/2])W_N^n) W_{N/2}^{kn} X[2k+1]=n=0N/21((x[n]x[n+N/2])WNn)WN/2kn (奇数频率分量DFT)
  • 蝶形运算:
    输入 A , B A, B A,B
    输出 A ′ = A + B A' = A+B A=A+B
    输出 B ′ = ( A − B ) W N p B' = (A-B)W_N^p B=(AB)WNp (旋转因子在输出端)
  • 特点:
    • 输入序列是自然顺序。
    • 输出序列需要按位倒序排列。

3. 蝶形图 (Butterfly Diagram) - 以8点DIT-FFT为例

  • N = 8 = 2 3 N=8=2^3 N=8=23 点FFT有 M = log ⁡ 2 N = 3 M = \log_2 N = 3 M=log2N=3 级。
  • 输入位倒序:
    x [ 000 ] → x [ 0 ] x[000] \to x[0] x[000]x[0]
    x [ 001 ] → x [ 4 ] x[001] \to x[4] x[001]x[4]
    x [ 010 ] → x [ 2 ] x[010] \to x[2] x[010]x[2]
    x [ 011 ] → x [ 6 ] x[011] \to x[6] x[011]x[6]
    x [ 100 ] → x [ 1 ] x[100] \to x[1] x[100]x[1]
    x [ 101 ] → x [ 5 ] x[101] \to x[5] x[101]x[5]
    x [ 110 ] → x [ 3 ] x[110] \to x[3] x[110]x[3]
    x [ 111 ] → x [ 7 ] x[111] \to x[7] x[111]x[7]
    输入顺序为 x [ 0 ] , x [ 4 ] , x [ 2 ] , x [ 6 ] , x [ 1 ] , x [ 5 ] , x [ 3 ] , x [ 7 ] x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7] x[0],x[4],x[2],x[6],x[1],x[5],x[3],x[7]
  • 第一级 (2点DFT):
    ( x [ 0 ] , x [ 4 ] ) → ( G 0 [ 0 ] , G 0 [ 1 ] ) (x[0], x[4]) \to (G_0[0], G_0[1]) (x[0],x[4])(G0[0],G0[1]) with W 8 0 W_8^0 W80
    ( x [ 2 ] , x [ 6 ] ) → ( G 1 [ 0 ] , G 1 [ 1 ] ) (x[2], x[6]) \to (G_1[0], G_1[1]) (x[2],x[6])(G1[0],G1[1]) with W 8 0 W_8^0 W80
    ( x [ 1 ] , x [ 5 ] ) → ( H 0 [ 0 ] , H 0 [ 1 ] ) (x[1], x[5]) \to (H_0[0], H_0[1]) (x[1],x[5])(H0[0],H0[1]) with W 8 0 W_8^0 W80
    ( x [ 3 ] , x [ 7 ] ) → ( H 1 [ 0 ] , H 1 [ 1 ] ) (x[3], x[7]) \to (H_1[0], H_1[1]) (x[3],x[7])(H1[0],H1[1]) with W 8 0 W_8^0 W80
  • 第二级 (4点DFT的组合):
    ( G 0 [ 0 ] , G 1 [ 0 ] ) (G_0[0], G_1[0]) (G0[0],G1[0]) with W 8 0 W_8^0 W80 and ( G 0 [ 1 ] , G 1 [ 1 ] ) (G_0[1], G_1[1]) (G0[1],G1[1]) with W 8 2 W_8^2 W82 to form intermediate X e v e n [ 0..3 ] X_{even}[0..3] Xeven[0..3]
    ( H 0 [ 0 ] , H 1 [ 0 ] ) (H_0[0], H_1[0]) (H0[0],H1[0]) with W 8 0 W_8^0 W80 and ( H 0 [ 1 ] , H 1 [ 1 ] ) (H_0[1], H_1[1]) (H0[1],H1[1]) with W 8 2 W_8^2 W82 to form intermediate X o d d [ 0..3 ] X_{odd}[0..3] Xodd[0..3]
  • 第三级 (8点DFT的组合):
    ( X e v e n [ 0 ] , X o d d [ 0 ] ) (X_{even}[0], X_{odd}[0]) (Xeven[0],Xodd[0]) with W 8 0 W_8^0 W80
    ( X e v e n [ 1 ] , X o d d [ 1 ] ) (X_{even}[1], X_{odd}[1]) (Xeven[1],Xodd[1]) with W 8 1 W_8^1 W81
    ( X e v e n [ 2 ] , X o d d [ 2 ] ) (X_{even}[2], X_{odd}[2]) (Xeven[2],Xodd[2]) with W 8 2 W_8^2 W82
    ( X e v e n [ 3 ] , X o d d [ 3 ] ) (X_{even}[3], X_{odd}[3]) (Xeven[3],Xodd[3]) with W 8 3 W_8^3 W83
    得到自然顺序的 X [ 0 ] , … , X [ 7 ] X[0], \dots, X[7] X[0],,X[7]

4. 计算量对比 (N点变换, N = 2 M N=2^M N=2M)

运算类型DFT (直接计算)FFT (基2)
复数乘法 N 2 N^2 N2 ( N / 2 ) log ⁡ 2 N (N/2)\log_2 N (N/2)log2N
复数加法 N ( N − 1 ) N(N-1) N(N1) N log ⁡ 2 N N \log_2 N Nlog2N
  • 1次复数乘法 ≈ \approx 4次实数乘法 + 2次实数加法
  • 1次复数加法 ≈ \approx 2次实数加法

FFT大大减少了运算量,特别是对于大的N。

八、总结:时域与频域的对偶关系

时域特性 (信号类型)频域特性 (频谱类型)对应变换 (主要数学工具)
连续,周期离散,非周期傅里叶级数 (FS - Fourier Series)
连续,非周期连续,非周期傅里叶变换 (FT - Fourier Transform)
离散,周期离散,周期离散傅里叶级数 (DFS - Discrete Fourier Series)
离散,非周期连续,周期离散时间傅里叶变换 (DTFT - Discrete-Time Fourier Transform)
(有限长序列)(DTFT的N点等间隔采样)(N点)离散傅里叶变换 (DFT - Discrete Fourier Transform)
  • 一个域的离散 ⇔ \Leftrightarrow 另一个域的周期性。
  • 一个域的连续 ⇔ \Leftrightarrow 另一个域的非周期性。

相关文章:

  • 【笔记】Windows系统部署suna基于 MSYS2的Poetry 虚拟环境backedn后端包编译失败处理
  • 295. 数据流的中位数
  • 二、Kubernetes 环境搭建
  • CA-Net复现
  • 8、电解电容—数据手册解读
  • 为什么使用 ./ 表示当前目录:深入解析路径表示法的起源与原理
  • 7.4-Creating data loaders for an instruction dataset
  • Nacos 2.4.3 登录配置
  • Day43
  • Day43 Python打卡训练营
  • Flickr30k Entities 短语定位评测沉浸式代码指南
  • 手机归属地查询接口如何用Java调用?
  • comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 2 :寻找丢失的model 和工作流中 get set 方法的应用
  • 新版智慧社区(小区)智能化弱电系统解决方案
  • 第18讲、Odoo接口开发详解:原理、类型与实践
  • 【CF】Day73——Codeforces Round 887 (Div. 2) B (思维 + 模拟)
  • 20250602在Ubuntu20.04.6下修改压缩包的日期和时间
  • 内网应用如何实现外网访问?无公网IP本地端口网址服务提供互联网连接
  • python打卡day43@浙大疏锦行
  • 软件开发项目管理工具选型及禅道开源版安装
  • 可以做视频推广的网站吗/百度快速收录技术
  • 公众号运营地区要真实吗/seo修改器
  • 项目外包 网站开发/网络营销专业好就业吗
  • 网站做关键词库的作用/如何制作网页广告
  • 巨野做网站的/seo平台优化服务
  • 莱芜车管所网站/一呼百应推广平台