如何得到模拟信号的频谱
对比连续信号的傅里叶分析和离散信号的傅里叶分析两篇文章可以发现,离散信号的频谱分析比连续信号复杂得多。真实世界中的信号多是连续的,如果想用计算机分析和处理它们,就避不开对离散信号的处理。
将模拟信号记为\(x_a(t)\),假设它是非周期连续时间信号,这是最常见到的一种信号。它的频谱用连续时间傅里叶变换描述,为了区分,用\(\Omega\)表示频率变量
\[ \begin{equation} X_a(j \Omega) = \int_{-\infty}^{+\infty} x_a(t) e^{-j \Omega t} \mathrm{d} t \tag{1} \end{equation} \]
计算机不擅长符号运算,擅长数值运算,所以要通过采样和量化将其转化为数字信号,这个过程一般通过ADC(模拟/数字转换器)完成。记转换得到的数字信号为\(x_d(n)\),如果ADC的分辨率和精度很高,则量化误差可以忽略不计。采样周期为\(T_s\),采样频率\(F_s=1/T_s\),那么
\[ \begin{equation} x_d(n) = x_a(nT_s) \tag{2} \end{equation} \]
记\(x_d(n)\)的DTFT为\(X_d(e^{j\omega})\),\(X_d(e^{j\omega})\)和\(X_a(j\Omega)\)之间的关系为
\[ \begin{equation} X_d(e^{j\omega}) = \frac{1}{T_s} \sum_{k=-\infty}^{+\infty} X_a \left[ j \left( \frac{\omega}{T_s} - \frac{2\pi}{T_s} k \right) \right] \tag{3} \end{equation} \]
从\((3)\)式可知,\(X_d(e^{j\omega})\)是由一组移位的\(X_a(j \Omega)\)叠加而成,周期为\(2\pi\)(当然,这是任何DTFT的特性),在幅度上有\(1/T_s\)的变化,频率轴也有\(T_s\)倍的变化,即
\[ \begin{equation} \omega = \Omega T_s \tag{4} \end{equation} \]
根据采样定理,为了避免互相移位的\(X_a(j \Omega)\)之间有重叠,要求采样频率\(F_s\)大于两倍的带宽\(F_0\),即
\[ \begin{equation} F_s > 2F_0 \tag{5} \end{equation} \]
从对\((3)\)式的分析可知,从\(X_d(e^{j\omega})\)可以得到\(X_a(j\Omega)\)的特性。设\(x_d(n)\)的DFT为\(X_d(k)\),\(X_d(k)\)的包络线就是\(X_d(e^{j\omega})\)在一个\(2\pi\)周期内的图像,如果\(X_d(k)\)的点足够多,包络线非常光滑,可以看成是\(X_d(e^{j\omega})\)的图像,所以从\(X_d(k)\)就可以得到\(X_a(j\Omega)\)的特性 。综上所述,对\(x_a(t)\)经ADC得到的数字信号做DFT,就能到\(x_a(t)\)真正的频谱\(X_a(j \Omega)\)。
至此就介绍完了分析真实世界模拟信号频谱的全过程。从中我们可以看到DFT的重要性,所以快速傅里叶变换FFT作为DFT的高效实现,是极其重要的算法。