标题: 血氧饱和度的c程序和matlab程序 [打印本页]

作者: 布安于室    时间: 2018-4-22 12:47
标题: 血氧饱和度的c程序和matlab程序
血氧饱和度的c程序和matlab程序

  1. clear,clc;
  2. t=0:1/500:5;
  3. s_sin=sin(2*pi*1.5*t);
  4. s_940nm=s_sin*0.2+0.75;
  5. s_660nm=s_sin*0.1+0.8;
  6. plot(t,s_sin);axis([0 5 0 1]);
  7. figure,plot(t,s_940nm);axis([0 5 0 1]);
  8. figure,plot(t,s_660nm);axis([0 5 0 1]);

  9. max_total=0;
  10. max_num=0;
  11. min_total=0;
  12. min_num=0;
  13. b_value=0;
  14. b_f=0;
  15. n_value=0;
  16. n_f=0;

  17. for i=1:2500
  18.     b_value=n_value;
  19.     b_f=n_f;
  20.     n_value=s_940nm(i);
  21.     if n_value>b_value
  22.         n_f=1;
  23.     elseif n_value<b_value
  24.         n_f=-1;
  25.     end
  26.    
  27.     if(n_f==-1)&&(b_f==1)
  28.         max_total=max_total+s_940nm(i);
  29.         max_num=max_num+1;
  30.     end
  31.    
  32.     if(n_f==1)&&(b_f==-1)
  33.         min_total=min_total+s_940nm(i);
  34.         min_num=min_num+1;
  35.     end
  36. end

  37. max_940nm=max_total/max_num;
  38. min_940nm=min_total/min_num;

  39. max_total=0;
  40. max_num=0;
  41. min_total=0;
  42. min_num=0;
  43. b_value=0;
  44. b_f=0;
  45. n_value=0;
  46. n_f=0;

  47. first_p=0;
  48. last_p=0;
  49. f_p=0;

  50. for i=1:2500
  51.     b_value=n_value;
  52.     b_f=n_f;
  53.     n_value=s_660nm(i);
  54.     if n_value>b_value
  55.         n_f=1;
  56.     elseif n_value<b_value
  57.         n_f=-1;
  58.     end
  59.    
  60.     if(n_f==-1)&&(b_f==1)
  61.         max_total=max_total+s_660nm(i);
  62.         max_num=max_num+1;
  63.         if f_p==0
  64.             f_p=1;
  65.             first_p=i;
  66.         else
  67.             last_p=i;
  68.         end
  69.     end
  70.    
  71.     if(n_f==1)&&(b_f==-1)
  72.         min_total=min_total+s_660nm(i);
  73.         min_num=min_num+1;
  74.     end
  75. end

  76. max_660nm=max_total/max_num;
  77. min_660nm=min_total/min_num;
  78. heart_beat=60/((last_p-first_p)/(max_num-1)/500);

  79. spo2=110-25*(max_660nm-min_660nm)/max_660nm/((max_940nm-min_940nm)/max_940nm);

复制代码


SPO2(matlab).doc

18.5 KB, 下载次数: 22, 下载积分: 黑币 -5

spo2(c).doc

23.5 KB, 下载次数: 27, 下载积分: 黑币 -5


作者: 无亟待    时间: 2019-8-6 10:59
这个可以研究一下

作者: 蒜毫炒肉    时间: 2020-7-9 16:22
老哥这也没个注释啊,萌新看不懂
作者: xmdhfyz    时间: 2020-7-13 19:00
这个可以研究一下




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1