%FFT变换,获得采样数据基本信息,时域图,频域图

%这里的向量都用行向量,假设被测变量是速度,单位为m/s

clear;

close all;

A=xlsread('1.xlsx'); %将测量数据赋给A,此时A为N×2的数组

x=A(:,1);                                     %将A中的第一列赋值给x,形成时间序列

x=x';                                           %将列向量变成行向量

y=A(:,2);                                     %将B中的第二列赋值给y,形成被测量序列

y=y';                                           %将列向量变成行向量

%显示原始数据曲线图(时域)

subplot(2,1,1);

plot(x,y)                                                                                %显示原始数据曲线图

axis([min(x) max(x) 1.1*floor(min(y)) 1.1*ceil(max(y))])              %优化坐标,可有可无

xlabel('时间 (s)');

ylabel('加速度(m/s^2)');

title('原始信号(时域)');

grid on;

%傅立叶变换

y=y-mean(y);                                               %消去直流分量,使频谱更能体现有效信息

Fs=2000;                                                     %得到原始数据data.txt时,仪器的采样频率。其实就是length(x)/(max(x)-min(x));

N=239600;                                                 %data.txt中的被测量个数,即采样个数。其实就是length(y);

z=fft(y);

%频谱分析

f=(0:N-1)*Fs/N;

Mag=2*abs(z)/N;

%幅值,单位同被测变量y

Pyy=Mag.^2;                                              %能量;对实数系列X,有 X.*X=X.*conj(X)=abs(X).^2=X.^2,故这里有很多表达方式

%显示频谱图(频域)

subplot(2,1,2)

plot(f(1:N/2),Mag(1:N/2),'r')                         %显示频谱图

%         将这里的Pyy改成Mag就是 幅值-频率图了

% axis([min(f(1:N/2)) max(f(1:N/2)) 1.1*floor(min(Pyy(1:N/2))) 1.1*ceil(max(Pyy(1:N/2)))])

xlabel('频率 (Hz)')

ylabel('能量')

title('频谱图(频域)')

grid on;

matlab寻找频谱峰值,如何得到明显峰值的频谱图?相关推荐

  1. matlab寻找频谱峰值,matlab – 从数据中获取FFT峰值

    如果你无法访问findpeaks,它的工作原理背后的基本前提是,对于信号中的每个点,它会搜索以此为中心的三元素窗口并检查该窗口的中心是否更大比这个窗口的左右元素.您希望能够找到正峰值和负峰值,因此您需 ...

  2. Matlab—寻找峰值函数介绍

    方法一: findpeaks 寻找峰值函数 pks = findpeaks(data) [pks,locs] = findpeaks(data) ------pks 对应峰值,locs 对应峰值位数 ...

  3. MATLAB 寻找离散点拐点

    最近用matlab拟合离散数据,曲线由两段圆弧和直线组成,如下图所示,现在想要通过代码寻找曲线的拐点也就是开始弯曲的位置,原理很简单,对离散数据求导,直线段的导数比较小,当曲线发生弯曲导数会突然变大, ...

  4. 利用Matlab寻找一元函数极值

    利用Matlab寻找一元函数极值 clc,clear x=[20:0.5:50] A=[12 20 24 28 32]; B=[216 456 648 984 1104]; for k=1:5 f=( ...

  5. 信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析)

    信号的频域分析方法多种多样,这里针对较为常见的(频谱.能量谱.功率谱.倒频谱.小波分析)集中进行说明.这些方法的MATLAB代码实现参见文章频域特征值提取的MATLAB代码实现(频谱.功率谱.倒频谱) ...

  6. matlab 三维点 边界曲面,不用matlab如何从散点数据绘制极坐标三维曲面图?

    [ 在 OSN10 (老洪) 的大作中提到: ] : 标  题: Re: 不用matlab如何从散点数据绘制极坐标三维曲面图? : 发信站: 水木社区 (Sat Dec 15 20:47:17 201 ...

  7. 频域分析方法的理解(信号、频谱、能量谱、功率谱、倒频谱、小波分析)(终极教程)

    信号频域分析方法的理解(频谱.能量谱.功率谱.倒频谱.小波分析) 参考文献,值得一读 https://blog.csdn.net/fengzhuqiaoqiu/article/details/1011 ...

  8. 使用MATLAB的EEGLAB和BCT工具箱画脑网络连接图

    使用MATLAB的EEGLAB和BCT工具箱画脑网络连接图 一.EEGLAB工具箱插件-FCLAB,以及BCT工具箱 1.1 FCLAB插件及BCT工具箱 1.2 使用GUI界面操作 一.EEGLAB ...

  9. MATLAB模糊控制Suface三维图像导出svg高清矢量图方法

    -在MATLAB命令窗口输入fuzzy,然后在弹出框点 File → Import → From File -在Fuzzy Logic Designer 中点击 View → Suface 由于用MA ...

  10. Matlab实现图像融合,将人物融合到风景图中

    点击查看:Matlab实现图像融合,将人物融合到风景图中 文件大小:20M 操作系统:Windows10旗舰版 开发工具:Matlab2019 开发语言:.m

最新文章

  1. python strptime_Python法律实务应用——制作自己的LPR计算器(上)
  2. php获取文件真实后缀,php获取文件后缀的9种方法(收藏) - strrpos
  3. linux c语言链表的简单应用之创建链表
  4. javascript 浮点数加减乘除计算会有问题, 整理了以下代码来规避这个问题
  5. boost::proto::protect相关的测试程序
  6. 身份反模式:联邦筒仓和意大利面条身份
  7. mysql vs连不上_vs2015下配置MySQL,使之能使用c++连接完美运行
  8. msbuild.exe编译c#项目
  9. 初级算法——删除排序数组中的重复项
  10. 【校园电子书城】测试及部署
  11. 华为交换机的使用命令及简单配置(亲测)
  12. 【学习笔记-1】- 非线性规划的最优性一阶/二阶必要条件之例题(12道)
  13. APM-Skywalking调研及实施报告
  14. 读完这篇系列文章,前端offer手到擒来!!!
  15. 商场购物的shell脚本
  16. 结对编程——自动生成数学试卷的系统(javaswing,mysql)by 陈松刘宇航
  17. 怎么设置计算机桌面一键关机,电脑一键关机按钮创建 教你在桌面一点就自动关机...
  18. Net分布式系统之五:微服务架构
  19. egret可以用php做后端吗,Egret引擎开发指南之发布项目_node.js
  20. 穆穆推荐-软件销售行业软件公司销售参考操作手册-之5-软件行业客户分类及销售人员激励

热门文章

  1. swift 图片压缩
  2. 微信小程序模拟器里面不能显示自己写的INDEX
  3. 高压油管matlab,高压油管的压力及流量控制
  4. 分享27个高质量前端大佬的油管频道(上)
  5. 魔兽争霸---兽族打法
  6. 如何恢复计算机永久删除文件,怎么恢复被彻底删除的文件?简单有效方法分享...
  7. 【C语言】求最大公约数和最小公倍数
  8. 2022年 27 个最佳 UX/UI 设计灵感网站
  9. phpstudy修改mysql账户名_phpstudy怎么更改用户名
  10. 数字电路基础知识——数字逻辑代数(逻辑代数基本定理及常用公式,最大项、最小项,公式法、卡洛图法及Q-M法化简(列表法)化简逻辑函数)