【算法】FFT后的频谱

一、前言

本文不做公式上的推导,仅对FFT得到的结果进行分析的相关知识点和结论进行记录,以便查询。

二、实数FFT后的结果分析

2.1 实数序列FFT后的数据特征

傅里叶变换出来的是对应长度的一堆复数,此复数数组符合如下规律:

  • 第一个和第(N/2 +1)的两个复数的虚数部分为0;
  • 第二个结果直到最后一个结果关于在第(N/2+1)结果其左右对称位置为共轭复数。

以上结果可根据公式推导,此处不再论证,matlab中随便写一段代码验证(此处不详细考虑采样定理什么的,仅从公式结论的角度检验):

x = (1:2:40);
y = sin(x);
fft_o = fft(y);
fft_o = fft_o';

 结果如下:

2.2 实数序列FFT后的频谱分析

FFT之后得到的一组复数是波形对应频率下的幅度特征。

(1)频率计算

每一个点就对应着一个频率点。傅里叶变换并没对频率进行任何计算,频率只与采样率和进行傅里叶变换的点数相关。FFT变换完第一个数是0Hz频率,即直流分量。后面第二个复数对应的频率是0Hz+频谱分辨率,每隔一个加一次。频谱分辨率为:

\Delta F=Fs/N
式中:Fs为采样率,N为FFT的点数,因此只要Fs和N定了,频域就定下来了。

(2)各个频率分量的幅值

各频率点的模值,就是该频率值下的幅度特性。具体跟原始信号中该频率分量的幅度有什么关系呢?

得出真实幅值,需要把除了第1个点(直流分量)以及第(N/2+1)个点除以N(N为参与FFT运算的点数)以外,其余点需要求得的模除以N(N为参与FFT点数的序号数)/2。

假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。

实际应用中,常看到的频谱图的纵坐标,主要有:

幅度(Magnitude):对fft的结果不做任何处理,直接取模,那么这个值叫幅度。

幅值 (Amplitude):前面说的求得实际信号对应频率对应分量的实际幅值大小。

dB:主要为了用较小的坐标描述很宽的范围,以及把难搞的乘法变成简单的加法。电子工程上会取20log(Amplitude)转变为分贝。

由于计算结果关于fs/2对称位置为共轭复数,因此幅频图也具有对称性。

fft结果为0-fs的频谱,不过由于fft具有周期性,也可算出其他区的结果。

(3)相位

计算结果为一个复数,相应角度即为其相位。

三、复数FFT后的结果分析

3.1 复数序列FFT后的数据特征

复数序列傅里叶变换的实部 = 序列实部傅里叶变换的实部 - 序列虚部傅里叶变换的虚部
复数序列傅里叶变换的虚部 = 序列实部傅里叶变换的虚部 + 序列虚部傅里叶变换的实部

3.2 复数序列FFT后的数据特征

由于一个偶函数与一个奇函数相加或相减不一定还具有对称性,因此实数傅里叶变换后不在具有对称性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值