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。
热门推荐
霍山文物古迹介绍
如何安全地更改轮胎型号并确保行驶安全?更改轮胎型号需要注意什么问题?
检查磨损轮胎:从入门到精通的全面指南
如何使用 Profile Analyzer 优化你的游戏
滑铁卢战役:决定性的胜利与欧洲的和平
滑铁卢战役:决定性的胜利与欧洲的和平
创建维基百科和百度百科的区别
选一本差专业还是二本好专业?一本一定比二本好就业吗?
CNY转换人民币:如何实时获取汇率并进行货币转换?
科普|一文Get皮肤冷冻治疗:从原理到护理全掌握
二手房契税怎么算,二手房契税满二和满五的区别
生、旦、净、丑,末咋没了?一口气搞懂京剧行当
赛龙舟、包粽子、泥地拔河……贵州各地花式民俗活动迎接端午
端午节赛龙舟:从祭祀仪式到国际体育赛事
安徽十大必游景点推荐
如何创建有效的条件选股规则?这些规则在实际操作中有何作用?
乳糖不耐受的八大表现
国际金价“狂飙”再创新高 多空交织能否迈向“长牛”?
在没有U盘的时候给硬盘安装Windows系统
股票除权填权解析:理解股票市场的投资技巧
论日本在太平洋战争中的战略局限性?
土豆有点发青还能吃吗 土豆怎样保存不发青
土豆发青了还能吃吗?正确保存土豆的方法
夫妻双方挣钱怎么分配算合理
痣越长越大需要切除吗
五行理论:从古代哲学到现代应用
林徽因被追授建筑学学位:她用一生证明,自己是一位当之无愧的建筑师
1922年,林徽因弟弟林恒的罕见合影,25岁对日空战中牺牲!
《蜘蛛侠:纵横宇宙》中的艺术
腾讯司法调证指引