(MATLAB)一维信号峰值检测findpeaks
(MATLAB)一维信号峰值检测findpeaks
- 基本介绍
- findpeaks函数用法
- 基本用法
- 特殊用法
- 其他
by HPC_ZY
一维信号波峰波谷检测,峰值、峰宽、到达时间计算。MATLAB自带的findpeaks函数能完成这一任务,在这里分享其基本用法与特殊用法。
基本介绍
关于波峰,峰值,峰宽
findpeaks函数用法
基本用法
- 无参数,简单输出
x = 0:0.1:2*pi;
y0 = sin(x);% 这里的locs对应y0索引
[pks,locs] = findpeaks(y0);
plot(y0, '.-'),hold on
plot(locs, pks, 'ro'),hold off
- 指定x坐标
x = 0:0.1:2*pi;
y0 = sin(x);% 这里的locs对应实际x坐标
[pks, locs] = findpeaks(y0, x);
plot(x, y0, '.-'),hold on
plot(locs, pks, 'ro'),hold off
- 绘制结果
如果不设置输出,就会自动绘制结果
x = 0:0.1:2*pi;
y0 = sin(x);findpeaks(y0, x);
- 完整输出+完整绘制
x = 0:0.1:2*pi;
y0 = sin(2*x);% w为半(凸/峰)宽,p为凸高
[pks, locs, w, p] = findpeaks(y0, x);
% 加入如下参数即可绘制所有结果
findpeaks(y0, x, 'Annotate','extents');
特殊用法
为了简便,后续例子不再输出结果,直接绘制。
- 最小峰值高度
x = 0:0.1:2*pi;
y0 = sin(2*x)+x/2;MPH = 2;
% 仅搜索高度MPH以上的峰
findpeaks(y0, 'MinPeakHeight', MPH, 'Annotate', 'extents');
- 指定最小峰凸高度
x = 0:0.1:2*pi;
y0 = sin(3*x)+((x-pi)/2).^2;MPP = 1;
% 仅搜索高度MPH以上的峰
findpeaks(y0, 'MinPeakProminence', MPP, 'Annotate', 'extents');
- 指定相邻最小差
指的是波峰点需要比左右相邻点高出一定值
x = 0:0.1:2*pi;
y0 = sin(x).^20;TH = 0.05;
% 仅搜索从两侧峰值垂直下降超过MPP的峰
findpeaks(y0, 'Threshold', TH, 'Annotate', 'extents');
可以看出第一个峰的左邻点与峰值差太小
- 指定最小半宽
x = 0:0.1:2*pi;
y0 = sin(x.^2);MINW = 5;
% 搜索半宽大于MINW的峰
findpeaks(y0, 'MinPeakWidth', MINW, 'Annotate', 'extents');
- 指定最大半宽
x = 0:0.1:2*pi;
y0 = sin(x.^2);MAXW= 5;
% 搜索半宽小于MAXW的峰
findpeaks(y0, 'MaxPeakWidth', MAXW, 'Annotate', 'extents');
其他
- 后续还有,可能更新。
- 求峰谷只需要对信号取负,计算结果再取负就可以了。
(MATLAB)一维信号峰值检测findpeaks相关推荐
- 一维信号峰值检测Matlab实现
参考论文:https://pdfs.semanticscholar.org/56f1/49e51aa9fb9b0b46412b864839f34701d421.pdf 先使用3点运动均值滤波器处理一维 ...
- 【信号】用matlab实现一维信号的高斯滤波
1.从正态分布说起 高斯滤波使用的是高斯函数,即我们熟悉的正态分布的概率密度函数: f(x)=1σ2πexp(−(x−μ)22σ2)f(x)=\frac{1}{\sigma \sqrt{2\pi}} ...
- 利用matlab实现DMD动态模态分解(在一维信号或二维流场矢量中的应用)
利用matlab实现DMD动态模态分解(在一维信号或二维流场矢量中的应用) 0 前言 0.1 特征根的计算与含义 1 DMD的基本思路 2 一维DMD算法 3 二维DMD算法 4 总结 (2020年9 ...
- 利用matlab实现POD分解(在一维信号或二维流场矢量中的应用)
利用matlab实现POD分解(在一维信号或二维流场矢量中的应用) 0 前言 0.1 matlab中特征值计算 0.2 matlab中SVD分解计算 0.3 信号的正交性 1 一维信号POD分解 1. ...
- 【Matlab系列】一维信号/数字图像小波阈值去噪(软阈值,硬阈值,固定阈值)【含Matlab源码】
Date: 2022.4.23 文章目录 前言 0.代码获取方式 1.部分matlab代码 2.一维信号小波阈值去噪效果图 3.数字图像小波阈值去噪效果图 3.1.添加高斯噪声 3.2.添加随机噪声 ...
- 《MATLAB语音信号分析与合成(第二版)》:第3章 语音信号在其他变换域中的分析技术和特性
<MATLAB语音信号分析与合成(第二版)>:第3章 语音信号在其他变换域中的分析技术和特性 前言 1. 数据与函数路径设置 2. MATLAB仿真一:信号倒谱图.声道冲激响频谱.声门激励 ...
- 一维信号小波阈值去噪 c语言,一维信号小波阈值去噪
描述 1.小波阈值处理基本理论 所谓阈值去噪简而言之就是对信号进行分解,然后对分解后的系数进行阈值处理,最后重构得到去噪信号.该算法其主要理论依据是:小波变换具有很强的去数据相关性,它能够使信号的能量 ...
- C语言实现一维信号小波阙值去噪
实现小波阙值去噪分三个步骤: 1.将源信号分解成系数: 2.根据分解的系数获取阙值: 3.根据阙值对系数进行过滤: 4.将过滤的系数还原成信号,最终的结果就是将源信号过滤后的结果. 我实现的代码主要是 ...
- 一维信号小波阈值去噪
转载:http://blog.csdn.net/ebowtang/article/details/40481393 一,小波阈值去噪基本理论 本博文根据小波的分解与重构原理,实现了基于硬阈 ...
最新文章
- 万字长文总结机器学习的模型评估与调参 | 附代码下载
- linux 在某个core上的中断 affinity c语言函数,Linux中断处理体系结构
- Acwing799. 最长连续不重复子序列[C++题解]:双指针算法O(n)
- python_atp框架
- wav音量和分贝转换关系_电吉他音箱瓦数与音量大小之间的关系
- Python3中的可变与不可变类型
- LeetCode 351. 安卓系统手势解锁(回溯)
- linux运行不了.sh文件,linux下不能执行/bin/sh脚本的原因:command not found
- SpringBoot------集成PageHelper分页功能
- 链家网页爬虫_R爬虫小白入门:Rvest爬链家网+分析(一)
- NBU官方Doc網址https://www.veritas.com/support/en_US/article.DOC5332
- MODIS数据火点提取方法
- 空号筛选接口的应用场景
- 【Ubuntu破解UltraEdit】破解UltraEdit
- cad的文字嵌入线条_CAD字体如何转变为线条
- ShadowGun: Optimizing for Mobile Sample Level
- 安装ubuntu教程
- Tableau官方文档翻译(一):Measures和Dimensions的区别
- Laravel学习记录--数据填充
- 著名的NP问题:TSP问题(Traveling Salesman Problem)