求给定函数的傅里叶变换,并作振幅-频率图

用MATLAB软件对给定的函数求傅里叶变换,并且作出振幅-频率图源程序

给定数学函数

x(t)=12sin(2π×10t+π/4)+5cos(2π×40t)

取N=128,试对t从0~1秒采样,用fft作快速傅立叶变换,绘制相应的振幅-频率图。 在0~1秒时间范围内采样128点,从而可以确定采样周期和采样频率。由于离散傅立叶变换时的下标应是从0到N-1,故在实际应用时下标应该前移1。又考虑到对离散傅立叶变换来说,其振幅| F(k)|是关于N/2对称的,故只须使k从0到N/2即可。

程序如下:

N=128; % 采样点数

T=1; % 采样时间终点

t=linspace(0,T,N); % 给出N个采样时间ti(I=1:N)

x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t); % 求各采样点样本值x

dt=t(2)-t(1); % 采样周期

f=1/dt; % 采样频率(Hz)

X=fft(x); % 计算x的快速傅立叶变换X

F=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1)

f=f*(0:N/2)/N; % 使频率轴f从零开始

plot(f,abs(F),'-*') % 绘制振幅-频率图

xlabel('Frequency');

ylabel('|F(k)|');

求给定函数的傅里叶变换,并作振幅 频率图相关文档

最新文档

返回顶部