对信号进行采样使其转化为离散信号,是用FFT进行频谱分析的第一步,随后即可参照前述方式用FFT进行频谱分析.根据采样定理可知,采样频率 必须2倍于信号的最高频率.用FFT对模拟信号进行频谱分析的流程图如下.
1 利用FFT分析模拟信号频谱的方框图
连续信号的频谱 与离散信号的频谱 之间的关系
时域与频域特性是每个信号所固有的属性,一个信号的频谱包含了信号所有的信息,因此对信号频谱的分析与研究也就完全等同与对信号本身的研究.如果想对信号的特性深入了解,从频域的角度对信号进行研究是必不可少的.因此,信号的频谱分析是数字信号处理技术中的一种较为重要的工具.
Matlab作为一款强大的数学处理软件,其已广泛运用于科学研究、教学中,其自带的信号处理函数可以简单、高效的处理原本复杂的FFT变换,可通过调用FFT函数来直接实现快速傅里叶变换,Matlab中的FFT函数包含两个参数,第一个参数为待处理的信号,第二个参数为数据点数.此外对于处理后的数据结果可以利用stem和plot函数分别进行离散与连续作图,再利用subplot将两幅图作到同一平面,可以对其进行直观的观察与分析.源'自:优尔`!论~文'网www.youerw.com
2.3 利用Matlab实现FFT频谱分析
2.3.1 待解决实例
已知连续时间信号 (6)
对 采样,采样频率 ,得时域离散信号
(1) 画出离散信号 的时域波形和频谱曲线 ,并对实验结果进行分析.
(2) 画出连续信号 的时域波形和频谱曲线 ,并对实验结果进行分析.
2.3.2 相关代码
clear all
clc
fs=20; %采样频率
n=128; %数据点数
k=0:n-1; %时间序列
ts=1/fs;
fk=cos(2*pi*2*k*ts);
fk=fk+cos(2*pi*8*k*ts);
fk=fk+cos(2*pi*5*k*ts);
f=fft(fk,n); %对信号fk按照采样点数做fft变换
subplot(211); %图一
%stem(k*ts,fk) %绘制离散信号的时域图
plot(k*ts,fk); %绘制连续信号的时域图
subplot(212); %图二
%plot(2*pi*(0:n/2-1)/n/pi,2*abs(f(1:n/2)/n)) %绘制离散信号的频域图
plot(fs*2*pi*(0:n/2-1)/n/pi/2,2*abs(f(1:n/2)/n)) %绘制离散信号的频域图