首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取噪声样本向量的频率

获取噪声样本向量的频率
EN

Stack Overflow用户
提问于 2012-06-11 00:40:34
回答 1查看 572关注 0票数 1

我主要需要一个通用的算法,之后我会将它移植到我的系统( Arduino板)上,但我很高兴得到一个提示,以继续在其他方向的研究;

我有一组大约650个样本,覆盖了5秒,代表了一个周期性的信号,但有相当多的噪声;这些样本来自TAOS230光传感器,信号是基于血液流动的人体皮肤的透明度。

我需要主/主信号的频率,它实际上是人的脉搏。示例与此https://www.dropbox.com/s/fw196r6yf1awhrh/untitled2.bmp类似

这里有一个转储,里面有大约5k个样本https://www.dropbox.com/s/efwvyn5oec7ixgg/samples.txt

谢谢,

亚历克斯

EN

回答 1

Stack Overflow用户

发布于 2012-12-04 02:06:18

我经常为arduino做的一件事是使用一个函数对输入数据求平均值,如下所示

newx包含新的样本数据

代码语言:javascript
复制
 x = (9 * x +newx ) /10

这会抑制信号,也请注意,焊接不良也与高噪声水平有关,也要检查这一点。

下一步将是定义实际平均值,然后计算您在上面/下面检索频率的次数,我将通过定义下面的-n或上面的+n来实现这一点。这是一个有点模糊的实现,但会工作的。(另一方面,如果你不使用与平均值的距离n,那么在平均值中的样本上就会得到许多假阳性。

创建函数,使其仅计算伪代码中的状态更改:

代码语言:javascript
复制
#// counting state changes
if ( state > avg_state + n ) and (oldstate = -1)  {statecount++ : oldstate = +1 } 
if ( state < avg_state - n ) and (oldstate = +1)  {statecount-- : oldstate = -1 }

这可能有点简单(没有快速傅立叶变换),但它通常是那么简单的事情工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10970400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档