预备知识·
傅里叶级数
傅里叶变换是 以时间 t t t 为自变量的时域信号 和 以频率 f f f 为自变量的频域函数 之间的变换关系。
对于周期为 T p T_p T p 的连续时间信号 x ~ ( t ) \tilde{x}(t) x ~ ( t ) ,其频谱 X ( j k Ω p ) X(jk\Omega_p) X ( j k Ω p ) 是离散非周期函数
X ( j k Ω p ) = 1 T p ∫ 1 T p 1 T p x ( t ) e − j k Ω p t d t x ~ ( t ) = ∑ k = − ∞ + ∞ X ( j k Ω p ) e j k Ω p t \begin{aligned}
X(jk\Omega_p) &= \dfrac{1}{T_p}\int_{\tfrac{1}{T_p}}^{\tfrac{1}{T_p}} x(t)e^{-jk\Omega_p t}dt\\
\tilde{x}(t) &= \sum_{k =-\infty}^{+\infty} X(jk\Omega_p)e^{jk\Omega_p t}
\end{aligned}
X ( j k Ω p ) x ~ ( t ) = T p 1 ∫ T p 1 T p 1 x ( t ) e − j k Ω p t d t = k = − ∞ ∑ + ∞ X ( j k Ω p ) e j k Ω p t
其中 Ω p = 2 π T p \Omega_p=\dfrac{2\pi}{T_p} Ω p = T p 2 π 为离散频谱两谱线间的角频率间隔,k k k 为谐波序号。
对于连续的非周期时间信号 x ( t ) x(t) x ( t ) ,其频谱 X ( j Ω ) X(j\Omega) X ( j Ω ) 是一个连续的非周期函数。满足
X ( j Ω ) = ∫ − ∞ + ∞ x ( t ) e − j ω t x ( t ) = 1 2 π ∫ − ∞ + ∞ X ( j Ω ) e j Ω t d Ω \begin{aligned}
X(j\Omega) &= \int_{-\infty}^{+\infty} x(t)e^{-j\omega t}\\
x(t) &= \dfrac{1}{2\pi}\int_{-\infty}^{+\infty} X(j\Omega)e^{j\Omega t}d \Omega
\end{aligned}
X ( j Ω ) x ( t ) = ∫ − ∞ + ∞ x ( t ) e − j ω t = 2 π 1 ∫ − ∞ + ∞ X ( j Ω ) e j Ω t d Ω
对于离散非周期信号,其频谱 X ~ ( e j ω ) \tilde{X}(e^{j\omega}) X ~ ( e j ω ) 是连续周期信号
X ~ ( e j ω ) = ∑ n = − ∞ + ∞ x [ n ] e − j ω n x [ n ] = 1 2 π ∫ − π π X ( e j ω ) e j ω n d ω \begin{aligned}
\tilde{X}(e^{j\omega}) &= \sum_{n =-\infty}^{+\infty} x [n] e^{-j\omega n}\\
x [n] &= \dfrac{1}{2\pi}\int_{-\pi}^{\pi}X(e^{j\omega})e^{j\omega n}d\omega
\end{aligned}
X ~ ( e j ω ) x [ n ] = n = − ∞ ∑ + ∞ x [ n ] e − j ω n = 2 π 1 ∫ − π π X ( e j ω ) e j ω n d ω
其中 ω \omega ω 是数字角频率,满足 ω = Ω p T s \omega=\Omega_p T_s ω = Ω p T s 。
可以看出,时间域的周期造成频谱的离散,时间域的非周期造成频谱的连续。
不过,上面的三种傅里叶变换总有一个域是连续的,这不能利用计算机辅助计算。
周期序列的离散傅里叶级数(DFS)·
离散非周期信号的频谱是连续的,将连续的傅里叶变换 N N N 点采样后,频域离散,时域周期延拓。因此,离散傅里叶级数对周期序列才存在。
设 x ~ [ n ] \tilde{x}[n] x ~ [ n ] 是周期为 N N N 的一个离散周期序列
x ~ [ n ] = x ~ [ n + k N ] , k ∈ N \tilde{x}[n] = \tilde{x}[n+kN], k\in N
x ~ [ n ] = x ~ [ n + k N ] , k ∈ N
由离散时间傅里叶变换(DTFT)可知,该周期序列可以表示为
x ~ [ n ] = 1 N ∑ k = 0 N − 1 X ~ ( k ) e j 2 π N k n , n = 0 , ± 1 , ⋯ \tilde{x}[n] = \dfrac{1}{N}\sum_{k = 0}^{N-1}\tilde{X}(k)e^{j\tfrac{2\pi}{N}kn}, n = 0,\pm 1, \cdots
x ~ [ n ] = N 1 k = 0 ∑ N − 1 X ~ ( k ) e j N 2 π k n , n = 0 , ± 1 , ⋯
其中 X ~ ( k ) \tilde{X}(k) X ~ ( k ) 是离散傅里叶级数的系数,
X ~ ( k ) = ∑ n = 0 N − 1 x ~ [ n ] e − j 2 π N n k , k = 0 , ± 1 , ⋯ \tilde{X}(k) = \sum_{n = 0}^{N-1}\tilde{x}[n] e^{-j\tfrac{2\pi}{N}nk}, k = 0,\pm1,\cdots
X ~ ( k ) = n = 0 ∑ N − 1 x ~ [ n ] e − j N 2 π nk , k = 0 , ± 1 , ⋯
并且
X ~ ( k + m N ) = ∑ n = 0 N − 1 x ~ [ n ] e − j 2 π N n ( k + m N ) = ∑ n = 0 N − 1 x ~ [ n ] e − j 2 π N n k = X ~ ( k ) , k = 0 , ± 1 , ⋯ \tilde{X}(k+mN) = \sum_{n = 0}^{N-1}\tilde{x}[n] e^{-j\tfrac{2\pi}{N}n(k+mN)}= \sum_{n = 0}^{N-1}\tilde{x}[n] e^{-j\tfrac{2\pi}{N}nk}=\tilde{X}(k), k = 0,\pm1,\cdots
X ~ ( k + m N ) = n = 0 ∑ N − 1 x ~ [ n ] e − j N 2 π n ( k + m N ) = n = 0 ∑ N − 1 x ~ [ n ] e − j N 2 π nk = X ~ ( k ) , k = 0 , ± 1 , ⋯
也是周期序列。因此,时域的离散周期序列的离散傅里叶级数(DFS)在频域也是离散的周期序列。
令 W N = e − j 2 π N W_N=e^{-j\tfrac{2\pi}{N}} W N = e − j N 2 π ,离散傅里叶级数可表示为
X ~ ( k ) = D F S [ x ~ [ n ] ] = ∑ n = 0 N − 1 x ~ [ n ] e − j 2 π N k n = ∑ n = 0 N − 1 x ~ [ n ] W N k n , k = 0 , ± 1 , ⋯ x ~ [ n ] = I D F S [ X ~ ( k ) ] = 1 N ∑ k = 0 N − 1 X ~ ( k ) e j 2 π N n k = 1 N ∑ k = 0 N − 1 X ~ ( k ) W N n k , n = 0 , ± 1 , ⋯ \begin{aligned}
\tilde{X}(k) &= DFS [\tilde{x}[n]] = \sum_{n = 0}^{N-1}\tilde{x}[n] e^{-j\tfrac{2\pi}{N}kn} = \sum_{n = 0}^{N-1}\tilde{x}[n] W_{N}^{kn}, k = 0,\pm1,\cdots\\
\tilde{x}[n] &= IDFS [\tilde{X}(k)] = \dfrac{1}{N}\sum_{k = 0}^{N-1}\tilde{X}(k)e^{j\tfrac{2\pi}{N}nk} = \dfrac{1}{N}\sum_{k = 0}^{N-1}\tilde{X}(k)W_{N}^{nk}, n = 0,\pm 1, \cdots
\end{aligned}
X ~ ( k ) x ~ [ n ] = D F S [ x ~ [ n ]] = n = 0 ∑ N − 1 x ~ [ n ] e − j N 2 π k n = n = 0 ∑ N − 1 x ~ [ n ] W N k n , k = 0 , ± 1 , ⋯ = I D F S [ X ~ ( k )] = N 1 k = 0 ∑ N − 1 X ~ ( k ) e j N 2 π nk = N 1 k = 0 ∑ N − 1 X ~ ( k ) W N nk , n = 0 , ± 1 , ⋯
连续周期信号与离散周期序列的对比
分类
基频序列
周期
基频
k k k 次谐波序列
连续周期
e j Ω p t = e j 2 π T p t e^{j\Omega_p t}=e^{j\tfrac{2\pi}{T_p}t} e j Ω p t = e j T p 2 π t
T p T_p T p
Ω p = 2 π T p \Omega_p=\dfrac{2\pi}{T_p} Ω p = T p 2 π
e j k 2 π T p t e^{jk\tfrac{2\pi}{T_p}t} e j k T p 2 π t
离散周期
e j ω n = e j 2 π N n e^{j\omega n}=e^{j\tfrac{2\pi}{N}n} e j ω n = e j N 2 π n
N N N
ω = 2 π N \omega =\dfrac{2\pi}{N} ω = N 2 π
e j k 2 π N n e^{jk\tfrac{2\pi}{N}n} e j k N 2 π n
由于 e j ( k + λ N ) 2 π N n = e j k 2 π N n e^{j(k+\lambda N)\tfrac{2\pi}{N}n}=e^{jk\tfrac{2\pi}{N}n} e j ( k + λ N ) N 2 π n = e j k N 2 π n ,离散傅里叶级数的所有谐波成分中只有 N N N 个是独立的,因此在展开成离散傅里叶级数时,只能取 N N N 个独立的谐波分量。
有限长序列的离散傅里叶变换(DFT)·
将长度为 N N N 的有限长序列 x [ n ] x[n] x [ n ] 看作是周期为 N N N 的周期序列的一个周期,计算该周期序列的离散傅里叶级数,即可得到有限长序列的离散傅里叶变换。
x [ n ] = { x ~ [ n ] 0 ≤ n ≤ N − 1 0 e l s e x [n] = \left\{
\begin{aligned}
&\tilde{x}[n]&& 0\leq n\leq N-1\\
&0&& else\\
\end{aligned}
\right.
x [ n ] = { x ~ [ n ] 0 0 ≤ n ≤ N − 1 e l se
也可以表示为周期延拓或时窗运算
x ~ [ n ] = x [ [ n ] ] N ⇔ x [ n ] = x ~ [ n ] R N [ n ] \tilde{x}[n] = x [[n]]_N \Leftrightarrow x [n] = \tilde{x}[n] R_N [n]
x ~ [ n ] = x [[ n ] ] N ⇔ x [ n ] = x ~ [ n ] R N [ n ]
可以得到有限长序列的离散傅里叶变换为
X ( k ) = D F T [ x [ n ] ] = ∑ n = 0 N − 1 x [ n ] W N k n , 0 ≤ k ≤ N − 1 x [ n ] = I D F T [ X ( k ) ] = 1 N ∑ n = 0 N − 1 X ( k ) W N − n k , 0 ≤ n ≤ N − 1 \begin{aligned}
X(k) &= DFT [x[n]] = \sum_{n = 0}^{N-1}x [n] W_N^{kn}, 0\leq k\leq N-1\\
x [n] &= IDFT [X(k)] = \frac{1}{N} \sum_{n = 0}^{N-1}X(k)W_{N}^{-nk}, 0\leq n\leq N-1
\end{aligned}
X ( k ) x [ n ] = D F T [ x [ n ]] = n = 0 ∑ N − 1 x [ n ] W N k n , 0 ≤ k ≤ N − 1 = I D F T [ X ( k )] = N 1 n = 0 ∑ N − 1 X ( k ) W N − nk , 0 ≤ n ≤ N − 1
有限长序列 x [ n ] x[n] x [ n ] 的 DFT X ( k ) X(k) X ( k ) ,就是 x ( n ) x(n) x ( n ) 的周期延拓序列 x ~ [ n ] \tilde{x}[n] x ~ [ n ] 的 DFS 系数 X ~ ( k ) \tilde{X}(k) X ~ ( k ) 的主值序列。DFT 的时域与频域都是有限长序列,方便用计算机表示。
频域采样(频域采样点数 N N N 的选取)
设时域周期序列 x ~ [ n ] \tilde{x}[n] x ~ [ n ] 的周期为 M M M ,
x ~ [ n ] = 1 N ∑ k = 0 N − 1 X ( k ) e j 2 π N n k \tilde{x}[n] = \dfrac{1}{N}\sum_{k = 0}^{N-1}X(k)e^{j\tfrac{2\pi}{N}nk}
x ~ [ n ] = N 1 k = 0 ∑ N − 1 X ( k ) e j N 2 π nk
将 X ( k ) = ∑ m = 0 M − 1 x [ m ] e − j 2 π N k m X(k) = \displaystyle\sum_{m=0}^{M-1}x[m]e^{-j\tfrac{2\pi}{N}km} X ( k ) = m = 0 ∑ M − 1 x [ m ] e − j N 2 π k m 带入上式,得到
x ~ [ n ] = 1 N ∑ k = 0 N − 1 ( ∑ m = 0 M − 1 x [ m ] e − j 2 π N k m ) e j 2 π N n k = ∑ m = 0 M − 1 x [ m ] ( 1 N ∑ k = 0 N − 1 e j 2 π N ( n − m ) k ) \begin{aligned}
\tilde{x}[n] &= \dfrac{1}{N}\sum_{k = 0}^{N-1}\left(\sum_{m = 0}^{M-1}x [m] e^{-j\tfrac{2\pi}{N}km}\right)e^{j\tfrac{2\pi}{N}nk}\\
&= \sum_{m = 0}^{M-1}x [m]\left( \dfrac{1}{N}\sum_{k = 0}^{N-1} e^{j\tfrac{2\pi}{N}(n-m)k}\right)
\end{aligned}
x ~ [ n ] = N 1 k = 0 ∑ N − 1 ( m = 0 ∑ M − 1 x [ m ] e − j N 2 π k m ) e j N 2 π nk = m = 0 ∑ M − 1 x [ m ] ( N 1 k = 0 ∑ N − 1 e j N 2 π ( n − m ) k )
其中,当 n − m = λ N n-m=\lambda N n − m = λ N 时
1 N ∑ k = 0 N − 1 e j 2 π N ( n − m ) k = { 1 , n − m = λ N 0 , n − m ≠ λ N \dfrac{1}{N}\sum_{k = 0}^{N-1} e^{j\tfrac{2\pi}{N}(n-m)k}=
\left\{
\begin{aligned}
1, n-m =\lambda N\\
0, n-m\not =\lambda N
\end{aligned}
\right.
N 1 k = 0 ∑ N − 1 e j N 2 π ( n − m ) k = { 1 , n − m = λ N 0 , n − m = λ N
则
x ~ [ n ] = ∑ m = 0 M − 1 x [ m ] ∑ λ = − ∞ + ∞ δ ( n − m − λ N ) = ∑ λ = − ∞ + ∞ ∑ m = − ∞ + ∞ x [ m ] δ ( n − m − λ N ) = ∑ λ = − ∞ + ∞ x [ n − λ N ] \begin{aligned}
\tilde{x}[n] &= \sum_{m = 0}^{M-1}x [m]\sum_{\lambda =-\infty}^{+\infty}\delta(n-m-\lambda N)\\
&= \sum_{\lambda =-\infty}^{+\infty}\sum_{m =-\infty}^{+\infty}x [m]\delta(n-m-\lambda N)\\
&= \sum_{\lambda =-\infty}^{+\infty}x [n-\lambda N]
\end{aligned}
x ~ [ n ] = m = 0 ∑ M − 1 x [ m ] λ = − ∞ ∑ + ∞ δ ( n − m − λ N ) = λ = − ∞ ∑ + ∞ m = − ∞ ∑ + ∞ x [ m ] δ ( n − m − λ N ) = λ = − ∞ ∑ + ∞ x [ n − λ N ]
说明,频域 N N N 点采样等价于时域上以 N N N 为周期延拓,因此 N ≥ M N\geq M N ≥ M 时,时域不发生混叠。
x [ [ n + m ] ] N R N [ n ] ↔ X ( k ) W N − k m X ( ( k + l ) ) N R N ( k ) ↔ x [ n ] W N l k \begin{aligned}
x [[n+m]]_NR_N [n] &\leftrightarrow X(k)W_N^{-km}\\
X((k+l))_NR_N(k) &\leftrightarrow x [n] W_N^{lk}
\end{aligned}
x [[ n + m ] ] N R N [ n ] X (( k + l ) ) N R N ( k ) ↔ X ( k ) W N − k m ↔ x [ n ] W N l k
频域移位点数 与对应的 时域频偏频率 的关系:
假设捕获模块的输入信号时经过 m m m 倍内插的信号,即 f s = m R c f_s=mR_c f s = m R c ,则在频域进行 l l l 点循环移位对应时域生成的载波为
e − j 2 π N n l = e − j 2 π m ⋅ S S R ( f s t ) l = e − j 2 π R c S S R t l = e − j 2 π R s t l e^{-j\tfrac{2\pi}{N}nl} = e^{-j\tfrac{2\pi}{m\cdot SSR}(f_st)l} = e^{-j\tfrac{2\pi R_c}{SSR}tl} = e^{-j2\pi R_s tl}
e − j N 2 π n l = e − j m ⋅ S S R 2 π ( f s t ) l = e − j S S R 2 π R c tl = e − j 2 π R s tl
其中 S S R SSR S S R 表示扩频比,m m m 为内插系数,f s f_s f s 为采样频率,R c R_c R c 为码片速率,R s R_s R s 为符号速率。
可以得到结论:频域循环移位 l l l 点对应时域乘以频率为为 l ⋅ R s l\cdot R_s l ⋅ R s 的载波.
在 DFT 中,涉及的序列 x [ n ] x[n] x [ n ] 和 X ( k ) X(k) X ( k ) 均为有限长序列,主值区间为 [ 0 , N − 1 ] [0,N-1] [ 0 , N − 1 ] ,这里的对称性指的是关于 N 2 \dfrac{N}{2} 2 N 的圆周对称,长度为 N N N 的有限长序列 x [ n ] x[n] x [ n ] 的圆周共轭对称分量 x e p [ n ] x_{ep}[n] x e p [ n ] 和圆周共轭反对称分量 x o p [ n ] x_{op}[n] x o p [ n ] 分别定义为
x e p [ n ] = 1 2 ( x [ n ] + x ∗ [ N − n ] ) x o p [ n ] = 1 2 ( x [ n ] − x ∗ [ N − n ] ) \begin{aligned}
x_{ep}[n] &= \dfrac{1}{2}(x [n] + x^*[N-n])\\
x_{op}[n] &= \dfrac{1}{2}(x [n]-x^*[N-n])\\
\end{aligned}
x e p [ n ] x o p [ n ] = 2 1 ( x [ n ] + x ∗ [ N − n ]) = 2 1 ( x [ n ] − x ∗ [ N − n ])
满足
x e p [ n ] = x e p ∗ [ N − n ] x o p [ n ] = − x o p ∗ [ N − n ] \begin{aligned}
x_{ep}[n] &= x^*_{ep}[N-n]\\
x_{op}[n] &= -x^*_{op}[N-n]\\
\end{aligned}
x e p [ n ] x o p [ n ] = x e p ∗ [ N − n ] = − x o p ∗ [ N − n ]
因此,任何有限长序列都可分解为圆周共轭对称分量 x e p [ n ] x_{ep}[n] x e p [ n ] 和圆周共轭反对称分量 x o p [ n ] x_{op}[n] x o p [ n ] 的和,
x [ n ] = x e p [ n ] + x o p [ n ] , 0 ≤ n ≤ N − 1 x [n] = x_{ep}[n] + x_{op}[n], 0\leq n\leq N-1
x [ n ] = x e p [ n ] + x o p [ n ] , 0 ≤ n ≤ N − 1
其中
D F T [ x e p [ n ] ] = 1 2 [ X ( k ) + X ∗ ( k ) ] = ℜ [ X ( k ) ] D F T [ x o p [ n ] ] = 1 2 [ X ( k ) − X ∗ ( k ) ] = ℑ [ X ( k ) ] \begin{aligned}
DFT [x_{ep}[n]] &= \dfrac{1}{2}[X(k) + X^*(k)] = \Re[X(k)]\\
DFT [x_{op}[n]] &= \dfrac{1}{2}[X(k) - X^*(k)] = \Im[X(k)]\\
\end{aligned}
D F T [ x e p [ n ]] D F T [ x o p [ n ]] = 2 1 [ X ( k ) + X ∗ ( k )] = ℜ [ X ( k )] = 2 1 [ X ( k ) − X ∗ ( k )] = ℑ [ X ( k )]
D F T [ x ∗ [ n ] ] = X ∗ ( N − k ) DFT[x^*[n]] = X^*(N-k)
D F T [ x ∗ [ n ]] = X ∗ ( N − k )
则
X ( k ) = D F T [ x e p [ n ] ] + D F T [ x o p [ n ] ] = ℜ [ X ( k ) ] + ℑ [ X ( k ) ] = X R ( k ) + j X I ( k ) \begin{aligned}
X(k) &= DFT [x_{ep}[n]] + DFT [x_{op}[n]]\\
&=\Re [X(k)] + \Im [X(k)]\\
&= X_R(k) + jX_I(k)
\end{aligned}
X ( k ) = D F T [ x e p [ n ]] + D F T [ x o p [ n ]] = ℜ [ X ( k )] + ℑ [ X ( k )] = X R ( k ) + j X I ( k )
同理,将 x [ n ] x[n] x [ n ] 表示为 x r [ n ] + j x i [ n ] x_r[n] + jx_i[n] x r [ n ] + j x i [ n ] ,其中
x r [ n ] = 1 2 ( x [ n ] + x ∗ [ n ] ) j x i [ n ] = 1 2 ( x [ n ] − x ∗ [ n ] ) \begin{aligned}
x_r [n] &= \dfrac{1}{2}(x [n] + x^*[n])\\
jx_i [n] &= \dfrac{1}{2}(x [n] - x^*[n])
\end{aligned}
x r [ n ] j x i [ n ] = 2 1 ( x [ n ] + x ∗ [ n ]) = 2 1 ( x [ n ] − x ∗ [ n ])
则
D F T [ x r [ n ] ] = 1 2 [ X ( k ) + X ∗ ( N − k ) ] = X e p ( k ) D F T [ j x i [ n ] ] = 1 2 [ X ( k ) − X ∗ ( N − k ) ] = X o p ( k ) \begin{aligned}
DFT [x_r[n]] &= \dfrac{1}{2}[X(k) + X^*(N-k)] = X_{ep}(k)\\
DFT [jx_i[n]] &= \dfrac{1}{2}[X(k) - X^*(N-k)] = X_{op}(k)
\end{aligned}
D F T [ x r [ n ]] D F T [ j x i [ n ]] = 2 1 [ X ( k ) + X ∗ ( N − k )] = X e p ( k ) = 2 1 [ X ( k ) − X ∗ ( N − k )] = X o p ( k )
D F T [ x [ n ] ] = X e p ( k ) + X o p ( k ) DFT [x[n]] = X_{ep}(k) + X_{op}(k)
D F T [ x [ n ]] = X e p ( k ) + X o p ( k )
DFT 与 DTFT、ZT 的关系·
已知 x [ n ] x[n] x [ n ] 为 N N N 点有限长序列,则 x [ n ] x[n] x [ n ] 的 z z z 变换为
X ( z ) = ∑ n = 0 N − 1 x [ n ] z − n X(z) = \sum_{n = 0}^{N-1} x [n] z^{-n}
X ( z ) = n = 0 ∑ N − 1 x [ n ] z − n
DTFT 为
X ( e j ω ) = ∑ n = 0 N − 1 x [ n ] e − j ω n ∣ z = e j ω X(e^{j\omega}) = \sum_{n = 0}^{N-1}x [n] e^{-j\omega n}|_{z = e^{j\omega}}
X ( e j ω ) = n = 0 ∑ N − 1 x [ n ] e − j ω n ∣ z = e j ω
DFT 为
X ( k ) = ∑ n = 0 N − 1 x [ n ] W N k n = ∑ n = 0 N − 1 x [ n ] e − j 2 π N k n = X ( z ) ∣ z = e j 2 π N k = X ( e j ω ) ∣ ω = 2 π N k \begin{aligned}
X(k) &= \sum_{n = 0}^{N-1}x [n] W_{N}^{kn} = \sum_{n = 0}^{N-1}x [n] e^{-j\tfrac{2\pi}{N}kn}\\
&= X(z)|_{z = e^{j\frac{2\pi}{N}k}} = X(e^{j\omega})|_{\omega = \frac{2\pi}{N}k}
\end{aligned}
X ( k ) = n = 0 ∑ N − 1 x [ n ] W N k n = n = 0 ∑ N − 1 x [ n ] e − j N 2 π k n = X ( z ) ∣ z = e j N 2 π k = X ( e j ω ) ∣ ω = N 2 π k
有限长序列 x [ n ] x[n] x [ n ] 的 DTFT 是单位圆上的 z z z 变换,ω \omega ω 是连续的,体现出 DTFT 是以 2 π 2\pi 2 π 为周期的连续谱。
有限长序列 x [ n ] x[n] x [ n ] 的 DFT 是对 X ( z ) X(z) X ( z ) 在单位圆上进行 N N N 点的等间隔采样,也是 DTFT 一个周期 [ 0 , 2 π ) [0,2\pi) [ 0 , 2 π ) 上的 N N N 点等间隔采样。
如果频域采样满足频域采样定理(频域采样点数 N N N 不小于时域序列长度 M M M ),就可以用频域采样值恢复序列的 z z z 变换,
X ( z ) = ∑ n = 0 N − 1 x [ n ] z − n = ∑ n = 0 N − 1 ( 1 N ∑ k = 0 N − 1 X ( k ) W N − n k ) z − n = 1 N ∑ k = 0 N − 1 X ( k ) ( ∑ n = 0 N − 1 W N − n k z − n ) = 1 N ∑ k = 0 N − 1 X ( k ) 1 − W − k z − 1 1 − W N − k z − N = 1 N ∑ k = 0 N − 1 X ( k ) 1 − z − N 1 − W N − k z − 1 \begin{aligned}
X(z) &=\sum_{n = 0}^{N-1}x [n] z^{-n}\\
&=\sum_{n = 0}^{N-1}\left(\dfrac{1}{N}\sum_{k = 0}^{N-1}X(k)W_N^{-nk}\right)z^{-n}\\
&=\dfrac{1}{N}\sum_{k = 0}^{N-1}X(k)\left(\sum_{n = 0}^{N-1}W_{N}^{-nk}z^{-n}\right)\\
&=\dfrac{1}{N}\sum_{k = 0}^{N-1}X(k)\dfrac{1-W^{-k}z^{-1}}{1-W_N^{-k}z^{-N}}\\
&= \dfrac{1}{N}\sum_{k = 0}^{N-1}X(k)\dfrac{1-z^{-N}}{1-W_{N}^{-k}z^{-1}}\\
\end{aligned}
X ( z ) = n = 0 ∑ N − 1 x [ n ] z − n = n = 0 ∑ N − 1 ( N 1 k = 0 ∑ N − 1 X ( k ) W N − nk ) z − n = N 1 k = 0 ∑ N − 1 X ( k ) ( n = 0 ∑ N − 1 W N − nk z − n ) = N 1 k = 0 ∑ N − 1 X ( k ) 1 − W N − k z − N 1 − W − k z − 1 = N 1 k = 0 ∑ N − 1 X ( k ) 1 − W N − k z − 1 1 − z − N
令 Φ k ( z ) = 1 N 1 − z − N 1 − W N − k z − 1 \varPhi_k(z)=\dfrac{1}{N}\dfrac{1-z^{-N}}{1-W_{N}^{-k}z^{-1}} Φ k ( z ) = N 1 1 − W N − k z − 1 1 − z − N ,X ( z ) X(z) X ( z ) 可以表示为
X ( z ) = ∑ k = 0 N − 1 X ( k ) Φ k ( z ) X(z) = \sum_{k = 0}^{N-1}X(k)\varPhi_k(z)
X ( z ) = k = 0 ∑ N − 1 X ( k ) Φ k ( z )
函数 Φ k ( z ) \varPhi_k(z) Φ k ( z ) 有一个极点 z = W N − k z=W_N^{-k} z = W N − k ,N N N 个零点 z = e j 2 π N r , r = 0 , 1 , ⋯ , N − 1 , r ≠ k z=e^{j\tfrac{2\pi}{N}r},r=0,1,\cdots,N-1, r\not=k z = e j N 2 π r , r = 0 , 1 , ⋯ , N − 1 , r = k ,因此内插函数 Φ k ( z ) \varPhi_k(z) Φ k ( z ) 在除了 k k k 的其它 N − 1 N-1 N − 1 个采样点均为 0 0 0 ,
同理,
X ( e j ω ) = 1 N ∑ k = 0 N − 1 X ( k ) 1 − e − j ω N 1 − e j 2 π N k e − j ω = ∑ k = 0 N − 1 X ( k ) Φ ( ω − 2 π N k ) \begin{aligned}
X(e^{j\omega})
&=\dfrac{1}{N}\sum_{k = 0}^{N-1}X(k)\dfrac{1-e^{-j\omega N}}{1-e^{j\tfrac{2\pi}{N}k}e^{-j\omega}}\\
&= \sum_{k = 0}^{N-1}X(k)\varPhi(\omega - \dfrac{2\pi}{N}k)\\
\end{aligned}
X ( e j ω ) = N 1 k = 0 ∑ N − 1 X ( k ) 1 − e j N 2 π k e − j ω 1 − e − j ω N = k = 0 ∑ N − 1 X ( k ) Φ ( ω − N 2 π k )
其中 Φ ( ω ) = 1 N sin ω N 2 sin ω 2 e − j N − 1 2 ω \varPhi(\omega)=\dfrac{1}{N}\dfrac{\sin\tfrac{\omega N}{2}}{\sin\tfrac{\omega}{2}}e^{-j\tfrac{N-1}{2}\omega} Φ ( ω ) = N 1 sin 2 ω sin 2 ω N e − j 2 N − 1 ω 为内插函数,满足
Φ ( ω − 2 π N k ) = { 1 , ω = 2 π N k 0 , ω = 2 π N i , i ≠ k \varPhi(\omega-\dfrac{2\pi}{N}k) = \left\{
\begin{aligned}
&1,&\omega =\dfrac{2\pi}{N}k\\
&0,&\omega =\dfrac{2\pi}{N}i, i\not = k
\end{aligned}
\right.
Φ ( ω − N 2 π k ) = ⎩ ⎨ ⎧ 1 , 0 , ω = N 2 π k ω = N 2 π i , i = k
也就是每个采样点上的 X ( e j ω ) X(e^{j\omega}) X ( e j ω ) 的值等于 X ( k ) X(k) X ( k ) ,即 X ( e j ω ) ∣ ω = 2 π N k = X ( k ) , k = 0 , 1 , ⋯ , N − 1 X(e^{j\omega})|_{\omega=\tfrac{2\pi}{N}k}=X(k),k=0,1,\cdots,N-1 X ( e j ω ) ∣ ω = N 2 π k = X ( k ) , k = 0 , 1 , ⋯ , N − 1 ,各个采样点之间的值由各采样点的加权内插函数 X ( k ) Φ ( ω − 2 π N k ) X(k)\varPhi(\omega - \dfrac{2\pi}{N}k) X ( k ) Φ ( ω − N 2 π k ) 在所求 ω \omega ω 点上的值叠加得到。
由内插函数求频率响应
频域内插(与 s i n c sinc s in c 卷积),等价于时域截断(加矩形窗)
线性卷积与线性相关·
周期卷积
设 x ~ [ n ] \tilde{x}[n] x ~ [ n ] 与 h ~ [ n ] \tilde{h}[n] h ~ [ n ] 都是以 N N N 为周期的序列,DFS 分别为 X ~ ( k ) \tilde{X}(k) X ~ ( k ) 和 H ~ ( k ) \tilde{H}(k) H ~ ( k ) ,若
Y ~ ( k ) = X ~ ( k ) H ~ ( k ) \tilde{Y}(k) = \tilde{X}(k)\tilde{H}(k)
Y ~ ( k ) = X ~ ( k ) H ~ ( k )
则
y ~ [ n ] = I D F S [ Y ~ ( k ) ] = ∑ m = 0 N − 1 x ~ [ m ] h ~ [ n − m ] \tilde{y}[n] = IDFS [\tilde{Y}(k)] =\sum_{m = 0}^{N-1}\tilde{x}[m]\tilde{h}[n-m]
y ~ [ n ] = I D F S [ Y ~ ( k )] = m = 0 ∑ N − 1 x ~ [ m ] h ~ [ n − m ]
圆周卷积(循环卷积)
设当 x [ n ] x[n] x [ n ] 与 h [ n ] h[n] h [ n ] 都是长度为 N N N 的有限长序列,DFT 分别为 X ( k ) X(k) X ( k ) 和 H ( k ) H(k) H ( k ) ,若
Y ( k ) = X ( k ) H ( k ) Y(k) = X(k)H(k)
Y ( k ) = X ( k ) H ( k )
则
y [ n ] = I D F T [ Y ( k ) ] = ∑ m = 0 N − 1 x [ m ] h [ [ n − m ] ] N R N [ n ] = ∑ m = 0 N − 1 h [ m ] x [ [ n − m ] ] N R N [ n ] \begin{aligned}
y [n] = IDFT [Y(k)] &= \sum_{m = 0}^{N-1}x [m] h [[n-m]]_NR_N [n]\\
&= \sum_{m = 0}^{N-1}h [m] x [[n-m]]_NR_N [n]
\end{aligned}
y [ n ] = I D F T [ Y ( k )] = m = 0 ∑ N − 1 x [ m ] h [[ n − m ] ] N R N [ n ] = m = 0 ∑ N − 1 h [ m ] x [[ n − m ] ] N R N [ n ]
记作 y [ n ] = x [ n ] ⊛ h [ n ] y[n]=x[n]\circledast h[n] y [ n ] = x [ n ] ⊛ h [ n ] .
当信号通过线性时不变系统时,系统的输出 y [ n ] y[n] y [ n ] 时输入 x [ n ] x[n] x [ n ] 与单位脉冲响应 h [ n ] h[n] h [ n ] 的线性卷积,即 y [ n ] = x [ n ] ∗ h [ n ] y[n]=x[n]*h[n] y [ n ] = x [ n ] ∗ h [ n ] ,当 x [ n ] x[n] x [ n ] 和 h [ n ] h[n] h [ n ] 均为有限长序列时,可以考虑用圆周卷积代替线性卷积,下面分析代替的条件:
设序列 x 1 [ n ] x_1[n] x 1 [ n ] 和 x 2 [ n ] x_2[n] x 2 [ n ] 分别是长度为 N 1 N_1 N 1 和 N 2 N_2 N 2 的有限长序列,设 y l [ n ] y_l[n] y l [ n ] 是两者的线性卷积
y l [ n ] = ∑ m = − ∞ + ∞ x 1 [ m ] x 2 [ n − m ] = ∑ m = 0 N 1 − 1 x 1 [ m ] x 2 [ n − m ] y_l [n] = \sum_{m =-\infty}^{+\infty} x_1 [m] x_2 [n-m] =\sum_{m = 0}^{N_1-1} x_1 [m] x_2 [n-m]
y l [ n ] = m = − ∞ ∑ + ∞ x 1 [ m ] x 2 [ n − m ] = m = 0 ∑ N 1 − 1 x 1 [ m ] x 2 [ n − m ]
则 y [ n ] y[n] y [ n ] 是长度为 N 1 + N 2 − 1 N_1+N_2-1 N 1 + N 2 − 1 的有限长序列。
设 y c [ n ] y_c[n] y c [ n ] 是两者的 L L L 点圆周卷积
x 1 [ n ] = { x 1 [ n ] , 0 ≤ n ≤ N 1 − 1 0 , N 1 ≤ n ≤ L − 1 x_1 [n] = \left\{
\begin{aligned}
&x_1 [n], &0\leq n \leq N_1-1\\
&0, &N_1\leq n\leq L-1
\end{aligned}
\right.
x 1 [ n ] = { x 1 [ n ] , 0 , 0 ≤ n ≤ N 1 − 1 N 1 ≤ n ≤ L − 1
x 2 [ n ] = { x 2 [ n ] , 0 ≤ n ≤ N 2 − 1 0 , N 2 ≤ n ≤ L − 1 x_2 [n] = \left\{
\begin{aligned}
&x_2 [n], &0\leq n \leq N_2-1\\
&0, &N_2\leq n\leq L-1
\end{aligned}
\right.
x 2 [ n ] = { x 2 [ n ] , 0 , 0 ≤ n ≤ N 2 − 1 N 2 ≤ n ≤ L − 1
y c [ n ] = ( ∑ m = 0 L − 1 x 1 [ m ] x 2 [ [ n − m ] ] L ) R L [ n ] = ( ∑ m = 0 L − 1 x 1 [ m ] ∑ r = − ∞ + ∞ x 2 [ n + r L − m ] ) R L [ n ] = ( ∑ r = − ∞ + ∞ y l [ n + r L ] ) R L [ n ] \begin{aligned}
y_c [n] &= \left(\sum_{m = 0}^{L-1}x_1 [m] x_2 [[n-m]]_L\right)R_L [n]\\
&= \left(\sum_{m = 0}^{L-1}x_1 [m]\sum_{r =-\infty}^{+\infty}x_2 [n+rL-m]\right)R_L [n]\\
&=\left(\sum_{r =-\infty}^{+\infty}y_l [n+rL]\right)R_L [n]
\end{aligned}
y c [ n ] = ( m = 0 ∑ L − 1 x 1 [ m ] x 2 [[ n − m ] ] L ) R L [ n ] = ( m = 0 ∑ L − 1 x 1 [ m ] r = − ∞ ∑ + ∞ x 2 [ n + r L − m ] ) R L [ n ] = ( r = − ∞ ∑ + ∞ y l [ n + r L ] ) R L [ n ]
因此,L L L 点圆周卷积 y c [ n ] y_c[n] y c [ n ] 是线性卷积 y l [ n ] y_l[n] y l [ n ] 以 L L L 为周期延拓序列的主值序列,且不失真的条件是
L > N 1 + N 2 + 1 L > N_1 + N_2 + 1
L > N 1 + N 2 + 1
圆周卷积代替线性卷积
谱分析·
对于时域连续的非周期信号 x ( t ) x(t) x ( t ) ,其 CTFT 为
X ( j f ) = ∫ − ∞ + ∞ x ( t ) e − j 2 π f t d t X(jf) = \int_{-\infty}^{+\infty}x(t)e^{-j2\pi f t}dt
X ( j f ) = ∫ − ∞ + ∞ x ( t ) e − j 2 π f t d t
频谱泄漏·
理论分析·
实际要把观测的信号 x [ n ] x[n] x [ n ] 限制在一定的时间间隔内,时域截断数学上表示为无限长时间序列乘以窗函数,频域上是两者频谱的卷积,由于窗函数不能无限宽,频谱不是冲激函数,因此,时域截断必然会造成频谱展宽(拖尾),造成频谱泄漏。
以正弦信号 x ( t ) = e j Ω t x(t)=e^{j\Omega t} x ( t ) = e j Ω t 为例,先对其采样,采样频率为 f s f_s f s ,
x [ n ] = e j Ω n T s = e j ω n , ω = Ω T s x [n] = e^{j\Omega n T_s} = e^{j\omega n}, \omega = \Omega T_s
x [ n ] = e j Ω n T s = e j ω n , ω = Ω T s
做 DFT,得到
X ( k ) = ∑ n = 0 N − 1 x [ n ] W N k n = ∑ n = 0 N − 1 e j ( ω − 2 π N k ) n = { N , ω = 2 π N k 0 , ω ≠ 2 π N k X(k) = \sum_{n = 0}^{N-1} x [n] W_N^{kn} = \sum_{n = 0}^{N-1} e^{j(\omega-\tfrac{2\pi}{N}k)n}=
\left\{
\begin{aligned}
N, \omega = \dfrac{2\pi}{N}k\\
0, \omega \not = \dfrac{2\pi}{N}k\\
\end{aligned}
\right.
X ( k ) = n = 0 ∑ N − 1 x [ n ] W N k n = n = 0 ∑ N − 1 e j ( ω − N 2 π k ) n = ⎩ ⎨ ⎧ N , ω = N 2 π k 0 , ω = N 2 π k
是 x ( t ) x(t) x ( t ) 的频谱以 2 π N \dfrac{2\pi}{N} N 2 π 为周期进行延拓的结果。
ω = Ω T s m p = 2 π N k \omega = \Omega T_{smp} = \dfrac{2\pi}{N}k
ω = Ω T s m p = N 2 π k
则 Ω = 2 π k N T s m p \Omega = \dfrac{2\pi k}{NT_{smp}} Ω = N T s m p 2 π k ,其中 N T s m p NT_{smp} N T s m p 是样本的长度,并且,对于正弦信号,Ω = 2 π T S \Omega=\dfrac{2\pi}{T_S} Ω = T S 2 π ,则有
N T s m p = k T S NT_{smp} = k T_S
N T s m p = k T S
因此,当样本的长度为信号周期的整数倍时,DFT 能正确分析频谱。否则,会因为对信号的不当截断造成频谱泄漏。
MATLAB 仿真·
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 close all; clear; clc; tic; fs = 160e3 ; t_total = 1 ; fc = 20e3 ; t = 0 : 1 /fs : t_total - 1 /fs; s = cos (2 *pi * fc * t); N = 2048 ; hamming_window = hamming(length (s)); s_truncated = s .* hamming_window'; f = (-fs/2 : fs/N : fs/2 - fs/N); S = 10 * log10 (abs (fftshift(fft(s, N))) /N); Hamming_window = 10 * log10 (abs (fftshift(fft(hamming_window, N)))); S_truncated = 10 * log10 (abs (fftshift(fft(s_truncated , N)))); figure ;subplot(3 , 2 , 1 ); plot (t, s);xlabel("Time (s)" ); ylabel("Amplitude" ); title("The Original Signal" ); grid on; subplot(3 , 2 , 2 ); plot (f, S);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of the Original Signal" ); grid on; subplot(3 , 2 , 3 ); plot (t, hamming_window);xlabel("Time (s)" ); ylabel("Amplitude" ); title("Hamming Window" ); grid on; subplot(3 , 2 , 4 ); plot (f, Hamming_window);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of Hamming Window" ); grid on; subplot(3 , 2 , 5 ); plot (t, s_truncated);xlabel("Time (s)" ); ylabel("Amplitude" ); title("The Truncated Signal" ); grid on; subplot(3 , 2 , 6 ); plot (f, S_truncated);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of the Truncated Signal" ); grid on; sgtitle("Simulation of Spectrum Leakage" ); toc;
栅栏效应·
理论分析·
N N N 点 DFT 是将 2 π 2\pi 2 π 周期分成 N N N 份,在 2 k π N , k = 0 , 1 , ⋯ , N − 1 \dfrac{2k\pi}{N},k=0,1,\cdots,N-1 N 2 k π , k = 0 , 1 , ⋯ , N − 1 这几个离散的 栅栏点 上观察一个周期。
考虑一个 N 1 N_1 N 1 点的时域序列 { x [ 0 ] , x [ 1 ] , ⋯ , x [ N 1 − 1 ] } \{x[0],x[1],\cdots,x[N_1-1]\} { x [ 0 ] , x [ 1 ] , ⋯ , x [ N 1 − 1 ]} ,其 DFT 为
X 1 [ k ] = ∑ n = 0 N 1 − 1 x [ n ] W N 1 n k X_1 [k] = \sum_{n = 0}^{N_1-1}x [n] W_{N_1}^{nk}
X 1 [ k ] = n = 0 ∑ N 1 − 1 x [ n ] W N 1 nk
其中 W = e − j 2 π W=e^{-j2\pi} W = e − j 2 π ,对该时域序列的末尾补 N 2 N_2 N 2 个 0 0 0 ,得到新的时域序列
{ x [ 0 ] , x [ 1 ] , ⋯ , x [ N 1 + N 2 − 1 ] } \{x [0], x [1],\cdots, x [N_1+N_2-1]\}
{ x [ 0 ] , x [ 1 ] , ⋯ , x [ N 1 + N 2 − 1 ]}
其中 x [ N 1 ] = x [ N 1 + 1 ] = ⋯ = x [ N 1 + N 2 − 1 ] = 0 x[N_1]=x[N_1+1]=\cdots=x[N_1+N_2-1]=0 x [ N 1 ] = x [ N 1 + 1 ] = ⋯ = x [ N 1 + N 2 − 1 ] = 0 ,补零后的 DFT 为
X 2 [ k ] = ∑ n = 0 N 1 + N 2 − 1 x [ n ] W N 1 + N 2 n k = ∑ n = 0 N 1 − 1 x [ n ] W N 1 + N 2 n k X_2 [k] = \sum_{n = 0}^{N_1+N_2-1}x [n] W_{N_1+N_2}^{nk}
=\sum_{n = 0}^{N_1-1}x [n] W_{N_1+N_2}^{nk}
X 2 [ k ] = n = 0 ∑ N 1 + N 2 − 1 x [ n ] W N 1 + N 2 nk = n = 0 ∑ N 1 − 1 x [ n ] W N 1 + N 2 nk
可以发现 X 1 [ k ] X_1[k] X 1 [ k ] 与 X 2 [ k ] X_2[k] X 2 [ k ] 仅是点数不同,即频率的分辨率不同。
当 N 2 = m N 1 N_2=mN_1 N 2 = m N 1 时,有
X 2 [ ( m + 1 ) k ] = ∑ n = 0 N 1 − 1 x [ n ] W ( m + 1 ) N 1 n ( m + 1 ) k = ∑ n = 0 N 1 − 1 x [ n ] W N 1 n k = X 1 [ k ] X_2 [(m+1)k] = \sum_{n = 0}^{N_1-1}x [n] W_{(m+1)N_1}^{n(m+1)k}
=\sum_{n = 0}^{N_1-1}x [n] W_{N_1}^{nk}= X_1 [k]
X 2 [( m + 1 ) k ] = n = 0 ∑ N 1 − 1 x [ n ] W ( m + 1 ) N 1 n ( m + 1 ) k = n = 0 ∑ N 1 − 1 x [ n ] W N 1 nk = X 1 [ k ]
表征补零前后的频谱谱线有相同的频点,在该频点处原信号的幅值被保留,如果补零前后没有相同的频点,则原频点只能由补零后的其它频点合成,能量也就被分散到那些频点上,发生 频谱泄漏 。
末尾补零本质上是在增加频率的分辨率,当用 FFT 观察一个离散信号的频谱时,实际是在观察一个连续谱的一些离散点,就像是透过 栅栏 观察频谱。
MATLAB 仿真·
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 close all; clear; clc; tic; fs = 1e6 ; t_total = 1 ; fc1 = 5e3 ; fc2 = 6e3 ; t = 0 : 1 /fs : t_total - 1 /fs; s = cos (2 * pi * fc1 * t) + cos (2 * pi * fc2 * t); f = (-fs/2 : fs/length (s) : fs/2 - fs/length (s)); S = 10 * log10 (abs (fftshift(fft(s)))); figure ;subplot(2 , 1 , 1 ); plot (t, s);xlabel("Time (s)" ); ylabel("Amplitude" ); title("The Original Signal" ); grid on; subplot(2 , 1 , 2 ); plot (f, S);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of the Original Signal" ); grid on; N = 2048 ; f_2048 = (-fs/2 : fs/N : fs/2 - fs/N); S_2048 = 10 * log10 (abs (fftshift(fft(s, N)))); N = 1024 ; f_1024 = (-fs/2 : fs/N : fs/2 - fs/N); S_1024 = 10 * log10 (abs (fftshift(fft(s, N)))); N = 2048 ; f_zero_padding = (-fs/2 : fs/N : fs/2 - fs/N); s = [s(1 :1024 ) zeros (1 , 1024 )]; S_zero_padding = 10 * log10 (abs (fftshift(fft(s, N)))); figure ;subplot(3 , 1 , 1 ); plot (f_2048, S_2048);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of the Original Signal ((FFT-2048)" ); grid on; subplot(3 , 1 , 2 ); plot (f_1024, S_1024);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of the Original Signal (FFT-1024)" ); grid on; subplot(3 , 1 , 3 ); plot (f_zero_padding, S_zero_padding);xlabel("Frequency (Hz)" ); ylabel("Amplitude (dB)" ); title("Spectrum of the Zero-padding Signal (FFT-2048)" ); grid on; sgtitle("Simulation of Fence Effect" ); toc;
内插与抽取·
在原有的离散数据间插入 U − 1 U-1 U − 1 个数据,实现对数据的上采样,具体实现流程为 插值 和 滤波 。
假设原数据为 x [ n ] = { x [ 0 ] , x [ 1 ] , ⋯ , x [ n − 1 ] , x [ n ] } x[n] = \{x[0], x[1], \cdots, x[n-1], x[n]\} x [ n ] = { x [ 0 ] , x [ 1 ] , ⋯ , x [ n − 1 ] , x [ n ]} ,经过 U ( U = 4 ) U(U=4) U ( U = 4 ) 倍上采样后得到 x ′ [ m ] = { x [ 0 ] , 0 , 0 , 0 , x [ 1 ] , 0 , 0 , 0 , x [ 2 ] , ⋯ , x [ n − 1 ] , 0 , 0 , 0 , x [ n ] } x'[m]=\{x[0], 0, 0, 0, x[1], 0, 0, 0, x[2], \cdots, x[n-1],0,0,0, x[n]\} x ′ [ m ] = { x [ 0 ] , 0 , 0 , 0 , x [ 1 ] , 0 , 0 , 0 , x [ 2 ] , ⋯ , x [ n − 1 ] , 0 , 0 , 0 , x [ n ]} .
原数据的 DFT 为
X ( k ) = ∑ n = 0 N − 1 x [ n ] W N n k , 0 ≤ k ≤ N − 1 X(k) = \sum_{n = 0}^{N-1} x [n] W_{N}^{nk}, 0\leq k\leq N-1
X ( k ) = n = 0 ∑ N − 1 x [ n ] W N nk , 0 ≤ k ≤ N − 1
经过上采样的数据 x ′ [ m ] x'[m] x ′ [ m ] 的 DFT 为
X ′ ( k ′ ) = ∑ n = 0 U N − 1 x ′ [ U n ] W U N U n k ′ , 0 ≤ k ′ ≤ U N − 1 = ∑ n = 0 U N − 1 x ′ [ U n ] W N n k ′ , 0 ≤ k ′ ≤ U N − 1 = ∑ n = 0 N − 1 x [ n ] W N n k ′ , 0 ≤ k ′ ≤ U N − 1 \begin{aligned}
X'(k') &= \sum_{n = 0}^{UN-1} x'[Un] W_{UN}^{Unk'}, 0\leq k'\leq UN-1\\
&= \sum_{n = 0}^{UN-1} x'[Un] W_{N}^{nk'}, 0\leq k'\leq UN-1\\
&= \sum_{n = 0}^{N-1} x [n] W_{N}^{nk'}, 0\leq k'\leq UN-1\\
\end{aligned}
X ′ ( k ′ ) = n = 0 ∑ U N − 1 x ′ [ U n ] W U N U n k ′ , 0 ≤ k ′ ≤ U N − 1 = n = 0 ∑ U N − 1 x ′ [ U n ] W N n k ′ , 0 ≤ k ′ ≤ U N − 1 = n = 0 ∑ N − 1 x [ n ] W N n k ′ , 0 ≤ k ′ ≤ U N − 1
由此可知,X ′ ( k ′ ) X'(k') X ′ ( k ′ ) 是由原频谱 X ( k ) X(k) X ( k ) 复制 U U U 次的结果。
讨论
评论