欢迎光临散文网 会员登陆 & 注册

离散傅立叶变换中的真实频率信息

2022-07-28 22:53 作者:乐吧的数学  | 我要投稿

(录制的视频在: https://www.bilibili.com/video/BV1m14y1Y7wz/)  

我们做信号处理或者做数字通信的时候,经常会用到离散傅立叶变换,而离散傅立叶变换中,对每个离散的点,我们看到的都是下标(第几个点,即 index),例如,我们对时域中 256 个采样点 x_i%2Ci%3D0%2C1%2C2%2C...%2C255 做离散傅立叶变换,我们只是知道下标 0,1,2... 等等,转到频域后,我们也是拿到 256 个频域信息,我们用大写的字母来表示频域信息,则我们拿到 X_k%2Ck%3D0%2C1%2C2%2C...%2C255。而我们有时候是关心频域中的 X_k 这个是对应哪个真实频率的,即是多少赫兹的频率下的?本篇短文用浅显易懂的文字来说明一下这个事情。

   我们知道,在连续傅立叶变换中,是有真实的频率信息的,下面是连续傅立叶变换的公式:
%5Cbegin%7Balign%7D%0AX(f)%20%3D%20%5Cint_%7B-%5Cinfty%20%7D%5E%7B%2B%5Cinfty%7D%20x(t)%20e%5E%7B-j2%5Cpi%20ft%7Ddt%0A%5Cend%7Balign%7D

  我们很容易看到,上面公式中的 f  就是实际的频率,例如,我们关心 100Hz (Hz:赫兹) 频率下的信息,则把  f=100  代入上式:
%5Cbegin%7Balign%7D%0AX(100Hz)%20%3D%20%5Cint_%7B-%5Cinfty%20%7D%5E%7B%2B%5Cinfty%7D%20x(t)%20e%5E%7B-j2%5Cpi%20100t%7Ddt%0A%5Cend%7Balign%7D

不失一般性,我们假如拿到 N 个离散的时域信号,我们知道,可以用下面的离散傅立叶变换公式来计算频域的信息:

X(k)%20%3D%20%5Csum_%7Bn%3D0%7D%5E%7BN-1%7Dx(n)%20e%5E%7B%20-j2%5Cpi%20%5Cfrac%7Bk%7D%7BN%7Dn%7D%20%5Cquad%20----------------%E5%85%AC%E5%BC%8F(1)


我们可以很容易猜测,上面公式中的 2%5Cpi%5Cfrac%7Bk%7D%7BN%7D 就隐含了频率的信息,那么如何才能得到频率信息呢?

这里,必需要先知道,我们拿到的离散的数据点,是按照什么样的采样率采集得到的,例如一秒钟采集 1000 个点,则采样率就是 1000,我们用 f_s 来表示采样率,表示一秒钟采集了  f_s 个样点。

则公式 (1) 中的 n,就可以转成具体的时间,即 %5Cfrac%7Bn%7D%7Bf_s%7D,这个时间单位就是秒,可以理解为是连续傅立叶变换公式中的 t .

那么在公式(1) 中,把 n 除以了 %20f_s,为了保持恒等,我们可以在 2%5Cpi%5Cfrac%7Bk%7D%7BN%7D 中乘以一个 f_s,则 2%5Cpi%5Cfrac%7Bk%7D%7BN%7D  变成  2%5Cpi%5Cfrac%7Bk%20f_s%7D%7BN%7D,结合上面的讨论,可以把公式(1) 改写成如下形式:
X(k)%20%3D%20%5Csum_%7Bn%3D0%7D%5E%7BN-1%7Dx(n)%20e%5E%7B%20-j2%5Cpi%20%5Cfrac%7Bk%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%5Cquad%20----------------%E5%85%AC%E5%BC%8F(2)

仔细打量公式(2),式子中的

   %5Cfrac%7Bn%7D%7Bf_s%7D  等同于连续傅立叶变换中的时间 t

%5Cfrac%7Bk%20f_s%7D%7BN%7D%20   等同于连续傅立叶变换中的频率 f

连续傅立叶变换中的频率 f 是连续的,而离散傅里叶变换中的频率则是离散的,相邻的两个频率点分别为:%5Cfrac%7Bk%20f_s%7D%7BN%7D%20     和   %5Cfrac%7B(k%2B1)%20f_s%7D%7BN%7D%20   .  因此,离散傅立叶变换中,最小的频率间隔就是 %5Cfrac%7Bf_s%7D%7BN%7D.



下面举个例子:假如采样率为  25600赫兹,我们连续采样 256 个数据来做离散傅立叶变换,则变换到频域后,我们能看到的最小频率间隔为 %5Cfrac%7B25600%7D%7B256%7D,即 100赫兹。如果采样前的信号,频率是 150赫兹的,则我们可以看到这个150赫兹没有落到100赫兹的整数倍上,经过离散傅里叶变换后,我们看到150赫兹周围相邻的整数倍的100Hz 上都有信号,那么,我们这个采样之后的频率分析就不是很准确,为了提高频率分析的精度,我们需要在时间上连续采样更多的数据,假如采样 512 个数据,则频率间隔就变成 %5Cfrac%7B25600%7D%7B512%7D,即 50赫兹,频率精度就提高了一倍。


补充:

虽然采样频率是 f_s,且 k%3D0%2C1%2C2%2C...%2CN-1,但是,不等于频率范围是 从 0%5Cfrac%7Bfs%7D%7BN%7D%2C1%5Cfrac%7Bfs%7D%7BN%7D%2C...%2C(N-1)%5Cfrac%7Bfs%7D%7BN%7D。 根据那奎斯特采样定理,我们能采集到的频率,最大是 

%5Cfrac%7Bfs%7D%7B2%7D. 所以,能表达的频率范围其实是:

-(%5Cfrac%7BN%7D%7B2%7D-1)%5Cfrac%7Bfs%7D%7BN%7D%2C...%2C-2%5Cfrac%7Bfs%7D%7BN%7D%2C-1%5Cfrac%7Bfs%7D%7BN%7D%2C0%5Cfrac%7Bfs%7D%7BN%7D%2C1%5Cfrac%7Bfs%7D%7BN%7D%2C2%5Cfrac%7Bfs%7D%7BN%7D%2C...%2C%5Cfrac%7BN%7D%7B2%7D%5Cfrac%7Bfs%7D%7BN%7D



另外,我们可以从线性空间正交基的角度来想一下。这些傅立叶变换,其实是 N 维空间中的变换。其正交基(暂时忽略单位向量的问题,即不考虑是否是单位正交基,即基向量的长度是否是 1,我们暂时忽略,感兴趣的朋友可以看我有一个视频是讲  “傅立叶变换前后能量守恒问题”)为:

e%5E%7B%20-j2%5Cpi%200%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C%0Ae%5E%7B%20-j2%5Cpi%201%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C%0Ae%5E%7B%20-j2%5Cpi%202%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C%0Ae%5E%7B%20-j2%5Cpi%203%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C%0A...%5C%5C%0Ae%5E%7B%20-j2%5Cpi%20(%5Cfrac%7BN%7D%7B2%7D)%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C%0Ae%5E%7B%20-j2%5Cpi%20(%5Cfrac%7BN%7D%7B2%7D%2B1)%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C%0A...%20%5C%5C%0Ae%5E%7B%20-j2%5Cpi%20(N-1)%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5Cquad%20%20n%3D0%2C1%2C2%2C...%2CN-1%20%20%5C%5C


其中:
%5Cbegin%7Baligned%7D%0Ae%5E%7B%20-j2%5Cpi%20(%5Cfrac%7BN%7D%7B2%7D%2B1)%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%0A%26%3D%20e%5E%7B%20-j2%5Cpi%20(%5Cfrac%7BN%7D%7B2%7D%2B1)%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20e%5E%7B%20j2%5Cpi%20N%20%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%20%5C%5C%0A%26%3De%5E%7B%20-j2%5Cpi%20(%5Cfrac%7BN%7D%7B2%7D%2B1-N)%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%20%5C%5C%0A%26%20%3D%20e%5E%7B%20-j2%5Cpi%20(-(%5Cfrac%7BN%7D%7B2%7D-1))%5Cfrac%7B%20f_s%7D%7BN%7D%20%5Cfrac%7Bn%7D%7Bf_s%7D%7D%0A%5Cend%7Baligned%7D


所以,(%5Cfrac%7BN%7D%7B2%7D%2B1)%5Cfrac%7B%20f_s%7D%7BN%7D   这个频率,对应的是 (-(%5Cfrac%7BN%7D%7B2%7D-1))%5Cfrac%7B%20f_s%7D%7BN%7D 这个频率. 我们画个图来直观感受一下为什么会这样。



离散傅立叶变换中的真实频率信息的评论 (共 条)

分享到微博请遵守国家法律