Matlab做快速傅里叶变换

快速傅里叶变换(Fast Fourier Transform)是信号处理与数据分析领域里最重要的算法之一。傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。
那么如何用Matlab实现快速傅里叶变换呢?直接上代码。

tp=0:2048;                              %  时域数据点数N
yt=sin(0.08*pi*tp).*exp(-tp/80);        %  生成正弦衰减函数
plot(tp,yt), axis([0,400,-1,1]),        %  绘正弦衰减曲线
t=0:800/2048:800;                       %  频域点数Nf
f=0:1.25:1000;
yf=fft(yt);                             %  快速傅立叶变换
ya=abs(yf(1:801));                      %  幅值
yp=angle(yf(1:801))*180/pi;             %  相位
yr=real(yf(1:801));                     %  实部
yi=imag(yf(1:801));                     %  虚部
figure
subplot(2,2,1)
plot(f,ya),axis([0,200,0,60])        %  绘制幅值曲线
title('幅值曲线')
subplot(2,2,2)
plot(f,yp),axis([0,200,-200,10])    %  绘制相位曲线
title('相位曲线')
subplot(2,2,3)
plot(f,yr),axis([0,200,-40,40])     %  绘制实部曲线
title('实部曲线')
subplot(2,2,4)
plot(f,yi),axis([0,200,-60,10])     %  绘制虚部曲线
title('虚部曲线')

结果如下:
这里写图片描述
这里写图片描述

我们眼中的世界就像皮影戏的大幕布,幕布的后面有无数的齿轮,大齿轮带动小齿轮,小齿轮再带动更小的。在最外面的小齿轮上有一个小人——那就是我们自己。我们只看到这个小人毫无规律的在幕布前表演,却无法预测他下一步会去哪。而幕布后面的齿轮却永远一直那样不停的旋转,永不停歇。这样说来有些宿命论的感觉。说实话,这种对人生的描绘是我一个朋友在我们都是高中生的时候感叹的,当时想想似懂非懂,直到有一天我学到了傅里叶变换……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆嵩

有打赏才有动力,你懂的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值