基于MATLAB的FFT傅立叶分析

Posted 文宇肃然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于MATLAB的FFT傅立叶分析相关的知识,希望对你有一定的参考价值。

前言

FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。

FFT也可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。

根据实际经验来说说FFT结果的具体物理意义。

一个模拟信号,经过ADC采样之后,就变成了数字信号。

采样定理告诉我们,采样频率要大于信号频率的两倍。

用法

有了数字信号,就可以做FFT变换了。

N个采样点,

经过FFT之后,就可以得到N个点的FFT结果。

为了方便进行FFT运算,通常N取2的整数次方。

举例

假设我们有一个信号,它含有4V的直流分量;

频率为50Hz、相位为-30度、幅度为6V的交流信号;以及一个频率为75Hz、相位为90度、幅度为4.5V的交流信号。

用数学表达式就是如下:

S=4+6*cos(2*pi*50*t*pi*30/180)+4.5*cos(2*pi*75*t+pi*90/180)

分析

以256Hz的采样率对这个信号进行采样,总共采样256点。

根据公式Fn=(n-1)*Fs/N可知每两个点之间的间距就是1Hz,第n个点的频率就是n-1。

由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果,即观察0-128即可。

所举例子S信号有3个频率:0Hz、50Hz、7

以上是关于基于MATLAB的FFT傅立叶分析的主要内容,如果未能解决你的问题,请参考以下文章

如何在matlab的powergui里面进行fft分析

Matlab学习(用matlab进行fft谐波分析)

从Matlab平台进行FFT到ARM平台C语言FFT频谱分析

Matlab---傅里叶变换---通俗理解

Matlab---傅里叶变换---通俗理解

选带快速傅立叶变换ZOOM-FFT的matlab实现