Matlab标准FFT绘制方法(详细注释)
创作时间:
作者:
@小白创作中心
Matlab标准FFT绘制方法(详细注释)
引用
CSDN
1.
https://m.blog.csdn.net/m0_56841583/article/details/144265824
Matlab官方文档中有fft的使用例程。
命令行窗口输入help fft,回车。
点击fft的参考页超链接,跳转到页面。
这是一个带有噪声的信号示例,为了更好地分析,将噪声部分删除,并将代码打下来,便于大家使用分析。
% 完整代码
Fs = 1000;
T = 1/Fs;
L = 1500;
t = (0:L-1)*T;
X = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
figure;
plot(1000*t,X)
title('Signal')
xlabel('t (milliseconds)')
ylabel('X(t)')
Y = fft(X);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
figure;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
详细解释每一句的含义。
% 生成信号
Fs = 1000; %采样率1000HZ
T = 1/Fs; %采样周期即采样间隔
L = 1500; %采样总点数
t = (0:L-1)*T; %时间向量,对应着每个采样点的时间值
X = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); %模拟采样回来的信号
figure; %新建图层
plot(1000*t,X) %画图
title('Signal') %更改图标题
xlabel('t (milliseconds)') %更改x坐标轴名称
ylabel('X(t)') %更改y坐标轴名称
原始信号图,频率50Hz与120Hz混合的信号图。
% FFT代码
Y = fft(X); %fft是快速傅里叶变换函数
P2 = abs(Y/L);
%abs函数计算Y的绝对值,得到频谱的幅度。因为FFT的结果是复数,取绝对值可以得到幅度。
P1 = P2(1:L/2+1); %FFT结果是对称的,通常只关心正频率部分,取一半
P1(2:end-1) = 2*P1(2:end-1);
%这里2:end-1,为什么没有处理索引1和索引end,是因为,索引1是直流分量,
%在P2 = abs(Y/L)已经处理过了。索引end是奈奎斯特频率,位于频谱的中间,
%并没有重复或对称,所以不需要乘2。
f = Fs*(0:(L/2))/L; %频率向量,表示每个元素对应的频率
figure;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|') %绝对值为幅值
从图中可以清晰看出两个频率50Hz与120Hz,并且50Hz的幅值对应0.7,120Hz的幅值对应1。
热门推荐
广东春季高考公办院校大幅缩招为哪般?影响哪些考生?
程序员需要读哪些数学书?
未继承的房产能执行吗?妻子继承房产需要哪些手续?
【科普知识】为什么大家都说γ-氨基丁酸(GABA)好?是智商税还是真有用?
【以案释法】 警惕!露天焚烧危险又违法
全合成机油是什么
6个科学的减肥方法,坚持100天,体重下降60斤
美甲灯安全使用指南:如何在追求美丽的同时保护健康?
中国古代皇帝的教育背景
项目核算管理费用怎么合理分摊
财经新闻导航:发现最佳信息源的指南
海棠花开 春光烂漫——京城赏海棠好去处
流年桃花都是短暂吗 流年桃花会长久吗
什么是可再生资源和不可再生资源
贵州财经大学怎么样?学校简介、学科评估及专业设置全解析
如何处理与父母的关系
双显卡使用教程:从硬件配置到性能优化的全面指南
Transformer之Attention的通俗理解
发现遗失物品公安机关怎么处理遗失物
茂谷柑的种植技术和栽培管理要点
垂泪对宫娥:历史中的宫廷哀怨与女性命运
最强战队!姆巴佩转会深度解析:道路曲折,前景光明
最强战队!姆巴佩转会深度解析:道路曲折,前景光明
产蛋的营养需要
从零开始掌握视频导演全部技能
滑雪不分季节,一起去南半球撒野!
买房划算还是租房划算?5类人不适合买房
如何查询房贷信息?这些信息对购房决策有何影响?
显存16GB是什么水平?
中医特色刮痧疗法的临床效果与随访研究