kiri-lab / CorBiReader

1 stars 0 forks source link

機能要求: 生データを取得してみる #12

Open kirimine170 opened 7 months ago

kirimine170 commented 7 months ago

提案・追加する機能の詳細"

目的

心拍の更新レートがonBeatなので、もっと高い更新レートにしたい また、CorBiCoreの方でFFTとかで実装する時の参考にしたい

動作

センサのIR, REDの両方がいい感じに取れるらしいので、お試しで取得してみる

その他

von Issue #11

スクリーンショット、スケッチなど

応援する

kirimine170 commented 7 months ago

https://sam-koblenski.blogspot.com/2015/11/everyday-dsp-for-programmers-dc-and.html

生データには電源ノイズが乗ってるから消したほうが良くね?って知見があるらしい。 実際にあるのか分からんけど、ライブラリには実装されてた

https://github.com/oxullo/Arduino-MAX30100/blob/master/src/MAX30100_Filters.h

kirimine170 commented 7 months ago

あとこれ別の議論になるけど、CorBiCoreとCorBiReaderのどっちが生データのノイズ除去とか、周波数成分の抽出とか担うのが良い? 個人的には生データをどう処理するかはセンシングデータを受け取る側の自由であるべきだと思うから、Readerはデータの送信に徹するべきで、Coreが好きに処理すればいいんじゃないかって思う。

ただ、送信するデータが増えすぎても重くなるだけだし、端末のデータ(今回なら電圧の変動とか?)を取得して補正する必要があるならReader側で処理するのが妥当なんじゃないかって思う。

理由と目的が管理されてればどっちでもいいとは思うんだけども

kirimine170 commented 7 months ago

そうなるとあり得そうなノイズとかデータの処理は

って責任を分けるのが妥当かな?

kirimine170 commented 7 months ago

他に端末側で必要な処理が見つかり次第追加していく方針で。 CoreとReaderはどうしても密な結合があるシステムになってるから、その辺は相互にIssueをリンクして進めていこう。

kirimine170 commented 7 months ago

あ、ちょっと別の話だけど、Visualizerが取得するデータについてはCoreに命令することで、選択可能な状態にするのが望ましいかなって認識なので、Coreにそういう機能実装したほうがいいかも

kirimine170 commented 7 months ago

https://www.analog.com/media/en/technical-documentation/data-sheets/MAX30100.pdf

見ろよ見ろよ

ここみる感じだと、Samplingrate, Resolution, Pulsewidthには関係があるゾ 16bitの分解能を求めるなら、50Hz, 100Hzのサンプリングレートにするしかないゾ

サンプリング定理からしても、100Hzあれば50Hzまで再現できるから、300BPMの脈拍でも60*50で対応できるってはっきり分かんだね。