• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于STM32的心率檢測方法設(shè)計(jì)

      2020-07-26 14:23:53夏卓王亞剛
      軟件導(dǎo)刊 2020年7期

      夏卓 王亞剛

      摘 要:為對(duì)心臟疾病患者進(jìn)行實(shí)時(shí)心率監(jiān)測,提出一種心率檢測方法。采用STM32單片機(jī)作為控制芯片,傳感器采用SON1205心率傳感器。首先將心率信號(hào)輸出成對(duì)應(yīng)的方波,將此方波輸入到單片機(jī)處理,然后通過設(shè)計(jì)的心率檢測算法得出心率,再經(jīng)過濾波算法處理,得到準(zhǔn)確的心率,最后通過LabVIEW軟件進(jìn)行仿真實(shí)驗(yàn),得到心率波形。實(shí)驗(yàn)結(jié)果表明,與高精度測量儀器相比,該方法誤差值最多不超過3,準(zhǔn)確率達(dá)到96%以上。基于STM32的心率檢測方法性能穩(wěn)定,數(shù)據(jù)可靠,可用于日常心率檢測。

      關(guān)鍵詞:心率檢測;STM32;心率傳感器;檢測算法;LabVIEW

      DOI:10. 11907/rjdk. 192576 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

      中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)007-0081-04

      The Design of A Heart Rate Detection Method Based on STM32

      XIA Zhuo,WANG Ya-gang

      (School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology,Shanghai 200093,China)

      Abstract: In order to achieve real-time heart rate monitoring for patients with heart disease, a heart rate detection method is proposed. The STM32 single-chip microcomputer is used as the control chip, and the sensor adopts the SON1205 heart rate sensor. Firstly, the heart rate signal is output into a corresponding square wave, and the square wave is input to the single-chip processing, then the heart rate is obtained through the designed heart rate detection algorithm and processed by the filtering algorithm to get accurate heart rate. Finally LabVIEW software is used to carry out simulation experiments to get heart rate waveform. The experimental results show that compared with high-precision measuring instruments, the error value of this method is no more than 3, and the accuracy is as high as 99%. The heart rate detection method based on STM32 has stable performance and reliable data, which can be used in daily heart rate detection.

      Key Words: heart rate detection; STM32; heart rate sensor; detection algorithm; LabVIEW

      0 引言

      我國目前心臟疾病患者較多,心腦血管疾病死亡率和癌癥不差上下[1],有些心臟疾病可以遺傳,發(fā)病較快,有時(shí)因來不及預(yù)防造成無法挽回的結(jié)果[2]。正常人的心率為每分鐘60~100次,超過100次或者低于60次稱為心律不齊[3]。引起心率不齊的原因有很多,如有的人情緒緊張、過量吸煙飲酒以及其它一些心臟疾病等,都會(huì)導(dǎo)致心率不齊,甚至?xí)绊懶呐K輸出血液,造成生命危險(xiǎn)。因此,測量心率是日常生活中非常重要的環(huán)節(jié)。

      現(xiàn)階段測量心率的方法有醫(yī)院和家用心率檢測儀,可以準(zhǔn)確測量出心率,但是這些儀器都不方便隨身攜帶。目前比較成熟的智能手環(huán)也可以測心率,缺點(diǎn)是價(jià)格較昂貴。文獻(xiàn)[2]提出一種基于AT89C51單片機(jī)的心率檢測方法,實(shí)現(xiàn)了心率采集與顯示功能;文獻(xiàn)[3]提出一種基于AT89C52單片機(jī)的心率檢測方法,也實(shí)現(xiàn)了上述基本功能,但在系統(tǒng)穩(wěn)定性和數(shù)據(jù)處理方面存在不足??刂菩酒捎?位51系列單片機(jī),性能遠(yuǎn)不如32位的STM32F4系列單片機(jī),系統(tǒng)穩(wěn)定性差,且在數(shù)據(jù)處理方面沒有給出具體方法及仿真實(shí)驗(yàn),數(shù)據(jù)可靠性差。

      本文使用STM32單片機(jī)作為控制芯片,提供一種高性能、低成本的嵌入式應(yīng)用解決方案。開展心率檢測算法研究,并給出算法具體介紹,將心率檢測模塊直接通過I/O口連接通信。經(jīng)過算法計(jì)算之后,對(duì)數(shù)據(jù)進(jìn)行濾波處理,得到準(zhǔn)確的心率數(shù)據(jù)。為確保數(shù)據(jù)可靠性,利用LabVIEW軟件進(jìn)行仿真實(shí)驗(yàn)。STM32單片機(jī)是市場上公認(rèn)的性能穩(wěn)定、功能強(qiáng)大、高性價(jià)比的嵌入式解決方案,運(yùn)行速度和穩(wěn)定程度都遠(yuǎn)強(qiáng)于8位單片機(jī)。STM32改進(jìn)了系統(tǒng)的穩(wěn)定性與運(yùn)算能力,數(shù)據(jù)更加可靠,且對(duì)二次開發(fā)都可以輕松應(yīng)對(duì),處理能力強(qiáng)大。

      1 系統(tǒng)總體設(shè)計(jì)

      系統(tǒng)整體結(jié)構(gòu)不復(fù)雜。首先由SON1205心率檢測模塊對(duì)被測人員進(jìn)行心率檢測,檢測結(jié)果通過傳感器的OUT端口輸出方波,然后將此端口連接到STM32單片機(jī)的I/O口上,這樣就可利用程序代碼對(duì)收到的方波進(jìn)行分析處理,從而得到心率數(shù)據(jù)[4];最后對(duì)這些數(shù)據(jù)進(jìn)行程序運(yùn)算,算出的心率在液晶屏上顯示,并通過串口發(fā)送到LabVIEW軟件,仿真出心率波形,通過圖像可更為直觀地了解心率情況。系統(tǒng)整體結(jié)構(gòu)如圖1所示。

      2 硬件設(shè)計(jì)

      2.1 控制芯片

      控制芯片采用STM32單片機(jī)F4系列中的STM32F407,相較于之前比較常見的F1系列,F(xiàn)4系列單片機(jī)在很多方面都得到明顯加強(qiáng)。F1系列采用Cortex M3內(nèi)核,最高主頻為72MHz,并且沒有浮點(diǎn)運(yùn)算單元和DSP指令集;而F4系列采用Cortex M4內(nèi)核,最高主頻為168MHz[5],這讓F4系列單片機(jī)的運(yùn)算能力和程序執(zhí)行能力顯著提升,并且具有單精度浮點(diǎn)運(yùn)算單元和增強(qiáng)的DSP指令集,在定時(shí)器、SRAM、GPIO、串口以及其它外設(shè)接口的數(shù)量和性能等方面都有所加強(qiáng)[6]。

      2.2 心率檢測模塊

      目前市場上的便攜式心率檢測裝置大多采用光電檢測法,即傳感器會(huì)往皮膚上發(fā)出一道光,由于血液會(huì)吸收特定波長的光[7],所以心臟每跳動(dòng)一次就會(huì)吸收傳感器發(fā)出的光,傳感器再根據(jù)反射回來的光確定心率情況[8]。SON1205心率傳感器也是這種原理,通過反射回來的光確定心率,并在OUT端口輸出對(duì)應(yīng)的方波信號(hào),根據(jù)此方波信號(hào)編寫適當(dāng)?shù)某绦蛩惴?,?duì)其進(jìn)行檢測、濾波、計(jì)算等[9],以此獲得被測人員的心率情況。

      3 軟件設(shè)計(jì)

      3.1 心率檢測算法

      系統(tǒng)核心是心率檢測部分,而心率檢測部分的核心是該部分程序的編寫。心率已由心率傳感器測出并輸出方波,對(duì)此方波進(jìn)行檢測,方法是利用STM32F407單片機(jī)的輸入捕獲功能。一旦單片機(jī)捕獲到上升沿或下降沿就進(jìn)入中斷服務(wù)函數(shù),再測量每個(gè)方波的高低電平持續(xù)時(shí)間,并對(duì)該數(shù)據(jù)進(jìn)行計(jì)算得出心率。

      具體程序流程為:首先配置好單片機(jī)的GPIO輸入輸出和定時(shí)器相關(guān)初始化[10],將單片機(jī)輸入捕獲設(shè)置為上升沿捕獲,這樣第一次進(jìn)入中斷服務(wù)函數(shù)時(shí)就必定捕獲上升沿。

      中斷服務(wù)函數(shù)分為兩部分:①上升沿函數(shù);②下降沿函數(shù)。當(dāng)?shù)谝淮螜z測到上升沿進(jìn)入到上升沿函數(shù)時(shí),由于第一次上升沿比較特別,需要定義一個(gè)flag,判斷是不是第一次檢測到上升沿。如果是第一次立即使能定時(shí)器,從0開始計(jì)數(shù),并將單片機(jī)設(shè)置為下降沿捕獲[11],這樣下次進(jìn)入中斷函數(shù)時(shí),必定捕獲到下降沿。一旦捕獲到下降沿就進(jìn)入下降沿函數(shù),立即停止定時(shí)器計(jì)數(shù),并將此時(shí)的定時(shí)器數(shù)據(jù)存儲(chǔ)下來,此即為高電平持續(xù)時(shí)間;再將單片機(jī)設(shè)置為上升沿捕獲,重新使能定時(shí)器開始計(jì)數(shù),為下一次中斷做準(zhǔn)備。

      當(dāng)下一次中斷來臨時(shí)必定捕獲到上升沿,此時(shí)進(jìn)入到上升沿函數(shù),立即停止計(jì)數(shù)并將數(shù)據(jù)保存下來,獲得低電平持續(xù)時(shí)間,再將單片機(jī)設(shè)置成下降沿捕獲,重新使能定時(shí)器[12]。如此反復(fù),每一次心跳的方波高低電平持續(xù)時(shí)間都能得到,為進(jìn)一步計(jì)算作好準(zhǔn)備。

      如圖4所示,通過控制定時(shí)器得到高低電平的持續(xù)時(shí)間,即可得到心率。高低電平時(shí)間相加即為一次心跳時(shí)間。定時(shí)器的計(jì)數(shù)頻率設(shè)置成1Mhz,即1us計(jì)一次數(shù),則心率檢測公式為:

      式中,X為心率,單位次/min,a為高電平持續(xù)時(shí)間,b為低電平持續(xù)時(shí)間,單位都是微秒,分子1000000us即為1s,1s除以高低電平相加時(shí)間即為1s內(nèi)有多少次心跳周期,再乘以60為每分鐘有多少次心跳,此值即為心率。

      3.2 濾波算法

      上述方法采集到的數(shù)據(jù)為瞬時(shí)值,由于測量的不確定性,需要對(duì)測量數(shù)據(jù)進(jìn)行簡單的濾波計(jì)算。首先在捕獲高低電平方面進(jìn)行濾波,在捕獲到上升沿或下降沿時(shí),在短時(shí)間內(nèi)進(jìn)行連續(xù)多次檢測,判斷是否一直持續(xù)高電平或者低電平。如果不是,則認(rèn)為本次捕獲沒有成功[13],進(jìn)行下一次捕獲,這樣可以避免由于一些外界因素造成的數(shù)據(jù)抖動(dòng),減少錯(cuò)誤數(shù)據(jù)采集。

      在數(shù)據(jù)處理方面采用限幅濾波法和算數(shù)平均濾波法[14],連續(xù)采集5次數(shù)據(jù)并設(shè)定最高值與最低值。如果有數(shù)據(jù)超過該范圍或者突變幅度特別大,則認(rèn)為不是有效數(shù)據(jù),剩下的數(shù)據(jù)再取平均值?;蛘哌B續(xù)采集5秒數(shù)據(jù),同樣設(shè)置上下限和考慮突變情況,然后對(duì)數(shù)據(jù)取平均值 [15]。

      4 仿真實(shí)驗(yàn)

      4.1 LabVIEW程序設(shè)計(jì)

      LabVIEW是一款由美國國家儀器公司開發(fā)的虛擬儀器開發(fā)工具[16],采用圖形化編程,具有各類直觀易懂的虛擬器件,層次清晰、編程簡單[17]。

      本實(shí)驗(yàn)使用LabVIEW軟件對(duì)采集到的心率進(jìn)行波形仿真。程序框架如圖7所示。

      利用LabVIEW中的VISA架構(gòu)[18],通過單片機(jī)串口獲得數(shù)據(jù)。首先進(jìn)行串口配置,如波特率、停止位和校驗(yàn)位等[19],不配置即為默認(rèn)值;然后進(jìn)入while循環(huán),循環(huán)中對(duì)串口數(shù)據(jù)進(jìn)行讀取[20],在單片機(jī)程序代碼中自定義串口發(fā)送數(shù)據(jù)的格式為“高電平時(shí)間L低電平時(shí)間”,這樣即可使用字符串函數(shù)中的匹配模式提取數(shù)據(jù),得到高低電平時(shí)間后即可通過公式

      求出占空比,并將其輸入到方波波形控件,進(jìn)而得到測量波形。

      前面板得到的波形如圖8所示。

      4.2 實(shí)驗(yàn)分析

      為確保實(shí)驗(yàn)結(jié)果準(zhǔn)確,對(duì)3人進(jìn)行實(shí)驗(yàn)測試,將測量數(shù)據(jù)與蘋果公司的Apple Watch智能手表測量結(jié)果相比較,結(jié)果如表1所示。

      由實(shí)驗(yàn)結(jié)果可知,系統(tǒng)測量數(shù)據(jù)與Apple Watch智能手環(huán)存在一定的誤差,但是誤差較小,不會(huì)影響測量結(jié)果,表明系統(tǒng)可以穩(wěn)定地測量心率。

      通過與其它具有心率測量功能的智能手環(huán)相比較,可以看出該裝置的優(yōu)勢與創(chuàng)新點(diǎn)。

      (1)該裝置成本非常低,傳感器的市場價(jià)為10元左右,控制芯片的最小系統(tǒng)板市場價(jià)為30元左右,整套系統(tǒng)成本50元左右,而蘋果公司的Apple Watch市場價(jià)為3 200元左右,市場上其它公司的智能手環(huán)最低也要160元左右,而且測量結(jié)果幾乎一致。該裝置基于強(qiáng)大的STM32控制芯片,運(yùn)算能力強(qiáng),測量性能穩(wěn)定,性價(jià)比更高。

      (2)該設(shè)計(jì)既要準(zhǔn)確測量心率,又要體現(xiàn)智能化和人性化。本文首先設(shè)計(jì)一套心率檢測算法,用于測量使用者的心率情況,相比于其它智能手環(huán),該裝置的創(chuàng)新點(diǎn)在于二次開發(fā)能力較強(qiáng)。普通智能手環(huán)功能基本固定,較為單一。本裝置使用強(qiáng)大的STM32控制芯片,可以搭載各種模塊,實(shí)現(xiàn)多種功能。為體現(xiàn)人性化和智能化,可以加入通訊模塊,如4G模塊或者WiFi模塊,將測量結(jié)果實(shí)時(shí)傳入服務(wù)器端,通過數(shù)據(jù)庫技術(shù)對(duì)數(shù)據(jù)進(jìn)行保存,這樣就可隨時(shí)查看歷史記錄。對(duì)心率異常情況設(shè)計(jì)報(bào)警機(jī)制,即一旦心率異常就可通過服務(wù)器廣播,傳到家人的手機(jī)上,避免危險(xiǎn)發(fā)生。

      5 結(jié)語

      本文基于STM32單片機(jī)設(shè)計(jì)了一套心率檢測系統(tǒng),利用單片機(jī)對(duì)傳感器輸出方波的上升沿和下降沿檢測,編寫程序算法對(duì)高低電平進(jìn)行計(jì)算,進(jìn)而求得占空比等波形數(shù)據(jù)。經(jīng)過濾波,得到較為準(zhǔn)確的心率數(shù)據(jù),在液晶屏上顯示結(jié)果;再通過LabVIEW軟件中VISA架構(gòu)與單片機(jī)串口通訊,得到心率相關(guān)數(shù)據(jù)并仿真出心率波形。整套系統(tǒng)運(yùn)行穩(wěn)定,可以滿足日常心率檢測需求。下一步工作可以加入數(shù)據(jù)傳輸模塊,將實(shí)時(shí)心率傳輸至數(shù)據(jù)庫,再設(shè)計(jì)一款A(yù)pp或者其它上位機(jī)軟件,實(shí)時(shí)顯示使用者的心率情況。即使家人不在身邊,也可以遠(yuǎn)程監(jiān)控測量者的心率情況,從而降低危險(xiǎn)發(fā)生概率。

      參考文獻(xiàn):

      [1] YENIKOMSHIAN M,JARVIS J,PATTON C,et al. Cardiac arrhythmia detection outcomes among patients monitored with the Zio patch system: a systematic literature review[J].? Current Medical Research and Opinion,2019,35(10):1208-1224.

      [2] 呂峻達(dá),王景泰. 基于單片機(jī)的人體心率監(jiān)測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子元器件與信息技術(shù),2018(8):26-28.

      [3] 羅通. 心率監(jiān)測系統(tǒng)設(shè)計(jì)[J]. 無線互聯(lián)科技,2019,16(9):55-56.

      [4] 劉澤玲,周智榮,張偉. 基于STM32F407的畜牧車配料稱重儀表的設(shè)計(jì)[J]. 自動(dòng)化與儀表,2019,34(6):87-90.

      [5] 牛妍燕,田子怡. 基于STM32的嵌入式智能家居系統(tǒng)[J]. 電腦知識(shí)與技術(shù),2016,12(13):240-242.

      [6] WANG R B. The design of motor precision positioning system based on stm32 single chip microcomputer[J]. Journal of Physics: Conference Series,2018,1087(6):764-778.

      [7] JIN X,GU F,NIU J? W,et al. HRcal:an effective calibration system for heart rate detection during exercising[J]. Journal of Network And Computer Applications,2019,136(9):967-1006.

      [8] 呂智鵬,石紫茹,王君瑞. 關(guān)于心率傳感器在可穿戴設(shè)備上的實(shí)際應(yīng)用[J]. 中國新通信,2018,20(17):232-237.

      [9] ARNALDO G,LEAL-JUNIOR,CAMILO R,et al. Polymer optical fiberbased sensor for simultaneous? measurement of breath and heart rate under dynam imovements[J].? Optics and Laser Technology, 2019(132):109-220.

      [10] 張幼麟. 簡介51單片機(jī)的定時(shí)器/計(jì)數(shù)器[J]. 內(nèi)江科技,2018,39(12):129-132.

      [11] KRISTOFFER NYBORG GREGERTSEN,AMUND SKAVHAUG.Execution time timers for interrupt handling[J]. ACM SIGAda Ada Letters, 2013, 33(2):65-77.

      [12] 馮康. 單片機(jī)定時(shí)器在計(jì)時(shí)器設(shè)計(jì)中的應(yīng)用[J].? 福建電腦, 2019, 35(5): 103-105.

      [13] 胡超然,徐楓,陳永勝. 常用數(shù)字濾波算法及其應(yīng)用[J]. 科技風(fēng),2017(13):13-15.

      [14] ROY S,CHANDRA A. Design of narrow transition band digital filter:an analytical approach[J]. Integration,2019(68):532-547.

      [15] 王波. 淺析數(shù)字濾波的常用算法[J]. 礦業(yè)工程,2009,7(3):55-57.

      [16] 徐慶坤,房齊. LABVIEW和單片機(jī)串口通信在半導(dǎo)體模塊測試設(shè)備中的應(yīng)用[J]. 價(jià)值工程,2018,37(30):184-185.

      [17] 李蒙蒙. 基于LabVIEW的數(shù)字信號(hào)調(diào)制識(shí)別[D]. 北京:北京郵電大學(xué),2018.

      [18] 王興宏,魏琳,周婷. 基于計(jì)算機(jī)技術(shù)的Labview系統(tǒng)仿真設(shè)計(jì)研究[J]. 白城師范學(xué)院學(xué)報(bào),2019,33(4):15-17.

      [19] 曾德康. 基于單片機(jī)的數(shù)據(jù)串口通信研究[J]. 通信電源技術(shù),2019,36(3):194-195.

      [20] 侯光輝. 串行通信的工作原理[J]. 電子技術(shù)與軟件工程,2019(6):44-68.

      (責(zé)任編輯:杜能鋼)

      潜山县| 班戈县| 郑州市| 岗巴县| 通河县| 林口县| 获嘉县| 贡觉县| 潼南县| 永登县| 同心县| 治县。| 张北县| 罗甸县| 南江县| 韩城市| 历史| 海安县| 通山县| 赤壁市| 奈曼旗| 邳州市| 额尔古纳市| 辽阳县| 会同县| 汽车| 延庆县| 德昌县| 西昌市| 南投县| 高邑县| 汉寿县| 通州市| 阿克陶县| 杭锦后旗| 呈贡县| 清苑县| 德化县| 桃园县| 济宁市| 双桥区|