聊聊FFT(二)----幅值、模值与分辨率

以常见的家用交流220V(以下称AC220V)工频电信号为例:

大家都知道家里的插座内有220V的电,可以给电饭锅、热水壶、空调冰箱等等电器供电。至于220V具体指的是什么可能非理工科背景的同学没有深究过。

“有效值又称“均方根值”。一种用以计量交流电大小的值交流电通过某电阻,在一周期内所产生的热量与直流电通过该电阻在同样时间内产生的热量相等,此直流电的量值则是该交流电的有效值"------百度百科;

人们常说的AC220V实际指的是火线与零线之间的有效值,用万用表可以直接量出来,但实际上火线零线之间最大的压差有311V之高:

这个311V表示的就是幅值(有效值的√2倍)。

关于模值的理解需要先知道分辨率是什么。

用模拟期间对模拟信号的采样必须满足"奈奎斯特定理"。

这个定理的意思很简单,如要采集到完整的原始模拟信号,对其采样的频率必须大于该原始模拟信号频率2倍及以上。当然倍数越高得到的结果越接近原始值,但耗费的时间也就越长。

比如用一颗模拟芯片去采集AC1V,频率50HZ的信号,理论上模拟芯片采样频率至少要达到100HZ。实际应用中不会这么做,因为100HZ太低了,如果要通过FFT运算得到尽可能准确的结果,多少HZ合适呢?---10240HZ。

这个频率表示每1秒钟可以对信号采样10240次,采样一次耗时约0.1毫秒;连续采样1024次,就会得到1024个样本数据,耗时约100毫秒;100毫秒包含了5个周期的AC1V信号波形:

分辨率=采样频率÷采样样本数的值:10240HZ/1024=10HZ。

因为FFT输出的频率分布并不是无限细分的,如果分辨率是10HZ的话,输出的结果如下:

频率 (HZ) 模值(V) 相位(度)

0 0 0

10 0

20 0

30 0

40 0

50 724

60 0

70 0

。。 。。

可以看出10HZ分辨率下FFT计算结果是以10的整数倍分布。

如果把采样频率降为1024HZ,那么FFT输出的结果便会以1HZ的整数倍分布:

频率 (HZ) 模值(V) 相位(度)

0 0 0

1 0

2 0

..... ......

48 0

49 0

50 724

51 0

52 0

。。 。。

其中模值=幅值*样本数的一半:1*√2*1024/2=724;FFT计算出模值后便可以推算出幅值及有效值。

幅值,模值,分辨率便是构成FFT计算的三要素。

经验分享 程序员 微信小程序 职场和发展