自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (1)
  • 收藏
  • 关注

原创 【可穿戴算法】-进阶-心率变异性分析

在前几篇文章中,详细介绍了基于PPG信号的心率、血氧、血压检测原理,不了解的同学可以往前翻翻看。为了更好的了解人体身体状态,我们还需要进一步从PPG信号中获取更多有用信息,其中心率变异性HRV就是是一种量测连续心跳速率变化程度的方法,运用心率变异来分析自律神经平衡的状态。1.HRV心率变异性分析简介心率变异度分析,其计算方式主要是分析借由心电图或脉搏量测所得到的心跳与心跳间隔的时间序列。心率变异分析亦被发现可作为预测发生心肌梗塞后的死亡率的指标及预测末期肝癌病患的预后。如糖尿病性神经病变、心肌梗塞(MI

2021-01-28 20:47:57 8172 5

原创 【可穿戴算法开发】--基于神经网络的心率、血氧预测论文小结

基于神经网络的心率、血氧、血压预测的中,可采用的方法通常是卷积神经网络、循环神经网络、卷积+循环神经网络。1. 在信号采集阶段,同步采集PPG信号和ECG信号,将信号分割切分为 t 秒时间片段,每 s 秒移动一次,通过ECG信号计算出每秒的心率值作为真实心率值。数据集可以参照IEEE Signal Processing Cup(2015)中提供的数据集,这个数据集里包含了跑步机上的PPG、ACC和ECG运动信号,找不到数据集的小伙伴可以私信我。2. 在模型搭建与训练阶段,设计2层卷积神经网络作为特征提

2020-11-09 14:11:39 1868 1

原创 【算法工程师必会】-在MATLAB下调试C代码步骤

在算法开发流程中,主要经过以下几个阶段:算法初始阶段算法仿真阶段算法实现阶段算法移植阶段在使用MATLAB搭建算法模型仿真得到想要的结果后,就要进行算法实现了,如果要在嵌入式平台实现算法功能,通常要用C代码来实现,比如实现智能穿戴设备上的健康检测算法。本文通过MATLAB调试C代码来验证算法实现阶段的正确性。MATLAB联调C代码新建一个文件夹,在同一个文件夹里编写所需要实现的算法文件a.m文件、b.c文件、b.h文件比如在下图中,编写ACCTestAlgm.m文件,MotionDe

2020-10-29 13:41:14 1129 2

原创 【可穿戴算法开发】--脉搏波信号PPG质量评估方法论文总结

信号质量评估: 选择合适的信号特征表征信号质量。文章目录信号质量评估方法分类ECG信号质量评估方法PPG信号质量评估方法在使用PPG信号监测心率和血氧过程中,信号质量的好坏直接决定了心率和血氧值的准确性。因此有必要针对信号质量评估的方法进行研究。信号质量评估就是选择合适的信号特征表征信号质量。信号质量评估:它不是直接对信号进行整形、去噪找及特征提取等处理,而是通过噪声的特点或波形特征进行具体分析,得到反映信号质量高低的信号质量指数,对信号的整体数据或者局部数据进斤综合评价。通常的,信号质量评估流程

2020-08-31 17:24:31 5902 6

原创 【数字信号处理】--功率谱估计

文章目录什么是功率谱估计?经典谱估计法周期图法-直接法平均周期图法-Bartlett法修正的平均周期图法-Welch法间接法--BT法--自相关法现代谱估计方法基于参数建模的功率谱估计AR模型-自回归模型MA模型--移动平均模型ARMA模型--自回归-移动平均模型基于非参数建模的功率谱估计评价功率谱的标准参考资料什么是功率谱估计?谱估计在现代信号处理中是一个很重要的课题,功率谱反映了信号的功率在频域随频率w的分布,功率谱估计可以分为经典谱估计方法与现代谱估计方法。简单说功率谱估计法是通过利用已经获得的

2020-06-05 11:45:50 11392

原创 【数字信号处理】--数字信号分析与处理基础知识

文章目录一、信号的时域分析1.1信号波形参数识别1.2检测方法 过零检测法1.3数字信号微分与数字信号积分二、信号的频域分析2.1周期信号的频谱分析2.2 信号的频谱分析2.3数字信号的频谱计算方法三、信号的时差域相关分析3.1信号的相关系数3.2 相关应用3.3 数字滤波器和模拟滤波器的区别四、信号的幅值域分析4.1概率密度曲线与概率分布曲线的应用五、信号的数字滤波5.1滤波器概念5.2频率域滤波:5.3时域滤波5.4 时域FIR滤波器5.5 IIR滤波器5.6 其他滤波器5.7 数字音乐均衡器的设计六、

2020-05-31 10:46:54 6802

原创 【可穿戴算法开发】--智能穿戴设备中常用传感器有哪些?知其然知其所以然

文章目录@[toc]1.常用的坐标系地球坐标系 (e系)-OXeYeZe地理坐标系(g系)-OXgYgZg载体坐标系(b系)-OXbYbZb导航坐标系捷联式惯性导航的基本原理:右手坐标系2.加速计组成加速度计原理:常用加速度传感器3.陀螺仪组成原理常用陀螺仪传感器4.磁强计地磁场和航向角组成用途:原理:第一篇文章先来介绍加速度计、陀螺仪、磁力计的相关原理和应用,在介绍传感器之前,我们先来了解在惯性导航中常用的坐标系。1.常用的坐标系地球坐标系 (e系)-OXeYeZe指固联在地球上的坐标系,原点在地

2020-05-31 10:39:51 1884

原创 【手环算法开发】--计步检测,看着篇文章就懂了

本文主要介绍了目前计步检测算法的基本原理、计步检测使用的传感器类型,帮助大家对计步检测入门有所认识了解。如有疑问,请联系微信wangxiaoqiang—。1.行人运动模型简介首先我们来看一下人在走路时大致分为下面几种场景:正常走路,手机拿在手上(边走边看、甩手、不甩手)慢步走,手机拿在手上(边走边看、甩手、不甩手)快步走,手机拿在手上(甩手、不甩手、走的很快一般不会看手机吧)...

2020-04-11 17:16:43 4496

原创 【剑指offer刷题】--二叉树的下一个结点

题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解:我们都了解了中序遍历的规则是 左 根 右# -*- coding:utf-8 -*-# class TreeLinkNode:# def __init__(self, x):# self.val =...

2020-03-17 16:41:27 130

原创 【可穿戴算法开发】-PPG信号检测方法

文章目录一、PPG(光电容积脉搏波法)信号的检测原理二.PPG技术目前存在的问题(挑战)三. **心电信号产生的原理**随着经济的发展,在人们生活水平提高的同时,高脂肪摄入和低运动量成为了人们普遍的生活模式,近年来高血压、高血脂已经发展为危险性最高的病症。心电、血压、血氧等生理参数是预防和分析心血管疾病的重要生理参数。常用的心电测量仪器有:多导ECG心电图仪、PPG心率检测器、心率带等;常...

2020-01-17 18:36:42 23664 5

原创 【可穿戴算法开发】-基于PPG信号的血氧与血压检测模型

文章目录1.血氧检测方法(1) 测量原理(2)标定试验(3)基于线性回归的特征值R提取算法(4)基于移动平均的特征值提取算法2.血压监测方法(1)原理(2)计算公式3.算法评估指标1.血氧检测方法(1) 测量原理红光(660nm)红外光(940nm)血氧饱和度理论计算公式:通过标定实验得到A、B的值,R值由红光和红外光两路信号的波峰值与波谷值之差得到,分子为红外光的吸收度差,分母为...

2020-01-17 18:33:39 17914 1

原创 【可穿戴算法开发】-PPG信号的去噪方法

文章目录@[toc]0.检测信号中噪声的消除方法1.常见噪声干扰2.常见噪声的消除方法3.算法评估指标1.血氧监测方法测量原理标定试验基于线性回归的特征值R提取算法基于移动平均的特征值提取算法2.血压监测方法监测原理0.检测信号中噪声的消除方法1.常见噪声干扰基线漂移(呼吸波动和放大电路不稳定引起的,小于1Hz的低频噪声)工频漂移(交流电源引起的干扰,固定的50Hz正弦波)肌电噪声(肢...

2019-11-04 11:05:48 8473

原创 神经网络模型压缩

神经网络模型压缩优化方法:1.优化压缩模型大致有三个方向:1)更为精细的网络设计,简化卷积层和全连接层的形式,2)对模型进行裁剪},在结构复杂的神经网络中,往往存在着大量的参数冗余,因此可以寻找一个适当的评定方法进行剪枝优化3)为了保持原有模型中的数据精度,一般常见的网络中,都会以32bit的浮点类型保存模型权重。这种保存方式,增加了数据存储的大小和重载模型的计算复杂度。对于以上的情况,可...

2019-10-22 20:25:34 2043 2

原创 【YOLO网络】总结

YOLO算法笔记1.YOLOv3的结构YOLO图像检测技术综述YOLOv3取消YOLOv2的池化层可以提高运算速度算法流程YOLOv3的改进YOLOv3网络结构图根據上表可以得出,對於代碼層面的layers數量一共有252層,包括add層23層(主要用於res_block的構成,每個res_unit需要一個add層,一共有1+2+8+8+4=23層)。除此之外,BN層和LeakyR...

2019-10-21 13:46:40 1405

原创 【剑指offer刷题】--滑动窗口的最大值

题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,...

2019-09-19 23:09:05 134

原创 【代码大全】 读书笔记

文章目录第七章 高质量的子程序1.创建子程序的理由2.内聚性3.好的子程序名字4.子程序的参数5.使用函数时要注意的问题第八章 防御式编程1.保护程序免遭非法输入数据的破坏2.断言 assertions3.错误代码的处理4.异常的处理 exception5.各种错误的处理机制:第十章 使用代码的一般事项变量初始化原则作用域 : 使变量引用局部化第十一章 变量名的力量1.注意事项2.变量的...

2019-09-06 17:31:54 280

原创 python-numpy 的使用

当考虑了方向,即axis=1为横向,axis=0为纵向,而不是行和列,那么所有的例子就都统一了。1.numpy 的安装我们在安装了python后,使用如下命令,来安装numpy模块pip install numpy 2.numpy中数据的基本属性numpy的数据格式有以下三个属性:ndim:维度shape:行数和列数size:元素个数array1=np.array([1,2...

2019-09-06 15:33:45 214

原创 【剑指offer刷题】--矩阵中的路径

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如在下面的3x4的矩阵中包含一条字符串"bcced"的路径(路径中的字母用斜体表示)。但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第...

2019-09-05 23:22:02 143

原创 【剑指offer刷题】--机器人的运动范围

题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?解题思路: 回溯法,还可以解海岛...

2019-09-05 20:06:22 126

原创 指数基金投资指南 笔记

本文是阅读 银行螺丝钉 的指数基金投资指南 一书的读书笔记,本人刚工作,刚开始接触指数基金,希望有兴趣的小伙伴可以加我wx号wangxiaoqiang---共同讨论,早日实现财富自由!第一章 投资新手的建议1. 真正的富人,手握大量资产,同时又绝不会去支付自己承受不起的消费2.当我们的时间还不值钱的时候,可以用业余时问多看书、锻炼身体,戒掉一些花费较高却对身体无益的消费。3....

2019-08-27 21:54:58 2361

原创 MATLAB学习笔记

1.创建行向量a=[1,2,3]或者a=[1 2 3]创建列向量a=[1;2;3]向量的转置 a’等差元素向量x=[xi:q:xp]2.矩阵的乘矩阵元素相乘A.*BA.^2向量的点乘dot(u,v)矩阵的点乘cross(A,B)向量的引用v(

2019-08-27 21:35:00 169

原创 RCNN论文笔记

1.RCNN算法检测过程:第一个阶段首先产生候选区域(Region Proposals),包含目标大概的位置信息第二个阶段对候选区域进行分类和位置精修(1)过程:(1)第一步,对于给定的输入图像,使用选择性搜索(selective search)的区域建议方法提取出大约2000个候选区域。即首先过滤掉那些大概率不包含物体的区域,通过这一阶段将原始图像中需要处理的区域大大减少.通常情况下...

2019-08-04 16:21:35 173

原创 Alexnet网络学习

目录:一、Alexnet网络介绍:二、CIFAR-10数据集的简介:三、什么是卷积、池化、dropout及其作用?四、alexnet提出的意义和优缺点?五、利用CIFAR数据集训练alexnet网络,并识别图像参考:一、Alexnet网络介绍:AlexNet的一些参数和结构图:卷积层:5层全连接层:3层深度:8层参数个数:60M神...

2019-07-24 22:18:26 939

原创 【目标检测算法】--YOLOv3学习笔记

一、yolov3的网络结构:如上图所示:(1)卷积层:layer filters size input output0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0.299 BFLOPs(2)输入层:输入:像素为416*416,通道数为3的的图片(开启random参数的话可以自适应以32为基础的变化,)...

2019-07-08 21:35:00 367

原创 【剑指offer刷题】20--栈--包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。对于栈和队列的问题,一般可以考虑使用两个栈和队列来解决问题,一个用来辅助解决问题。在本题中,使用两个栈s1和s2,s2作为辅助栈,压栈时进行比较,如果A栈的压入比B栈的大,则B不压入;如果小于等于,则AB同时入栈;出栈时,如果AB栈顶元素相同,则B出栈;不相同的话,A出...

2019-07-03 21:56:24 87

原创 【目标检测算法】--YOLOv1学习笔记

目标检测主要任务有 分类classification和定位 locatization(1)经典的检测算法:比如 DPM算法https://blog.csdn.net/weixin_41798111/article/details/79989794传统算法的步骤:a.ROI区域的选择 采用滑动窗口对整副图像遍历b.特征的提取 常用sift surf HOG等算法c.对提...

2019-06-30 20:25:12 476

原创 【C/C++学习笔记】--6.C语言内存分配---堆、栈、全局、静态存储区的区别

1.栈区stack保存局部变量和局部函数。当函数结束时,其局部变量和参数的生命随之结束(不包括static变量)。由系统释放 函数被调用时需要push压栈,函数结束时需要pop弹栈。 栈是一块连续的区域,其大小在编译时就确定的常数。2.堆区 heap 动态内存分配区由程序员向系统申请和释放,通过malloc、new和free、delete 堆是不连续的区域,各区域由链表串联起来...

2019-06-10 15:08:02 268

原创 VScode与Visual Studio注释与取消注释快捷键

两种方法:首先选中代码块1. ctrl+/ 注释代码与取消注释代码2. ctrl+k ctrl+c 注释代码 ctrl+k ctrl+u 取消注释代码

2019-06-10 10:19:01 4440

原创 【生产力提升】--番茄工作法

一、一切始于专注专注的力量在刚开始专注于某一件事情时,大脑往往会阻止保持专注,尤其是在前10分钟的时候,专注是有一个冲量阶段,经过10分钟后,能保住专注的冲量二、生产力提升计划使用看板安排一周的任务,把一周的任务分解为小任务,每个小任务两个小时(4个番茄钟)先列出季度计划,通过列表的形式列出小目标(月目标),包含一个大目标 月计划,规划每周要完成的任务 周计划...

2019-05-08 20:00:27 285

原创 【剑指offer刷题】--扑克牌顺子

题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,...

2019-04-03 21:37:08 159

原创 【剑指offer刷题】--二叉搜索树的后序遍历序列

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。采用分治法的思想,找到根结点、左子树的序列、右子树的序列,分别判断左右子序列是否为二叉树的后序序列。由题意可得:1. 后序遍历序列的最后一个元素为二叉树的根节点;2. 二叉搜索树左子树上所有的结点均小于根结点、右子树所有的结点均大...

2019-04-02 15:58:58 161

原创 【剑指offer刷题】21--栈--栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解:该题是模拟堆栈的操作,将原数(第一个序列)依次压栈,栈顶元素与所给出栈队列...

2019-03-30 15:06:44 130

原创 【剑指offer刷题】22--从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。解:该题是二叉树的层次遍历,借助队列queue来实现。// 二叉树的层次遍历,借助于队列queue实现vector<int> PrintFromTopToBottom(TreeNode*root){ vector<int> res; if(!root) return res; qu...

2019-03-30 14:59:18 95

原创 【剑指offer刷题】19--顺时针打印矩阵

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.解:本题重点在与把握在打印矩阵的过程中有四个顺序,分别是从左到右 ,从上到下,从右到左,从下到上。根据这四个顺...

2019-03-25 17:13:09 117

原创 【剑指offer刷题】05--用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;如果不为空,栈B直接出栈。用两个队列实现一个栈的功能?要求给出算法和思路!<分析>:入栈:将元素进队列A出栈:判断队列A中元素的个数是否为1,如果等于1...

2019-03-25 16:03:56 105

原创 【剑指offer刷题】--二叉树的深度

题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解:对于二叉树深度的求解可以采用递归和迭代两种思路解题。递归比较简单。int TreeDepth(TreeNode*pRoot){ if(!pRoot) return 0; int left=TreeDepth(pRoot->left...

2019-03-22 15:36:08 96

原创 【剑指offer刷题】--第一次只出现一次的字符--哈希表

题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解:看到题目中出现“找到第几次出现的次数”应该想到使用哈希表来解决。 int FirstNotRepeatingChar(string str) {//边界判断 if(str.empty(...

2019-03-22 15:03:57 153

原创 【剑指offer刷题】--平衡二叉树

题目描述输入一棵二叉树,判断该二叉树是否是平衡二叉树。解:/判断一颗二叉树是否为平衡二叉树平衡二叉树的特点:(1)左小右大(2)左右子树的高度差不大于1解法一:多次遍历节点求左右子树的高度。缺点在于重复遍历,例如首先遍历根结点1,那么根结点的的左子树2,,4,5,7遍历一遍;遍历左根结点2,那么4,5,7又会被遍历一遍。int getDepth(TreeNode* pR...

2019-03-20 19:45:38 599 1

原创 【剑指offer刷题】--数组中只出现的一次的数字

题目描述一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。解:本题的思路是采用哈希思想,时间复杂度O(n),空间复杂度O(N)void FindNums(vector<int> data,int *num1,int * num2){ if(data.size()<2) return ; unordered_m...

2019-03-20 17:23:23 143

原创 【剑指offer刷题】--一个数字在排序数组中出现的次数

题目描述统计一个数字在排序数组中出现的次数。解:看到排序数组,考虑到的是二分查找。这道题其实想考的是二分查找数字k,当然也可以用暴力搜索。解法一:使用C++中STL的lower_bound()和upper_bound()函数,找到待查找数组K的位置。实际运用中必须用返回值减去集合首地址才能正常的获取我们习惯的数组下标。#include<algorithm>bi...

2019-03-19 10:59:08 222

fft_c代码.rar

基于C代码的快速傅里叶变换FFT C代码,亲测可用!与MATLAB结果相同,直接下载运行。 下载后直接运行main.c代码即可

2020-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除