2023年6月1日

狼與羊的食物鏈角色扮演桌遊

先說結論,我非常推薦在生態課程中,進行這個桌遊遊戲。



遊戲的原創是來自rika.com的產品食物連鎖シミュレーター

需要的材料需要迴紋針、磁鐵和能當遮蔽物的石頭或木塊,其他的表格或底板,你可以從我分享的資料夾下載。草地底圖或是狼圖案都是AI生成的圖。
https://drive.google.com/drive/folders/1vQFwR5iSTkkIlSUeEN6XbhVGfoOsZ1VZ?usp=sharing

1. 迴紋針代表羊,磁鐵代表狼,積木是遮蔽物。
2. 遮蔽物可以保護羊不被狼吃掉。 
3. 一開始有10隻羊和2匹狼,每回合中,每匹狼只吃到1~2隻羊,下回合會這匹就會死亡。吃到3隻以上的羊,下回合會生1隻狼。
4. 狼數目增加代表磁鐵出手數目增加。磁鐵吸到迴紋針,就代表狼吃到羊。
5. 每回合結束後,計算留在場上的羊群數目,每2隻會生一隻。例如留下8隻,則明年多出4隻變成12隻
6. 羊群數量受最大負荷量限制,場上最多只能有40隻。
7. 本遊戲共進行20回,如羊群或狼群數量歸零,則下一回合有新的族群進入此棲地。

你也可以在遊戲中修改不同規則來進行不同模擬實驗,例如改成狼只要有吃到羊,下回合就能生殖一匹狼。

遊戲的過程會直接以折線圖紀錄數量,我發現有些學生在紀錄資料上有困難,這部份需要特別說明紀錄的資料是「該回合的起始族群數量」,否則學生會同時紀錄一個回合的開始數量和結束數量。此外也有一些學生會以為是紀錄「每匹狼吃掉的羊群」。
我的作法是以先以一組進行示範教學如何紀錄和計算下回合族群大小,同時以螢幕投影進行教學。多少可以減少一些錯誤。
再來就是當狼群或羊群消失時,怎麼辦?其實就是重啟一局,但概念上就是該動物族群消失,因此有其他族群進入該棲地。




遊戲後,讓學生在表格上寫下「從羊群和狼群的數量變化圖中,你看到了什麼?」
綜合大家的觀察,很明確就能看出當狼群多,羊群就會變少,而羊群變少狼群就會跟著變少,而當狼群變少,羊群就會變多。
再來就是兩種生物的數量變化是不是同時變高和同時變低呢?在多數的學生紀錄中會看到週期滯後的現象。在實作之後,再回頭看課本上的捕食者和被捕食者的週期變化圖,學生也能夠非常明確知道兩條線到底誰是捕食者,誰是被捕食者。



土壤滲水程度的觀察

課本原有一個跨科主題的實驗,主題是探討植物對水土保持的關係,本來實驗是讓學生栽種兩個盆栽,分別是有植物和沒有植物兩種情況,觀察澆水後從盆栽流出的水量和混濁程度。

而我改成這樣的實驗,觀察不同植被情況「土壤的滲水程度」,這個實驗的發想是因為近幾年只要發生強降雨,學校裡某些特定地方就會積水不退,所以我們就直接模擬這個狀況,看看這些地點的土壤滲水程度有何不同。

所需的材料只要杯子、直尺和一根塑膠透明管(兩邊都通的),說起這個管子還是有點歷史的,那可是12年前(民國100年)的國慶跨年煙火時,我在散場的地上一根一根撿起來的啊。

實作流程很簡單,找到指定的地點之後,把管子平貼在土上,或是略插入土中,但必須確保管口不能傾斜。接下來倒水入管,紀錄一開始的水位高度,接下來每隔10秒紀錄一次水位高度,直到60秒或是水流光。

我在校園裡找了四個地點,分別是(1)大樹下,植被數量少 (2)自然生長茂密的單子葉植被 (3) 南洋杉下的裸露地 (4)少人踐踏的植被,較多雙子葉植物。






學生除了紀錄水位變化外,還需要留意四個地點的水混濁度。也許你會好奇,水不是從水龍頭裝的嗎,怎麼看混濁度?其實是這樣的,水倒入管子之後,會沖刷表土讓表土混入水中,所以不同地點的水樣就會不同。

學生的紀錄表檔案如下

https://docs.google.com/document/d/1HOBR1oYyc6wywvx616Or_OwJMp44FZiMjZUOi9iNE-U/edit?usp=sharing


除紀錄數據外,最後再將數據轉換成折線圖,可以觀察不同地點的滲水程度。

雖然每一組學生做的結果不儘相同,但多數數據顯示最不容易滲水的確也就是那個很常淹水的地點,也就是南洋杉下的空地。

我推測原因如下,南洋杉經常落枝條,所以學生經常在此地打掃。高頻率的踩踏加上表土經常性的被掃除,所以導致這邊的土壤滲水度很低,大雨來了就會淹水。且在這邊進行實驗時,觀察到水的混濁度也是最高的,會有許多顆粒很小的粉砂被沖刷進入管子中。

而其他植被較多的地方,滲水度就會比較高,即便也有許多物質會被沖入管中,但主要以黑色有機質為主,會漂浮在水面上。

以這樣的實驗替代課本實驗,我認為優點是器材準備比較方便,之前的這個實驗,我讓學生自己準備盆栽,但狀況不是很好,要不就是植物長不好,不然就是要實驗時就忘了帶。再來使用滲水率觀察的實驗,也讓學生可以直接生活周遭的環境。

不過也是有缺點,在放置管子時,管子若沒有貼住土壤,傾斜時水容易漏出,則會高估滲水量,而這樣的情形常發生在植被多的地點,因為植物越多,你越不容易在土面上進行實驗,所以需要特別撥開植物或落葉進行實驗。




 

2023年3月24日

ABO血型和Aa生子代的scratch程式


課本上在遺傳單元有一個活動,兩人一組,每人手上各握一個圍棋子, 由對方指定自己要哪一隻手裡的棋子,這代表著自己產生了哪種形式的配子。而另外一個人也會用同樣方式產生配子。接著將兩人的配子組合在一起,代表生了一個小孩。

考量到這個活動的問題,所以我就用scratch寫了一個程式來做這個活動。學生人手一個平板,先選好自己的基因型,然後按下配子。程式就會自己隨機產生配子了。兩個人就可以用這樣組合出子代了。

https://scratch.mit.edu/projects/818186334/fullscreen/


我用這個程式帶了一個班之後,我想既然都做出配子了,何不乾脆自己一個人操作就可以生出一個子代呢,或是更多子代。

於是第二版出現了


最左邊和最右邊代表兩邊親代的基因型,各選了兩個之後按下綠色按鈕就可以隨機產生子代。你也可以修改要一次生多少小孩,也可以修改是否呈現動畫。

經過幾個班的試驗後,發現這個程式除了本來的用途-模擬不同親代生小孩的情形外,還可以用來做進一步的活動。

1.老師先按好親代的基因型,接下來大量產生子代,只讓學生看結果的統計部分,要求學生要從子代數量去推測出親代的基因型。
2.老師指定要產生1:1的子代基因型組合,或是1:2:1的基因組合,由學生自己點按親代基因型來產生指定的比例。


除了以上兩個程式以外,我也另外設計了Aa的生子代程式,操作方式和上述程式相同。





2023年3月20日

喝下全糖珍珠奶茶的血糖變化

 延續著組織葡萄糖飲食實驗,最後一天的就給了大杯、正常糖、珍珠紅茶拿鐵吧!

根據業者網頁上的飲品標示:珍珠伯爵紅茶拿鐵 (正常糖) L 有426Kcal,35g糖。

記得第一天作實驗時,我以為喝手搖飲,可以讓細胞長期都泡在糖水裡,結果看到數據後,完全不是這樣喔。

  1. 比起一般的飲食,這杯喝下去之後,組織葡萄糖濃度上升的時間更短了,一般吃飯大約是20-30分鐘,手臂下皮膚開始偵測到葡萄糖濃度上升。但這杯下去之後,十分鐘內手臂皮膚就偵測到了。
  2. 這十幾天的試驗中,葡萄糖濃度大約都是在餐後1小時到達峰值。而這杯的峰值比之前的飲食都來得高。
  3. 和其他先吃碳水的飲食狀況類似,葡萄糖濃度也都是餐後3小時降回,而且都會比餐前的濃度還低。



2023年3月1日

使用掃描式葡萄糖監測系統觀察組織葡萄糖濃度變化

去年底買了一個掃描式葡萄糖監測系統,最近終於把它裝上身上,是一個貼在手臂後側的小圓盤,底下有一根小針插進皮膚,用電化學方法測量組織間液的葡萄糖狀態,是用手機App的NFC功能掃描得知數值。

每次教血糖恆定的圖時,就一直很想要自己作一張自己的血糖恆定圖。雖然自己買了血糖機,但想到要每隔幾分鐘就插自己手指一下,就覺得有點痛,而且血糖機試紙一片就要十幾元,想到心更痛。每隔15分鐘測一次的話,連續測24小時的話,要96張試紙,這樣一天要將近2000元。

而這個機器去年買的是2000元,今天查價漲到2200了,可以測14天,平均一天約150元。機器本身可以存放8小時數據,所以至少8小時要收一次數據,不然會遺失數據。

看一下第一天的監測圖表



1. 看起來似乎平時濃度超過100,但這機器本身存在誤差,實際數值要跟血糖機對照。後面幾天的數據一起看,平時大約是在100-110,但這不代表血糖就是這個數值就是了。

2. 組織間液的葡萄糖濃度和血糖濃度有延遲現象。血糖濃度上升之後幾分鐘,組織間液才會上升。

3. 起床前葡萄糖濃度會逐漸升高

4. 早餐只喝牛奶加乳清,血糖變化很小。

5. 餐後之後一小時,葡萄糖濃度升到最高。午餐過後兩小時,葡萄糖回到基準值。

6. 晚上進行了一小時的有氧運動,以為葡萄糖濃度會暴衝,但其實只是緩升。結束運動之後,就開始降下。

看圖表發現,相較於清醒時,睡眠時的葡萄糖濃度變化程度比較大。睡一睡葡萄糖突然減少,是送去哪裡用了?大腦?

想想可以把心率資料套進來看看,於是我把智慧手錶上的心率、睡眠深度和葡萄糖濃度的三張圖疊合在一起看。

1. 睡眠時,葡萄糖濃度增加的時間點,心率同時也是增加的。而此時間點,大多是在淺眠期,僅一次是在REM期。

2. 用餐後,葡萄糖增加的期間,也同時看見心率的增加。


幾天的資料下來,發現肚子餓的時候,血糖未必低,而血糖濃度低時,肚子未必呃。

接下來幾天開始進行進食順序的實驗。我找了兩天營養午餐份量差不多的日子,試了兩種進食順序。兩種順序分別是先吃碳水化合物還是後吃碳水化合物。

結果發現先吃飯,血糖的波動會比較大,升得高也降得快,三個小時之後經常會比餐前葡萄糖濃度還低一些。然後三點多就餓了。如果都是這樣吃法,大概都需要在下午來個下午茶才行。

而碳水化合物在最後吃,葡萄糖濃度不會升得太高,但波動的時間會比較長,大約過了5個小時才降到餐前水準,所以到了傍晚都還不會覺得餓。

但因為兩次餐點畢竟還是有差異,所以我在這兩天再做一次實驗,選了一個標準化的食品-大麥克套餐來吃,特製加了生菜、酸黃瓜和洋蔥。

第一種吃法是我本來的吃法,先吃完薯條,再一口口咬下漢堡,也就是碳水化合物、蔬菜、肉混吃。第二種則是把整個漢堡翻開,先把所有蔬菜都吃掉,再吃掉肉排,最後則吃下麵包和薯條。

結果兩種也有明顯差異,先吃下碳水化合物,在餐後三小時內的葡萄糖濃度都高於後吃下的。而後吃碳水化合物的方式,葡萄糖波動的時間較長,也是大約多一小時。




其實這種現象已有營養學的論文研究了,像是這篇2018年的論文,也有同樣的發現結果。

Consuming Carbohydrates after Meat or Vegetables Lowers Postprandial Excursions of Glucose and Insulin in Nondiabetic Subjects

這篇研究中也測了胰島素的反應曲線,發現後吃米飯的實驗組,在食後30分鐘的葡萄糖和胰島素的濃度都低於先吃米飯的。而且觀察120分鐘內的反應曲線下面積也是小於先吃米飯組。

為什麼先吃和後吃有如此差異呢?論文討論了幾點可能原因

1.可能與延遲葡萄糖吸收有關。

2.可能與抑制反調節激素有關(counter-regulatory hormones)

植物來源的膳食纖維會延遲葡萄糖吸收,因此會降低餐後葡萄糖和胰島素的波動。膳食纖維也增加膽汁酸的分泌,膽汁酸可以增加腸泌素(GLP-1)的分泌,這會抑制升糖素分泌也延遲胃排空。


測完進食順序的組織間葡萄糖實驗之後,隔天跑去吃火鍋,也來看看組織間葡萄糖怎麼變,但沒辦法兩天都吃火鍋,所以就沒有對照組。

一開始就先吃很多菜、萵苣、高麗菜...,再涮掉半盤肉。雖然一開始吃了很多東西,但肚子還是餓,所以比平常多吃了一碗飯。吃下碳水化合物之後,總算覺得開始有吃到東西了。

幾個小時後看結果,如預期的是,沒有特高峰出現,但持續時間長很多,以往一般吃法是三小時回復基準濃度,如果是菜先行則是四小時,但這次花了六小時,然後到晚上都還不餓。

雖然沒有直接測胰島素濃度,我推測這樣的進食順序使胰腺的分泌時間加長,但單位時間分泌量減少。



那麼運動對血糖的影響又是如何?以我的情況來看,其實血糖上升的程度都不高,看起來甚至跟基準值差不多。


2023年2月11日

脈搏感應器PPG的應用(7):脈搏的波形如何用來判斷血管硬化程度?

這陣子用脈博感測器偵測到的不同人的脈搏波,可以看到不同的樣子,大致上有一個振幅比較大的波,後面伴隨著第二個波









使用 PPG測量時,其交流成份來自動脈中血液體積的變化,其他如皮膚、骨骼、肌肉、靜脈血等並沒有交流成份(意思就是都不會變)。產生的波形的特徵點如下:兩個高峰為 Systolic Peak和 Diastolic Peak,兩峰之中的小山谷為 Dicrotic Notch

來源:Photoplethysmogram Analysis and Applications: An Integrative Review



脈搏波是數個波的疊加,由下圖可看見三個主要波
第一個是主波峰(Percussion wave):心室收縮時血液造成的最大振幅波,此波上升速度受心輸出量、心室射血速度、動脈阻力和管壁彈性影響

第二個是潮波(Tidal wave):是動脈內血液流動的逆向反射波,例如進入小動脈時的反射波,此波受外週血管阻力、血管彈性程度影響。

第三個波是重搏波(Dicrotic wave):射血之後主動脈瓣突然閉合,於是血液逆流撞擊到主動脈上,並回彈導致主動脈壓再度上升所形成的波,受到血管彈性與主動脈瓣關閉狀態影響較大。

資料來源:脈波信號與PPG信號特徵之相關性研究 
圖片來源:Blood Pressure Estimation by Photoplethysmogram Decomposition into Hyperbolic Secant Waves https://www.mdpi.com/2076-3417/12/4/1798


反射波是怎麼產生的?在上面這個網站上有示意圖動畫,看了就可以了解。當血管彈性越差(血管硬化),反射波會越大。就想像把球丟到硬地板和軟地板的差別,越硬彈的越高。


因此透過動脈波形的型態,可以用來推測心臟與血管的狀態。


觀察PPG的波形特徵點,下圖為血壓波,雖測量的物理量不同,但波形類似可以參考比較,最低點和最高點分別為舒張壓和收縮壓,而 PPG可為血液體積的最大量與最低量。第一高峰的範圍為心室收縮期,第二高峰為舒張期。因此第一高峰的起爬點為動脈瓣開啟時,Dicrotic Notch為瓣膜關閉時。

圖片來源:https://www.statpearls.com/ArticleLibrary/viewarticle/17843



利用波形分析血管的方式是以PPG作一次微分後得到VPG(velocity of PPG),再做一次微分得到APG (acceleration plethysmogram) 。不同的波形可以得到不同的特徵點,例如下圖VPG的W、X、Y、Z,或是APG的a、b、c、d、e。



兩張圖來源為《Toward Generating More Diagnostic Features from Photoplethysmogram Waveforms

以APG的波形來看,可以分成七種不同型態
圖片來源:On the Analysis of Fingertip Photoplethysmogram Signals




APG波形的型態與血管硬化程度有關。下圖的七個型態中的黑色虛線箭頭即為APG波形的特徵點b與d的連線,年齡越大,血管越硬化,箭頭會朝向右下。(可以理解成第一種型態就是血管很會彈,到第七種就是彈不太動了)




某些動脈硬化檢查儀即是量測這些波形上的特徵點數值再做運算,從而給出血管檢測的數值。例如此種機器的報告,左方顯示APG波形,根據特徵點判斷屬於哪類型波形,而右方給出了幾個數據如EC、AE、RBV,有些還有DPI的數值


這些數據的意義如下,評估心臟和血管的功能
DPI-Diferential Pulse Wave Index:血管老化評估
EC-Eccentric Constriction:心室功能評估
AE-Arterial Elasticity:血管結構評估
RBV-Remaining Blood Volume:血量配置評估

在這個機器SA3000P的使用簡報中,給出了數值計算的公式,是用那些特徵點的數據去運算。




2023年2月9日

脈搏感應器PPG的應用(6):心率變異性的頻域分析與pythnon程式影片說明

心率變異性做頻域的分析,其中一個目的就是在評估自律神經的功能,而頻域分析最重要的工具就是使用FFT。

而使用FFT做頻域分析有幾個限制:

(1)數據點需要相同取樣頻率。

假設每秒取樣一次,代表要知道該秒時,心跳的BPM是多少,但實際上不可能知道每秒時的BPM,因為你那秒不一定有心跳啊。所以這部分要進行interpolate插值,然後再重新取樣(resampling)

那麼應該重新取樣成多少數據點呢?牽涉到FFT的下一個限制

(2)在FFT的演算法中,需要用二的冪次個數據點來運算才會最有效率,如果超過要刪除,不夠的話就補零。(二的冪次如2、4、8、...)

我看了幾篇論文都是用 7.11 Hz來重新取樣(google 7.11Hz HRV),我推測原因是這樣:每個量測時間段約5分鐘(300秒),取288 秒,用7.11Hz重新取樣,則可以得到 7.11 x 288 = 2047.68個數據點,至少有 2048個數據點可以做FFT。使用 7.11 Hz的取樣頻率,則Nyquist frequency為 7.11/2 =  3.55 Hz,能表示的頻率範圍為 0 ~ 3.55 Hz。
數據長度為2048,而FFT之後信號在頻域的表現是對稱的,所以只取一半。總頻帶是 0 ~ 3.55Hz,中間分布 2048/2=1024個點,所以每個bins的頻率是 3.55/1024 = 0.00346679687 Hz

這個指引中,HRV的頻域分析上,會分成四個頻段來分析,而在這篇【An Overview of Heart Rate Variability Metrics and Norms】說明了不同頻段的研究限制和意義。

以下是我的某次測量的分析結果圖,分成了三個區塊。由左至右為VLF、LF、HF




ULF 頻段 (ultra low frequency,≤0.003 Hz) 
  • 週期為 5 分鐘至 24 小時,要用 24 小時記錄來測量,無法用5分鐘的短期測量來觀察。影響這個頻段的可能包含晝夜節律、核心體溫變化、新陳代謝和腎素-血管緊張素系統。
VLF 頻段  (very low frequency,0.0033–0.04 Hz) 
  • 周期在 25 到 300 秒之間。需要至少 5 分鐘的記錄時間,但最好在 24 小時內進行監控。此頻段可能受到身體活動 、體溫調節、腎素-血管緊張素和內皮對心臟的影響,另外副交感神經的活動可能有助於 VLF 功率。
LF  頻段(low frequency,0.04–0.15 Hz) 
  • 代表自律神經(交感+副交感)的活性
  • 周期為 7 至 25 秒的節奏組成,會受每分鐘 ~3 至 9 次的呼吸頻率影響 。在 5 分鐘內有 12-45 個完整的振盪週期 。此頻段主要反映休息狀態的壓力感受器活動。此頻段的功率可能由交感和副交感產生。
  • 血壓調節的方式是藉由感壓受器,主要由副交感神經或單獨通過壓力反射而活動。
  • 交感神經似乎不會產生遠高於 0.1 Hz的頻率,而副交感神經會影響低至 0.05  Hz(20 秒節律)的心律。
  • 在休息狀態下,LF 頻段反映出壓力反射活動不是受交感神經支配。
HF 頻段 (high frequency,0.15–0.40 Hz) 
  • 代表副交感的活性
  • 受 9 至 24 bpm 的呼吸影響 
低頻與高頻功率之比(LF/HF ratio)
  • 可以估計交感神經系統和副交感神經系統活動之間的比率。
  • 交感和副交感的活動都對 LF 功率有貢獻,而副交感則主要對 HF 功率有貢獻。
  • 有些研究會將此比當作交感與副交感的活動比例,但因為LF的功率同時包含交感和副交感,所以這點有爭議。

這篇也同時提到幾點
  • 副交感神經發揮作用比交感神經(>5 秒)更快(<1 秒)
  • 短期測量的HRV受到以下幾個因素影響:1.交感神經和副交感神經的交互影響,2.RSA(呼吸性竇性心律不整)控制心跳的調節機制、壓力感受器反射(血壓的負反饋控制)和血管張力的節律變化 。
  • 交感神經可以抑制副交感神經活動,但也可能增加副交感神經的反應。
  • 交感和副交感的關係並不像翹翹板那樣一個高一個就低。副交感的活動增加可能與交感的活動減少、增加或無變化有關
程式分析的方式
最後終於講到分析方式

在Kaggle上,有一篇是利用python對 ECG進行分析的文章

我參考這篇文章和前述的文獻,改寫了程式碼。
整個分析程序分以下幾個部分
  1. micro:bit 的程式只負責讀取類比pin,然後印出。要注意指定傳輸速度為 115200


  2. 先用這個python的程式去讀取micro:bit的資料,並加上以微秒為單位的時間戳記,並存檔。此程式也同時展示脈搏波形PPG與BPM變化


  3. 使用另外一個python程式(用jupter notebook),先讀取方才存檔的文字檔後,前段程式負責劃出段測量時間的脈搏圖,使用者須自行看圖,藉此用來決定用哪一段時間來進行分析。因為通常開頭會有雜訊,而結尾會有一些資料無法讀取。
  4. 偵測峰值之後,會在脈搏的PPG上標示峰值點,可藉此判斷是否都標示出正確峰值。如果這部分有異常,將影響後面的時域分析和頻域分析。


  5. 確認峰值沒錯之後,直接執行後半的程式,即可產出分析的結果報告。圖上同時會有時域分析、頻域分析、非線性分析、幾何分析等結果。
分析結果圖片

HRV變化圖
灰色水平線為平均HR,兩條紅線為標準差。多數都位於一個標準差內

龐加萊圖Poincaré plot
也稱為Lorenz (Poincaré) plots (LPs),是將此次心跳間隔和下次心跳間隔畫在圖上。假設每次心跳間隔都相同,則數據點都會落在同一點上,但因為有心跳變異性,所以健康人應該會是分散的。

我在搜尋這圖片資料時,經常看到一張標示出處是台北榮總(Taipei Veterans General Hospital, Taiwan)的圖片,是觀察不同年齡和身體狀況的病人的心跳間隔。新生兒位於左下角,而右上角是加護病房的病人。




心跳間隔的直方圖
這是以50 ms為間隔,藉由這張圖可以分析壓力,例如 baevsky stress index這個壓力指數。處於壓力之下的人,交感神經活性強,心率變異會降低,所以直方圖會變窄而高,大多數心跳間隔位在一個小小區間內。而壓力低的人,有比較高的心率變異,所以直方圖會矮而寬。
方法是:

  • 分子為發生頻率最高區間次數佔全部心率次數百分比,例如下圖高度約為169,全部心跳數為296,分子為 57%
  • Mo為發生頻率最高區間的心率值,單位為秒。此圖為750-800之間,取0.775秒
  • var 心率分佈區間,最高心率與最低心率區間相差,單位為秒。此圖為(900-650)/1000=0.25
  • SI即為壓力指數147



我在國內一家作心率感測的舒壓儀廠商的說明書看到的壓力指數與壓力狀態的對應關係如下
  • 小於 50 紀錄異常導致訊號讀取不正確或長期接受紓壓訓練
  • 50-150 為一般正常狀態
  • 150-500 心理壓力偏大,或是過度運動導致的疲勞狀態
  • 500-900 表示嚴重心理壓力,長時間處於高壓狀態,或是心臟跳動有異常
  • >900 表示高度心理壓力或是存在其他生理疾病,需尋求醫師協助
其參考的文獻如下
  • Roman М. Baevsky, A.G.C., Heart rate variability analysis: physiological foundations and main methods. Cardiometry, 2017. 10: p. 66-76.

  • Bayevsky, R.M., et al., HRV Analysis under the usage of different electrocardiography systems ((Methodical recommendations) The Committee of Clinic Diagnostic Apparatus and The Committee of New Medical Techniques of Ministry of Health of Russia, protocol, 2002. 4.



以下是整個時域分析和頻域分析的程式說明和結果影片


【用micro:bit與脈搏感應器偵測脈搏。再以python做時域和頻域分析HRV,用以分析自律神經活性與身體狀況】

程式位置


最後可以產生的報告如下圖


2023年2月7日

脈搏感應器PPG的應用(5):心率變異性的時域分析

既然一直說到心率變異性與自律神經的活性是有關係的,那麼怎麼量化呢?


我在micro:bit裡頭也實作了兩個時域分析,只要按下A+B鍵就會將先前紀錄的脈搏資料作分析,算出SDNN和RMSSD
脈搏與心輸出感測程式


操作方法
1.將程式傳入micro:bit之後,開啟Show Data觀看圖表
2.確認閾值落在第一高峰之下,而不會碰到第二高峰。你可以按A和B調整閾值高低
3.先按下A+B,它會先將之前資料做運算以及歸零,然後畫面會停止
4.在按下A+B,圖表開始記錄目前的脈搏波形以及算出BPM
5.大約3~5分鐘後,按下A+B,輸出會停止,就會看到剛剛那段時間的時域分析

SDNN
SDNN是兩個正常心跳之間間隔的標準差,單位是毫秒。此數值越高表示自律神經比較平衡
NN是 normal-to-normal
SDNN是 standard deviation of the NN interval


RMSSD
RMSSD是RMSSD (Root Mean Square of the Successive Differences),代表兩正常心跳心率間隔差值(後一個心率間距和前一個心率間距 RR 的差值)的均方根。差值平方後相加,再做平均,然後開根號,單位為也是毫秒。此數值越高表示副交感神經越活躍


這個計算來自1996年時,歐洲心臟醫學會(European Society of Cardiology)制定的心率變異性臨床指引
Heart rate variability Standards of measurement, physiological interpretation, and clinical use


有了數據,那麼到底多少才算正常或太高、太低呢?這就需要常模了,因為心率變異性受到年齡、身體狀況、是否運動、量測姿勢...等影響。所以需要跟同齡常模來相比會比較合理。


SDNN常模
先列出幾個SDNN的常模
1.medi-core的 SA-300P的資料
 http://medi-core.com/download/HRV_clinical_manual_ver3.0.pdf



2.Andreas Voss等人在2015年調查不同年齡階段的各種時域分析和頻域分析的指標數值
論文Short-Term Heart Rate Variability—Influence of Gender and Age in Healthy Subjects
EHRV這個網站有再將資料表格整理如下

3. 2011年有一個研究有韓國人的分齡常模
男性常模
女性常模


4.在此診所的HRV判別報告說明裡也有兩張圖表可作為常模參考


這些常模來自不同的研究和不同的族群,要說應該用哪個常模來比較,其實我也不知道,但是可以看到的現象是SDNN會隨著年齡遞減。也就是年紀越大,心率變異性會降低。

除了和別人比以外,其實自己和自己也是很好比較的對象。確保自己每次都在同樣的狀態、同樣的姿勢、同樣的時間點量測。比較自己的生理心理狀態的差異,去看自己的SDNN或RMSSD的變化,也是很有趣的。

又或者你可以再回頭試試看,當你整個人縮在電腦前低頭駝背含胸時,你的SDNN會是多少。而當你能自然擴展胸腔,並且進行腹式呼吸時,SDNN又會是多少?

除了SDNN和 RMSSD之外,在時域分析上也會使用 pNN50,這代表正常心率相鄰兩個間距時間差超過 50 毫秒佔全部心率間隔數量的百分比。單位為 % 。也會用於自律神經的評估。