MATLAB实现寻找信号中的峰值和谷值

news/2024/12/4 3:43:34/

一、峰值检测函数

1.findpeaks函数

(1)函数调用:

在这里插入图片描述

(2)范例:

clear all; clc; close all;
y=load('ffpulse.txt');       % 读入脉搏数据
x=detrend(y);                % 消除趋势项
fs=200;                      % 采样频率
N=length(x);                 % 数据长度
time=(0:N-1)/fs;             % 时间刻度
% 用findpeaks函数求峰值位置
[Val,Locs]=findpeaks(x,'MINPEAKHEIGHT',200,'MINPEAKDISTANCE',100);
T1=time(Locs);               % 取得脉搏峰值时间
M1=length(T1);
T11=T1(2:M1);
T12=T1(1:M1-1);
Mdt1=mean(T11-T12);          % 从峰值得的平均周期值
fprintf('峰值求得的平均周期值=%5.4f\n',Mdt1);
% 作图
plot(time,x,'k'); hold on; grid;
plot(time(Locs),Val,'ro','linewidth',3);
xlabel('时间/s'); ylabel('幅值'); title('脉搏信号波形图')
set(gcf,'color','w');

2.v_findpeaks函数

(1)函数调用

[K,V]=v_findpeaks(x,m,w);

输入变量x是被测序列,m是方式,m设为’q’时,用二次曲线内插后寻找峰值,当m设为’v’时是寻找谷值;w是在寻找峰值时,两个峰值之间最小间隔

(2)范例

clear all; clc; close all;y=load('ffpulse.txt');       % 读入脉搏数据
x=detrend(y);                % 消除趋势项
fs=200;                      % 采样频率
N=length(x);                 % 数据长度
time=(0:N-1)/fs;             % 时间刻度
[K,V]=v_findpeaks(x,'v',100);
T2=time(K);                  % 取得脉搏谷值时间
M2=length(T2);
T21=T2(2:M1);
T22=T2(1:M1-1);
Mdt2=mean(T21-T22);          % 从谷值得的平均周期值
fprintf('谷值求得的平均周期值=%5.4f\n',Mdt2);
% 作图
plot(time(K),V,'gO','linewidth',3);
set(gcf,'color','w');

http://www.ppmy.cn/news/188830.html

相关文章

md文件使用介绍

凌云之翼 写的一篇图文混合介绍 https://www.cnblogs.com/liugang-vip/p/6337580.html

(Mysql)Navicat如何导出Excel格式表结构

一、点击navicat查询(新建) 二、把如下查询sql语句复制粘贴进去,修改对应的数据库名称和表名称 SELECTCOLUMN_NAME 列名,COLUMN_TYPE 数据类型,DATA_TYPE 字段类型,CHARACTER_MAXIMUM_LENGTH 长度,IS_NULLABLE 是否为空,COLUMN_DEFAULT 默认…

MDT概念说明

转自:http://www.winos.cn/html/21/t-39621.html http://hi.baidu.com/popweb/item/95ea6cf3aea966b530c19958 1、Information Center:该节点包含整个MDT 2008的相关信息(不过都是英文大家感兴趣的花可以看下)。①Getting Started:使用向导的相关信息。②Document…

/MD /MDd /MT /MTd

在VC下面,有4个参数是跟静态/动态编译有关的。 /MD /MDd /MT /MTd 其中, MT , MTd可以认为是静态编译。也就是说,设置成MT, MTd后编译出来的*.exe程序在运行时是带了符号的。而MD MDd是不带符号的。后面的小写的d表示是否允许调试&…

MDT 的一些操作

MDT 的一些操作 1、开始加设置变量 OSDComputerName%TaskSequenceID% 2、在 Apply Windows PE 前加 Copy takeown to system32 %comspec% /c copy /y \\MD5\Distribution$\Tools\x86\takeown.exe %systemroot%\system32 这个也可以通过 $oem$ 目录进行复制。 具体为&#xff1…

/MTd /MD /MDd

在编译 ATL 工程后,生成的 dll 在本电脑上能用,在别人的电脑上不能用。通过 Depends 工具分析一下,原来是编译选项没有选对,别的电脑上没有我生成的 dll 需要的基础 dll 文件,选成静态链接库就好了。故而总结…

SDTM--study data tabulation model implementation guide:human clinical trails(临床研究数据模型实施指南)3.4

Fundamental of the SDTM(SDTM原理) observations and variables(观察结果与变量) SDTM build by observations and variables, each observation can be describe by series of variables,each variable can be classified according to t…

mtd设备操作、jffs2

安装mtd相关命令 手动安装mtd-utils,根据系统自行选择 mtd交叉编译:https://blog.csdn.net/zhangxuechao_/article/details/52124424 系统flash操作命令 # cat /proc/mtd dev: size erasesize name mtd0: 00080000 00020000 "boot" m…