脉搏检测器脉冲检测算法

这个是近期整理到的多年前帮别人做的一个脉搏检测器的毕业设计。
中间的一个核心是对脉搏进行检测。
算法的原理是://http://www.ixueshu.com/document/a460a38fab50393a318947a18e7f9386.html
下面是代码,因为这是很多年前的代码了。写的有点乱。

int plus_dectect(int adc_val)
{
	  enum
	  {
	   Search_Max,
	   Search_Min,
	  };
	  #define  PER_ACC_COUNT       15
	  #define  PER_ATTEN           0.98           //每次阈值降低的百分比
	  static int max_val = 0, min_val = 4096;      //初始最大最小值
	   static int threshold = 3000;          //初始阈值较大一点
	  static long int sumtime = 0;
	  static u8 sta = Search_Max;
	  static int per_count = 0;                 //每隔多少时间降低阈值百分点
	  
	  if (per_count > PER_ACC_COUNT)
	  {
		   threshold *= PER_ATTEN;
		   per_count = 0;
	  }
	  else
	  	 per_count++;	  
	  if (sta == Search_Max)
	  {
		   if (adc_val > max_val)
		   {//更新MAX值,并记录该点为最大点
		    	max_val = adc_val;
		   }
		   else
		   {//求两者的差值,若小于1/2的阈值不做处理,认为可能是个小坡
			    if ((m
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值