这是什么?DFT晕迷糊辣!

发布时间 2023-05-30 19:04:24作者: Dmmmy

有关DFT的条理不清晰理解

以下内容是在对DFT以及其他变换有基础理解的基础上阐述,因此基本的符号解释和原理不再赘述

1. DFT、DTFT和DFS

首先是公式

\(DFS: \widetilde{X}[k]=\sum_{n=0}^{N-1} \widetilde{x}[n]e^{-j\frac{2\pi}{N}kn}\)

\(DTFT: X(e^{jw})=\sum_{n=0}^{N-1} x[n]e^{-jwn}\)

\(DFT: X[k]=\sum_{n=0}^{N-1}{x}[n]e^{-j\frac{2\pi}{N}kn}= X(e^{jw})\mid_{w=\frac{2\pi}{N}k}\)

其次是关系
  • DFT和DTFT

    假设对离散时间序列\(x[n]\)做DTFT后的结果是\(X(e^{jw})\),DFT相当于对\(X(e^{jw})\)\([0,2\pi]\)的范围上以\(\frac{2\pi}{N}\)的间隔采样\(N\)个点得到\(X[k]\),即DFT是对离散信号进行傅里叶变换后频域采样的结果

    继续对上述DFT的结果\(X[k]\)进行IDFT得到\(y[n]\),其和原序列\(x[n]\)的关系是,\(y[n]\)\(x[n]\)以采样点数\(N\)为周期进行周期延拓后截取主值(\(0\le n\le N-1\))的结果,因此如果希望IDFT能够不失真的得到原序列,需要DFT点数不小于原序列长度(假设长度\(M\)),即\(N \ge M\)

  • DFT和DFS

    假设离散时间序列\(x[n]\)的长度为\(N\),\(\widetilde{x}[n]\)\(x[n]\)\(N\)为周期进行周期延拓,对\(\widetilde{x}[n]\)进行DFS后得到\(\widetilde X[k]\),截取主值(\(0\le k\le N-1\))后即为\(x[n]\)进行DFT的结果

2. 连续信号谱和连续信号采样谱的关系(为什么有T or 1/T)

先说结论
  1. 连续信号的频谱可以通过对连续信号采样,并进行 DFT 再对幅度乘以 \(T\)(采样周期) 的近似方法得到。
  2. 连续信号的时域采样信号可以通过对其频谱函数进行采样,并进行 IDFT 再对幅度乘以\(\frac{1}{T}\)的近 似方法得到。
推导过程和理解
  1. 假设一段连续信号(非周期)\(x_a(t)\), 持续时间为\(T_p\), 其最高频率为\(f_c\), \(\Omega\)为模拟角频率

    \(x_a(t) FT: X_a(j\Omega)=\int_{-\infty}^{+\infty} x_a(t)e^{-j\Omega t}dt=\int_{-\infty}^{+\infty} x_a(t)e^{-j2\pi ft}dt\)

  2. )对\(x_a(t)\)\(f_s=\frac{1}{T}\ge 2f_c\)的频率进行采样,\(\omega=\Omega T\)为数字角频率,得到\(x[n]=x_a(nT)\),在持续时间\(T_p\)内共采\(N\)点,此时积分间隔\(dt=T\),且\(t=nT\) (这部分不确定能不能这么理解)

    \(x_a(nT) FT: X[j\Omega]=\sum_{n=0}^{N-1} x_a(nT)e^{-j\Omega nT}T=\sum_{n=0}^{N-1} x[n]e^{-j2\pi fnT}T\)

  3. \(X[j\Omega]\)在区间\([0,f_s]\)上等间隔采样\(N\)点,\(F=\frac{f_s}{N}=\frac{1}{NT}=\frac{1}{T_p}\)

    \(X[jkF]=\sum_{n=0}^{N-1} x[n]e^{-j2\pi kFnT}T=\sum_{n=0}^{N-1} x[n]e^{-j\frac{2\pi}{N} kn}T=T\bullet DFT(x[n])\)

\(T\)倍的形成可以理解成,时域采样相当于原连续信号和冲击序列相乘得到,相当于时域卷积,而冲击序列的傅里叶变换结果乘上了\(\frac{1}{T}\)的系数,因此需要对DFT结果再乘上\(T\)来抵消

3. 频谱泄露

主要现象

对连续信号进行采样后截断后进行DFT后,频谱中出现了原本信号中不存在的频率分量

比如用相同的频率采样,但截断不同的点数\(N\)后做FFT的结果,上图是非整数周期,下图是整数周期

image

对此我的理解是,原离散序列和对离散序列进行DFT后再进行IDFT的关系是,后者是原序列以频域采样点数\(N\)为周期周期延拓后截取主值(此处假定离散序列的长度和DFT点数相同)

那么如果离散序列包含非整数周期,进行周期延拓后就会导致拼接不上(最简单的正弦信号采样成离散序列,只取1.5个周期,之后周期延拓显然拼接不上),从而产生时域上的突变,频域带宽增大,最终表现为频域上有效频点向周围“泄露”

4.栏栅效应

DFT是在频域以点的形式进行采样,就行从N个栏栅缝里去观察频域信号,其余看不见的地方显然会丢失信息,导致有点频率无法分辨,常见的方法是补0

首先是两种分辨率定义

\(\Delta R_w=\frac{1}{T_p} \\\Delta R_{fft}=\frac{F_S}{N_{fft}}\)

前一个是波形分辨率,\(T_p=\frac{N}{F_S}\)表示时域采样的时长,\(N\)为采样长度,后者是FFT分辨率

  • 时域采样信号补零相当于频域插值,能让FFT结果更加光滑、采样频点更加密集,但无法改变波形分辨率,该丢失的频点还是丢失
  • 增加时域采样时长\(T_p\),也就是增加原序列长度,可以分辨率增大,即\(\Delta R_w\)减小,从而分辨出两个相近的频点
  • 增加频域采样点数\(N_{fft}\),增大FFT分辨率,可以增大波形分辨率