3 FFT 频谱分析及应用

3.1 实验目的

1、通过实验加深对FFT 的理解;

2、熟悉应用FFT 对典型信号进行频谱分析的方法。

3.1 实验原理

在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT 不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。

有限长序列的 DFT 是其z 变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT 是DFT 的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。在 MATLAB 信号处理工具箱中的函数fft(x,n),可以用来实现序列的N 点快速傅立叶变换。

经函数fft求得的序列一般是复序列,通常要求出其幅值和相位。MATLAB中提供了求复数的幅值和相位的函数:abs、angle,这些函数一般和fft同时使用。

3.3.3 实验内容以及步骤

被噪声污染得信号,比较难看出所包含得频率分量,如一个由50Hz 和120Hz正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz,试用FFT 函数来分析其信号频率成分,要求:○1 画出时域波形;○2 分析信号功率谱密度。

N = 40;

n = 0:N-1;

t = 0.01*n;

x = 2*sin(4*pi*t) + 5*cos(8*pi*t);

k = 0:N/2;

w = 2*pi/N*k;

X = fft(x, N);

magX = abs(X(1:N/2+1));

subplot(2, 1, 1);stem(n, x, '.');title('signal x(n)');

subplot(2, 1, 2);stem(magX);title('FFT N=40');

xlabel('f (unit : pi)'); ylabel('|X|');grid

3.3.4 实验结果分析

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片