星期二, 4月 27, 2010

第一版練習表兼心跳監測程式釋出



完成這個程式的心得:『我平常日子真是過太爽』

通常我寫程式是為了研究上的需求,也許是模擬演算某個理論,或是儀器自動控制,因為所用的硬體配備都不錯,所以寫程式很少去想過資源的問題,這次寫的這個程式,我打從一剛開始就把目標設定給普羅大眾,因此我必須犧牲一部分程式的性能,以取得資源使用的平衡,因為平常用不錯的硬體,所以很少有這種思考,寫這個程式真的是給了我思考弱點上的鍛鍊。

這個程式是以電容麥克風搭配音效卡量測脈搏跳動,這並不是我個人獨力想出來的點子,早在很久以前,我曾經成功替台大醫院開發過脈診儀,當時另一個研究合作者,就曾經以一張高級的音效卡,搭配電容麥克風完成脈搏跳動的量測,只不過我以電容的基礎理論證明了,電容麥克風量到的低頻訊號是微分訊號,而非真實的力學波訊號,

換句話說,這種用電容麥克風量測的系統,不能當做脈診儀。

最近我啟動了自由潛水Table練習的這個程式的撰寫,才又想起別人的點子,雖然在脈診儀上是失敗的,但如果只是像心跳帶單純用來量測心跳,要求就沒有那麼嚴格。現在醫學領域裡,也有聽心音的系統,也是用麥克風收音,這和我們這個工具的想法都是很類似,但都遠比我還要早之前就完成了,所以我的這個應用並不是什麼創舉。
既然我沒有此物件的專利,這個工具只能提供給各位進行學術性的研究討論,千萬不要有哪個天才,把它包裝一下就拿出去賣喔!鐵定會有侵權的問題。

全世界的自由潛水人共享著同一片廣大的水體,本著這種跨國界的精神,這套軟體在各位協助測試之下,未來將更臻於完美,一旦時機成熟,我會將她發表到國際的自由潛水論壇,讓她可以廣為全世界的自由潛水人做學術性的研究。

在發表第一代軟體的同時,我要預告第一代的改版很快就會出來,因為昨天晚上,這個第一代的程式在eeepc701(很早以前的eeepc)及我老婆六年前買的電腦上測試失敗(大約只能偵測一百秒的訊號),問題現在已經弄清楚了,而且就在昨晚,我已經成功寫出改版程式的核心,該核心在這兩套『慢』電腦上非但通過測試,而且新的核心會跑得比舊版更順暢,CPU使用率穩定壓在20%以下(AMD1.67Ghz單核心),給使用者的功能感受完全一樣。

雖然第一代軟體還有改進的空間,但我還是想釋出給大家用用看,讓大家回饋給我使用上的意見,好的意見將會幫助新一代程式的誕生!

『程式下載頁面』

雖然大家還沒拿到心跳感測器,但我還是建議大家先下載檔案安裝並執行,確定一下自 己的電腦能不能跑,如果跑到一半白色的訊號線中斷消失,那就代表電腦效能尚不足以執行此軟體(再次跟大家說聲抱歉,我會在短時間內改進這個問題)。



你也許會喜歡的相關文章:
第一代自由潛水練習軟體(釋出預告)

12 則留言:

J.T 提到...

你真的是非常的利害哩!!!

咖哩 提到...

Dear J.T

過獎了!

寫程式只是剛好研究上有這方面的需求,所以我會,相信你在設計的專業上也是佼佼者,否則如何能夠在澳洲打下這樣的基礎(還可以買房子!)

CL 提到...

真是專業...

咖哩 提到...

目前收集到第一個意見:

『程式可以儲存使用者資料嗎? ... 不然每次都要輸入...』

這點是我疏忽了,我會將這個需求寫入下一代的程式裡,讓程式可以儲存練習資料(Excle檔案格式)。

咖哩 提到...

CL
廣陵
小賴
500
菜田

以上五位朋友請將你們的郵寄資料,寄到我信箱給我喔!

目前我做好了五組,明天有空再繼續做,五個裡面有一個的靈敏度特別差,不知道是不是這一批的電容麥克風都比較遜,我自己用的第一個靈敏度明顯比這些後來買的要好。

謎寫 提到...

Excellent Job!!
成就感的爽度真的會讓人著迷,不可自拔吧!?

Looking for ... 提到...

您好,因為工作的關係最近也在研究脈診儀相關的技術,恰巧在網路上搜尋到您的文章,真的是獲益良多。

文中有提到“只不過我以電容的基礎理論證明了,電容麥克風量到的低頻訊號是微分訊號,而非真實的力學波訊號。”可以請教一下為什麼電容麥克風量測到的低頻訊號不是真實訊號嗎?這裡低頻訊號是指頻率多少以下的訊號呢?

謝謝您!

咖哩 提到...

Dear Looking for

最關鍵的點在於『電容』在電學上的頻率響應形式,電容的線路上不會有直流訊號的電流,應用到電容麥克風上,意思就是,電容麥克風量不到直流的力學訊號。

實際上,進一步精確的討論這個問題是,電容的低頻訊號相較於高頻是被壓抑的,或者換句話說,高頻訊號會被放大,而高頻訊號的放大率會隨著訊號頻率大小成長比。
先不管相位,你把一個正玄波訊號微分,結果會是怎樣?正弦波的頻率會因為微分而掉出來成為『乘數』
(高頻訊號放大率隨訊號頻率大小成正比)。

一般廉價的電容式麥克風,在數百赫茲以上的頻率響應是平坦的,所以一般人在使用電容麥克風時,並不會覺得高音特別大聲。
但千萬別忘了,我們如果應用在脈診儀,我們量測的訊號是非常非常低頻的,這樣的訊號放大率就會與該訊號的頻率相關。

當時與台大醫院合作時,他們使用了一種侵入式的血壓計,量測手腕附近的力學波動,從數據上,我也分析了麥克風量到的確實是實際力學波動的一次微分,而我另外做的脈診儀,所量到的訊號波形幾乎和侵入式血壓計量到的一模一樣。

很高興我的一點資料對你有所幫助,很歡迎一起討論!

廣陵 提到...

真是不好意思,忙到都忘了這件事了。

軟體我有弄起來了。也可以偵測到我的心跳,但是要怎樣記錄呢?使用上有點弄不懂?

可否請咖哩兄簡單說明一下 : )

咖哩 提到...

阿阿阿阿阿 ~~~~~~~~~阿阿
~~阿阿阿阿阿阿~阿~~阿阿阿阿阿阿阿阿 ~~~~~~~~~阿~阿~~阿~阿阿阿阿~阿~~阿阿阿阿阿阿阿 ~~~~~~~~阿阿阿阿阿阿阿 ~~~~~~~~~阿阿~~阿阿阿阿~阿~~阿阿~~~阿阿阿阿阿阿~阿~~阿阿

以上是我對最近事情壓力一籮筐的發洩吶喊.......
============================


親愛的廣陵:

哈~因為最近事情多,所以第二代有儲存功能的程式,一直處於還在撰寫中的狀態,核心很走就弄好了,現在久等著加入儲存和讀取的功能,我接下來會將心跳資料與table一起儲存在一起,也在考慮寫一個專用的讀取程式,讓不同的潛友可以透過同一套讀取程式進行數據的判讀和討論。

咖哩

廣陵 提到...

壓力這麼大啊? 嚇死我了~

我是想說,可否增加一個功能,就是按 Start, 然後就開始記錄,可手動切換狀態(閉氣/呼吸),最後 End.

然後可以重播。
就可以檢視自己的習慣,跟心跳是否有任何影響。
(會不會要求太多?)

咖哩 提到...

Dear 廣陵:

你的意見很好,但是我會把他另外寫一個程式,畢竟原本的程式是設定為給大家練table的,做一個功能區分會讓使用者有比較簡潔的介面。

謝謝你的意見!