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。
热门推荐
在日本投放原子弹的飞行员,他的结局如何?公开怒怼日本人
一天中最佳学习时间是哪几个时段
2025借条模板升级版:9大坑一文详解
实用收藏!法官眼中的合格借条
全球降息周期下,如何做好财富配置?
弹性退休定调,60岁退休计发月数是139,60.5岁退休还是139吗?
军改前,我国共设有30个武警边防总队,但其中仅18个辖有边防支队
夫妻之间如何增加沟通?五种修复方法
如何挽救婚姻——拯救婚姻的最佳方法(重建信任)
盐水洗鼻、抹眼药膏……这些治疗变应性鼻炎的“奇招”可靠吗?
神仙汤——百年老字号家庭药膳(传承经典,舌尖上的养生秘笈)
开源视频生成模型Pyramid Flow本地部署实测
咖喱炒饭 每一口都是满足~
香喷喷的火腿米汉堡:剩余米饭的完美变身
2025年美国创业攻略:深度解析中美商业环境差异与挑战
“小非农”远低于预期,美国2月ADP就业人数增加7.7万人
大非农和小非农:洞察市场动向的双刃剑
有图解》偏头痛发作只按太阳穴?教你9招「疗愈瑜伽」放松紧绷神经
深圳放大招!超常规政策吸引全球人才,科技创新生态再升级!
AI生成作品,著作权应该归谁?
美国电话号码格式完全指南:从本地到国际拨号
《离骚》第一段注释及译文
小孩半夜肚子疼怎么办?这份自救指南请收好
ADC技术与DSP:现代电子控制系统的双重动力
菲律宾电话怎么拨号
如何判断比特币市场的压力位?价格走势分析方法
驻车锂电池选购指南:五大品牌优劣势全解析
时间管理项目的案例有哪些
咳咳咳,春季呼吸道疾病怎么应对?
APP开发团队人员配置指南