FFT基础知识——采样定理

采样定理

当你第一次接触到FFT时,你一定会听到来自前辈的教诲“采样频率要大于你要采集的信号频率的两倍”。当然,第一次听到的时候什么都不知道只会按照步骤一步一步走,而在经过一段时间的磨练后,笔者自认为对于FFT的相关原理和这令人头疼的采样定理有所了解,故在此留作记录。

所谓采样,就是在一个连续的信号上按照一定规律打点,这个规律就是你设置的采样频率,每次到时间后就在采样的信号上面收集一个点。那么可以预见,一个在周期内连续的信号才能完整的传递该信号的所有信息,而你只有离散的点,自然是漏掉了很多的信息。这时就会有人好奇,那我打的点越多岂不是越好,这就要考虑到你采集工具的能力、收集信号点的工具是否能够处理大量的信息流、你要采集的信号自身的性质。考虑到种种限制(笔者也不能够说的全面,前人总结过不能过高的原因),最终发现,当采样的频率刚好比信号频率的两倍稍大一点时,可以较好的保留信号信息。

FFT

而在单片机中使用FFT就很容易了,首先你需要下载官方的库,没错,STC官方已经将FFT的相关函数封装好了,而你需要做的,就是用ADC采集信号,然后“喂”给官方的FFT函数,然后知道官方的库返回值代表什么,如何从里面获得你想要的信号信息,如:频率、峰峰值、直流偏置等。

欠采样(带通采样)

注:下面内容基于对官方DSP库重封装、更易于操作的FFT驱动,省略了如何处理FFT后的结果获得最终内容的部分,可不看。
上述的情况,只针对当你要采集的信号只有一个时,比如说一个规整的正弦波。而当两个信号复合时,若两个信号的频率差距很大,一个很快一个很慢,那么很幸运,通过上述的采样方法仍然可以做到将两种信号的信息分开。若两个信号的频率差距很小时呢?
这个时候,虽然用大于信号频率两倍的采样频率去采还是可以获得两个信号的信息,但是此时的信息失真严重,这时候就要用到欠采样,也叫做带通采样。所谓欠采样,就是用一个远远小于信号频率的采样频率去采,这时候就会有人说,那这不是信号完全不对了吗?没错!对于信号频率来说,此时采集到的信号远远小于本来的频率,但是这个频率跟原本的信号频率之间有某种关系,这个关系与你欠采样的频率有关,你可以假设,如果一个周期你才能采集到一个信号,很多歌周期之后你会发现你采集到一个形状相似但是“变胖”(周期变大)的信号,通过一些处理可以让这个采集到的信号成功减肥,最终还原回原始信号。

下面是如何处理两个信号混合的情况:

假设你知道两个信号的最高上限F_Max,那么你可以先用F_Max作为粗采的采样频率对混合信号进行处理,此时你可以获得两个幅值最大的频率称为F_H、F_L,之后用F_H / (F_H - F_L) = m_Max,m_Max是用来确定精采频率n的上限,2F_H / n < Fs < 2F_L / (n - 1) n从0 -> m_Max直到该区间为最小,此时可以确定一个最小的采样频率Fs;此时再用Fs对信号采样可以获得两个小于Fs的频率F_1、F_2,考虑带奈奎斯特区的对称性,需要用Fs分别减去F_1和F_2得到两个像 Img 之后将这四个频率加到粗采时的频率处于精采确定的第m奈奎斯特区,然后通过数据处理和判断获得实际的信号频率。

实际应用情况

通过上述的描述可以发现带通采样可以在两个信号的频率很高的时候,这个时候采样频率不需要大于信号的两倍时我们的工具便已经无法精准的处理,这时候就可以用带通采样,用更低的频率采的精准的信息,再用我们的数学工具将低频的信号还原!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值