仇 凱
(南京偉思醫(yī)療科技股份有限公司,江蘇 南京 210012)
基于CortexTM-M3 內(nèi)核的生物電信號處理算法研究與實現(xiàn)
仇 凱
(南京偉思醫(yī)療科技股份有限公司,江蘇 南京 210012)
基于Cortex-M3內(nèi)核,對生物電信號算法的研究與實現(xiàn),作為生物電采集的核心部分,為顯示出準確的生物電信號,要通過不同功能的濾波算法,實現(xiàn)生物電信號“干凈化”。針對要實現(xiàn)的目標,主要完成以下幾個工作:首先要對生物電信號有所認識和了解,針對其波形特點和采集過程,通過對生物電信號采集前端的控制,達到獲取預(yù)處理后的生物電信號其次基于Cortex-M3內(nèi)核。通過數(shù)學濾波算法濾除主要干擾:滑動平均數(shù)濾波法濾除基線漂移;梳狀濾波法濾除50Hz工頻干擾。這兩個算法具有運算量小、系數(shù)整數(shù)化等特點,適合于Cortex-M3內(nèi)核的芯片上實現(xiàn)。最后經(jīng)過數(shù)字濾波后的生物電信號,數(shù)據(jù)可以存放于SD卡中,同時動態(tài)數(shù)據(jù)可以通過LCD進行顯示。
生物;電信號;Cortex-M3內(nèi)核;濾波算法
隨著邊緣學科生物學工程的蓬勃發(fā)展,在多種層次上研究生物體,特別是人體的結(jié)構(gòu)、功能和其他生命現(xiàn)象,用于研究防病、治病、人體功能輔助及衛(wèi)生保健的人工材料、制品、裝置和系統(tǒng),越來越多的醫(yī)療儀器得以誕生。設(shè)計以高性能、低功耗的基于Cortex?-M3內(nèi)核的STM32為計算核心,設(shè)計一套低功耗、采集快、處理數(shù)度準確、攜帶方便等特點的心電圖儀器,使心臟病患者得到實時的監(jiān)護。另外本設(shè)計采用USB2.0總線接口與PC機進行通信,將數(shù)據(jù)存放到PC機中,解決了STM32芯片本身能存放的數(shù)據(jù)量的瓶頸。且本設(shè)計采用標準I導聯(lián),僅需要3個肢體電極,無需用戶掌握專業(yè)的心電圖知識,也可完成測量[1]。
系統(tǒng)總體設(shè)計如圖1所示,本設(shè)計是基于Cortex?-M3的STM32F103VE設(shè)計的,是TI公司專門為生物電信號的采集而設(shè)計的集成芯片,是生物電信號采集的前端,然后通過SPI通信由STM32控制,并且將采集到的信號發(fā)送到STM32,最終再將ECG波形通過LCD顯示。
圖1 系統(tǒng)總體設(shè)計圖
由于本次設(shè)計用的是基于ARM7的STM32芯片,所以選擇了MDK(或Keil4)軟件平臺[2],此編程環(huán)境自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設(shè)備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,可將性能改善超過20%。具有啟動代碼生成向?qū)?;軟件模擬器,完全脫離硬件的軟件開發(fā)過程;性能分析器,看得更遠、看得更細、看得更潔;代碼更小、性能更高等突出性。
基于ARM Cortex?-M3的STM32F103VET6M,該處理器是行業(yè)領(lǐng)先的32位精簡指令處理器,高性能、低成本,以及其低功耗適用于具有高確定性的實時應(yīng)用,芯片工作頻率為72MHz,內(nèi)置高速存儲器(高達128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設(shè)[3]。這塊芯片在醫(yī)療和手持設(shè)備中得到廣泛應(yīng)用。
生物電信號由STM32控制ADS1294進行采集,則利用SPI通信方式進行控制。SPI是高速同步串行口,3~4線接口,收發(fā)獨立,可以同步進行。SPI接口主要應(yīng)用在EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間[4]。是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳。
SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設(shè)備和一個或多個從設(shè)備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基于SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時鐘),CS(片選)。本次設(shè)計SPI主要用于2個地方:ADS1294與STM32之間進行雙向通信;STM32控制TFT顯示的單向通信。
4.1 軟件架構(gòu)
軟件的編程包括STM32內(nèi)部各指令集的使用,以及如何在MDK平臺上使得STM32能夠靈活控制外設(shè),設(shè)計的軟件架構(gòu)如圖2所示。
圖2 軟件架構(gòu)
4.2 生物電信號濾波算法研究
傳統(tǒng)的濾波算法大多數(shù)使用繁瑣的計算公式,運算量比較大,不適合微處理器中。這里結(jié)合STM32、ADS1294和心電中存在的干擾類型和特點,研究數(shù)字濾波算法,然后在其他濾波算法的基礎(chǔ)上,通過插值法特出一種適合本系統(tǒng)的濾波算法。
(1)生物信號濾波原理。軟件濾波的功能就是通過一定的計算程序,對采集的數(shù)據(jù)進行處理,從而消除或減弱干擾噪聲的影響,也就是允許某一頻率或頻率段的信號順利通過,而另外一部分頻率的信號則受到較大的抑制。
在濾波器中,把信號能夠通過的頻率范圍,稱為通頻帶或通帶。反之,信號受到很大衰減或完全被抑制的頻率范圍稱為阻帶,通帶和阻帶之間的分界頻率稱為截止頻率。本系統(tǒng)設(shè)計的濾波器主要是濾除心電信號中50Hz的頻率,保留其他頻段。
通過研究數(shù)字濾波器的設(shè)計方法,針對本系統(tǒng)要濾除的主要干擾,設(shè)計一個適合于本處理器的濾波算法,該算法既保證較少的運算量,又在濾除干擾的同時保留特征波形的有效信號[5]。因此,本系統(tǒng)所設(shè)計的濾波器具有良好的幅頻特性和嚴格的線性相位特征。
(2)濾除基線漂移。作為主要干擾因素之一的基線漂移,對其濾波是心電信號處理中一個重要的問題,當基線漂移很嚴重時,對波形的識別以及數(shù)值的測量造成了困難,有時候甚至無法記錄。這是因為ECG信號是非常微弱的(范圍是0.05Hz~2Hz)的信號,其本身含有豐富的低頻部分,基線漂移會對其造成顯而易見的影響,它掩蓋了ECG某些特征波形,使得后續(xù)步驟如QRS波的檢測和識別中增加了觀察分析的難度。本次采用滑動平均數(shù)濾除基線漂移。
滑動平均濾波器的基本算法:輸出序列中第n個點為輸入序列中從第n-m+1個點到第n個點的平均值。即對帶有噪聲的原始信號以n個取樣點為一個窗口,取其平均值,窗口每次移一個取樣點,對整個信號作窗口重疊運算,原始信號經(jīng)過滑動平均濾波后,能將其突變值或峰值屏蔽,使原始信號變?yōu)檩^平緩的信號。如圖3所示,說明了滑動平均濾波后的波形情況。
圖3 滑動平均濾除基線漂移前后時序圖
(3)工頻(50Hz)陷波。50Hz工頻干擾在整個干擾信號中占了一大部分,而按照常規(guī)設(shè)計方法直接設(shè)計50Hz陷波器,要達到較好的濾波效果,設(shè)計濾波器的階數(shù)一般比較高,而且濾波器系數(shù)多為小數(shù),不適合應(yīng)用于STM32中進行實時處理。本次設(shè)計采用梳狀濾波器。梳狀濾波器它是由許多按一定頻率間隔相同排列的通帶和阻帶,只讓某些特定頻率范圍的信號通過。經(jīng)過梳狀濾波前后的波形如圖4所示。
圖4 梳狀濾波前后時序圖
4.3 心率檢測
心電信號具有準周期性,根據(jù)心電信號重復的頻率可以計算出每分鐘心跳次數(shù),即心率。心率算法有很多種。本系統(tǒng)最終采用帶通濾波器方法來計算心率參數(shù),達到了預(yù)期目的。通過對原始信號頻譜分析了解到,ECG信號能量集中在低頻范圍內(nèi),實際頻率1Hz~50Hz之間。其中接近直流的分量含有基線漂移,需要抑制,而高頻噪聲也需要濾除。因此,可以通過一個帶通濾波器取出ECG信號中能量較為集中的分量。這里設(shè)計的濾波器中心頻率設(shè)為17Hz(相對頻率為0.068)。該濾波器的幅頻響應(yīng)曲線和相頻響應(yīng)曲線如圖5所示。
圖5 帶通濾波器頻率響應(yīng)
經(jīng)過帶通濾波后,信號的形態(tài)發(fā)生了很大變化,突出表現(xiàn)為震蕩式的波峰和波谷。對濾波后的信號進行峰值檢測,就可以確定QRS波距離。
4.4 數(shù)據(jù)存儲
對于龐大的采集數(shù)據(jù),對與存儲容量有限的STM32根本無法滿足,所有得用到SD卡進行存儲。本系統(tǒng)采用容量為2G的SD卡,可以保證連續(xù)記錄的數(shù)據(jù)量。使用前需要先在PC上格式化為FAT32文件系統(tǒng),然后再將其插入本系統(tǒng)硬件電路板上的SD卡座內(nèi)。系統(tǒng)上電后自動在根目錄下建立ECG文件夾,在實時采集模式下,系統(tǒng)每隔一定時間就會將采集到的心電數(shù)據(jù)建立一個文件,保存至ECG文件夾內(nèi)。文件長度固定為4KB,剛好為SD卡一簇的大小。文件的建立日期、時間分別對應(yīng)采集結(jié)束時刻。這樣便于事后查看相應(yīng)時刻的心電圖。
文章通過基于Cortex-M3 內(nèi)核的STM32控制ADS1294對生物電信號采集,經(jīng)過算法處理,最終存儲和顯示。完成了生物電信號采集系統(tǒng)的硬件設(shè)計和算法軟件實現(xiàn),最終做成一個產(chǎn)品系統(tǒng)。攜帶方便、性價比高。主要具有以下成果:①針對通常心電圖儀體積大,攜帶不方便等,做出了一個適合于家庭個人心電監(jiān)護的作用,具有采集、存儲、顯示等功能,達到預(yù)期效果;②在MDK編程平臺上,同過C語言編程,實現(xiàn)了STM32對外設(shè)的控制,達到預(yù)期效果;③本設(shè)計軟件3.3 能夠優(yōu)化課堂教學組織形式
運用數(shù)字化媒體輔助教學,使課堂的形式向多樣化發(fā)展。除了集體教學和小組討論之外,還有基于網(wǎng)絡(luò)的協(xié)作教學形式。學生可以通過基于網(wǎng)頁的交流工具(如聊天室、論壇和視頻會議)進行上機操作,實現(xiàn)人機對話,進行個別輔導;提高學生的自主學習能力,發(fā)揮創(chuàng)造性,充分體現(xiàn)了素質(zhì)教育的主體性和發(fā)展性。
3.4 能夠組織時空融合的協(xié)作學習
由于知識的多樣性,僅靠在課堂上的學習是遠遠不夠的。基于數(shù)字校園的教學模式,有利于學生進行課前與課后,線上與線下的學習活動的整合,形成一個良好的循環(huán)系統(tǒng)。除了老師在課堂上進行授課,學生還可以利用非固定的時間進行網(wǎng)絡(luò)上課前與課后的協(xié)作學習。對在校園數(shù)字資源平臺下老師制作的微課以及視頻教學等內(nèi)容,學生可以進行預(yù)習和復習,加深認識。對于課前和課后學習的數(shù)字化微課,由于學生不能與教師及同學進行面對面的討論,因此其結(jié)構(gòu)化程度要求較高;而對于課中的微課,如果學生在學習的過程遇到了疑難問題和困惑時,教師是可以及時地進行答疑解惑,所以其結(jié)構(gòu)化程度要求相對較低[3]。
數(shù)字化校園不僅僅體現(xiàn)在數(shù)字化的教學,在其他方面也隨處可見。比如學生的興趣小組的選擇,傳統(tǒng)的方法是采用紙質(zhì)稿進行填寫,這在一定程度上加重了老師的工作任務(wù),通過網(wǎng)絡(luò)選課不僅僅便于統(tǒng)計,而且學生能根據(jù)自己的興趣愛好選擇自己喜歡的課程選項及學校開設(shè)的各項校本課程,等大大的方便了師生。
總之,數(shù)字化校園能有效整合學校、家庭、社會教育資源,建構(gòu)新型的教學模式和教學環(huán)境,為師生聯(lián)系創(chuàng)建了一個快速、有效的互動平臺。
[1]胡鐵生.微課的內(nèi)涵理解與教學設(shè)計方法[J].廣東教育(綜合版),2014,(4):33-35.
[2]胡鐵生.“微課”:區(qū)域教育信息資源發(fā)展的新趨勢[J].電化教育研究,2011,(10):61-65.
[3]韓燕,汪一鳴.微課概念及教學應(yīng)用的解析[J].科教導刊,2015,(32):29-30.
G633.91
A
2096-2789(2016)11-0207-03
文章受到江蘇省教育學會“十二五”教育科研規(guī)劃課題資助(SJ-228)。