信号频谱的绘制——关于DFT简单说明

在信号系统中,我们知道,想要分析一个信号的频谱,只需要对这个信号进行Fourier变换,就可以得到该信号的幅度谱和相位谱.但是不幸的是,Fourier变化并不好算,所以能不能用计算机去计算呢?


人工计算的方法只适用于连续时间信号1,而计算机只能处理有限个采样点,所以我们首先要将连续时间信号转化为离散时间信号.
根据采样定理,我们选择合适的抽样频率以确保没有频谱混叠.
对信号处理完之后,再考虑如何进行Fourier变换


对离散序列的Fourier变换(DTFT)
X ( e j ω ) = x ( n ) e j ω n X(e^{j\omega}) = \sum_{-\infty}^\infty x(n) e^{-j\omega n}
可见,虽然时域离散,但是频域上 ω \omega 的取值仍然是连续的,也就是说计算机依然无法处理这样的频谱信息,我们需要进一步将频谱离散化处理.
考虑到周期函数的频谱为基频+k次谐波,所以对频谱离散可以从周期函数下手.
若现有一离散周期序列,周期为N,那么其k次谐波分量 X ( k ) X(k) e j k 2 π N n e^{jk\frac{2\pi}{N}n} .随着k的变换,我们不难发现,看似无穷的频率分量中,只有N个分量是独立的,也就是说频率分量呈周期性变化
e j 2 π N ( k + r N ) n = e j 2 π N k n e^{j\frac{2\pi}{N}(k+rN)n} = e ^{j\frac{2\pi}{N} kn}
所以对周期序列的Fourier级数展开,我们就得到一个只有N个频率分量的离散频谱.
但实际中,很多函数都不是周期的,又该怎么得到离散频谱表示呢?


对于非周期序列,我们就要想办法转化为周期序列.方法也很简单,对非周期序列截短,再进行周期延拓.所谓的离散Fourier变换 DFT就是对非周期序列变换后得到周期列序的主值区间进行Fourier变换

说到这里,不知道你们会不会DFT变换的等价性产生疑问:这样离散频谱表示是否包含原信号的全部信息?
那必然不全,无论是截短近似,还是舍弃周期序列的高次谐波分量,都丢失了一部分频谱信息,因此也导致一些问题.


  1. 连续时间信号指在时域上有无限个取值可能,并非数学上定义的连续 lim x x 0 f ( x ) = lim x x 0 + f ( x ) \lim_{x\to x_0^-} f(x) = \lim_{x \to x_0 ^+} f(x) . ↩︎

发布了161 篇原创文章 · 获赞 170 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/white_156/article/details/102652330