使用VC6,将串口接收到的指脉数据(每个数据为0~255的数值,100HZ),使用差分阈值法找到波峰,计算心率。
1、使用五点差分,公式是 k=∑_(i=1)^4 [x(n+i)-x(n-i)],n=2~102但是我不知道用VC怎么实现这个公式??
2、每一百个为一组数据,对其差分,然后设定阈值,找到峰值N1,在继续下一组数据找到峰值N2,那怎么能计算出N1到N2中间有几个点??
要用VC做毕设,所以寻求各位大神的帮助啊~~
1、使用五点差分,公式是 k=∑_(i=1)^4 [x(n+i)-x(n-i)],n=2~102但是我不知道用VC怎么实现这个公式??
2、每一百个为一组数据,对其差分,然后设定阈值,找到峰值N1,在继续下一组数据找到峰值N2,那怎么能计算出N1到N2中间有几个点??
要用VC做毕设,所以寻求各位大神的帮助啊~~
解决方案 »
- 求算法,字符串对换位置。例如:"ABCDEFxyz",要将 "xyz" 调换到前面,只能用一个 CHAR 内存。谢谢!
- 如何判断对话框中编辑框中没有填写字符串?
- 确定线程终止,在debug下是对的,在Release下却不行,请高手解答,在线等!谢谢!
- 关于这个http的连接请教高手解答
- 请教:有关鼠标操作的简单问题.(win32 API)
- 一个tcp服务器的问题
- ADO对ACCESS数据库添加记录,结果内存泄漏!求高贴
- 请教:AlphaBlend的用法
- 如何调用成员线程函数?
- SDK中如何去掉最大化最小化按钮
- 麻烦问一个问题,在mfc中截取DC后,能否将其清晰度变小
- 软件中如何写入加密狗程序?请各位师兄师姐指点迷津!
int a[100];
int b[100];
int m;
int i;
// int j;
CString str;
int max=0,maxid=0;
for(i=4;i<95;i++)//找两个最大值间数据点个数,将99改为49,做两次循环,选取两个最大值,将两次循环比较后的两个最大值间点数计算出。
{
a[i]=atoi(pBuf);//char *pBuf用于打开文件时候,读取txt文件中的数据
pBuf=pBuf+4;
for(n=1;n<5;n++)
{
b[i]=a[i+n]-a[i-n];//断点调试到这里,就找不到a[i+n]项的值
if(b[i]>max)
{
max=b[i];
maxid=i;
str.Format("%d和%d",max,maxid);
}
m_strMax.SetWindowText(str);
}
}
}