嵌入式系統(tǒng)綜合實(shí)踐_第1頁(yè)
嵌入式系統(tǒng)綜合實(shí)踐_第2頁(yè)
嵌入式系統(tǒng)綜合實(shí)踐_第3頁(yè)
嵌入式系統(tǒng)綜合實(shí)踐_第4頁(yè)
嵌入式系統(tǒng)綜合實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式系統(tǒng)綜合實(shí)踐課程設(shè)計(jì)(論文)脈搏波心率測(cè)量算法設(shè)計(jì) 院(系)名稱(chēng)電子與信息工程學(xué)院 專(zhuān)業(yè)班級(jí)計(jì)算機(jī)666 學(xué)號(hào)1104010xx 學(xué)生姓名XX 指導(dǎo)教師XX 講師起 止 時(shí) 間: 2014.12.292015.01.09課程設(shè)計(jì)(論文)任務(wù)及評(píng)語(yǔ)院(系):電子與信息工程學(xué)院 教研室:計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號(hào)1104010學(xué)生姓名專(zhuān)業(yè)班級(jí)計(jì)算機(jī)666課程設(shè)計(jì)(論文)題目脈搏波心率測(cè)量算法設(shè)計(jì)課程設(shè)計(jì)(論文)任務(wù)任務(wù)要求:采集得到了脈搏波數(shù)字形式的數(shù)據(jù),單片機(jī)通過(guò)這些數(shù)據(jù)計(jì)算心跳次數(shù)。要求用Matlab設(shè)計(jì)心率計(jì)算方法,使其計(jì)算給定脈搏波數(shù)據(jù)(1組)反應(yīng)的心率次數(shù)。技術(shù)要求:1、要求輸入函數(shù)t

2、est(x),屏幕上出現(xiàn)脈搏波的心跳個(gè)數(shù)。2、在屏幕上畫(huà)出計(jì)算心率各個(gè)過(guò)程原始數(shù)據(jù)的變化情況。3、分析把數(shù)據(jù)變化成什么樣的形式才能用程序計(jì)算心率。指導(dǎo)教師評(píng)語(yǔ)及成績(jī)平時(shí)成績(jī): 答辯成績(jī): 論文成績(jī): 總成績(jī): 指導(dǎo)教師簽字: 年 月 日注:平時(shí)成績(jī)占20%,答辯成績(jī)占40%,論文成績(jī)占40%。目 錄第1章 緒論1算法研究的背景1算法研究的意義1開(kāi)發(fā)工具1第2章 需求分析3主要研究?jī)?nèi)容32.2 算法性能需求3第3章 算法的選擇與比較4心電基線(xiàn)漂移去除方法的比較研究4形態(tài)濾波43.1.2 FIR濾波4小波變換5中值濾波 - 小波變換5擬合基線(xiàn)法原理53.2 快速中值濾波的應(yīng)用6第4章 算法設(shè)計(jì)與編

3、碼8算法設(shè)計(jì)8編碼設(shè)計(jì)與分析8第5章 設(shè)計(jì)結(jié)果與分析11脈搏波心率測(cè)量算法設(shè)計(jì)目的11脈搏波心率測(cè)量算法設(shè)計(jì)結(jié)果11脈搏波心率測(cè)量算法設(shè)計(jì)的分析14第6章 總結(jié)17參考文獻(xiàn)18第1章 緒論算法研究的背景脈搏波信號(hào)處理算法的研究對(duì)于心血管疾病多參數(shù)檢測(cè)技術(shù)的發(fā)展具有重大意義。近年來(lái),脈搏波信號(hào)的特征提取已經(jīng)成為人體健康監(jiān)護(hù)領(lǐng)域的研究熱點(diǎn)之一。通過(guò)脈搏波信號(hào)能夠檢測(cè)心血管功能的多項(xiàng)參數(shù),具有無(wú)創(chuàng)、快速等特點(diǎn),是防治心血管疾病的重要手段。目前,脈搏波信號(hào)的處理算法研究還小成熟,特別是信號(hào)的特征提取,使其在檢測(cè)設(shè)備中的應(yīng)用發(fā)展緩慢,開(kāi)展該方而的研究具有重要的實(shí)際應(yīng)用價(jià)值及社會(huì)意義。首先,對(duì)脈搏波信號(hào)特

4、點(diǎn)及波形特征進(jìn)行了分析,在此基礎(chǔ)上采用了基于數(shù)學(xué)形態(tài)學(xué)的脈搏波信號(hào)預(yù)處理算法,分別設(shè)計(jì)了加權(quán)組介形態(tài)濾波器去除脈沖噪聲和抑制基線(xiàn)漂移,并進(jìn)行了仿真研究,該算法能夠有效去除噪聲而小損傷原信號(hào)的特征。其次,針對(duì)脈搏波信號(hào)與振動(dòng)系統(tǒng)的聯(lián)系,建立了基于振動(dòng)理論的脈搏波信號(hào)特征提取數(shù)學(xué)模型,在此基礎(chǔ)上,提出了脈搏波信號(hào)特征提取算法,對(duì)該算法進(jìn)行了數(shù)學(xué)分析,證明其物理可實(shí)現(xiàn)性,得到了相關(guān)參數(shù)的范圍。并針對(duì)脈搏波信號(hào)的周期、波形和血壓信號(hào)特征,定義了相關(guān)的特征提取向量,并給出具體實(shí)現(xiàn)過(guò)程中的信號(hào)運(yùn)算數(shù)學(xué)表達(dá)式。運(yùn)算量較小、耗費(fèi)時(shí)間也較短,仿真實(shí)驗(yàn)結(jié)果表明該方法是有效實(shí)用的。最后,脈搏波心率測(cè)量算法設(shè)計(jì),利用

5、實(shí)驗(yàn)系統(tǒng)采集到的脈搏波信號(hào)對(duì)算法進(jìn)行驗(yàn)證,基于MATLAB對(duì)數(shù)據(jù)進(jìn)行處理,得到最優(yōu)算法。這將對(duì)心血管檢測(cè)、數(shù)據(jù)分析有很大的幫助。1.2算法研究的意義從人體采集到的脈搏波信號(hào),由于脈搏波信號(hào)信噪比比較低,給后續(xù)參數(shù)的準(zhǔn)確測(cè)量帶來(lái)了困難,所以對(duì)于噪聲干擾的去除是非常重要而必須的。其中脈搏波信號(hào)中常見(jiàn)的噪聲有工頻干擾、基線(xiàn)漂移、肢體抖動(dòng)、肌肉緊張而引起的干擾等,本文基于基線(xiàn)漂移法結(jié)合MATLAB對(duì)數(shù)據(jù)進(jìn)行了實(shí)時(shí)的處理。用MATLAB計(jì)算了所給脈搏波信號(hào)的心跳次數(shù)。實(shí)現(xiàn)了MATLAB上對(duì)脈搏波信號(hào)的實(shí)時(shí)處理。1.3開(kāi)發(fā)工具算法研究環(huán)境MatlabMATLAB (Matrix Laboratory ,矩

6、陣實(shí)驗(yàn)室) 是由美國(guó)Math Works公司開(kāi)發(fā)的一種功能強(qiáng)、效率高、簡(jiǎn)單易學(xué)的可視化軟件,覆蓋面包括控制、通訊、金融、圖像處理、建筑、生物學(xué)等幾乎所有的行業(yè)與科學(xué)領(lǐng)域。除了經(jīng)典的一些算法外, MATLAB 還提供了豐富的數(shù)據(jù)分析和處理功能模塊, 如神經(jīng)網(wǎng)絡(luò)、小波分析、信號(hào)處理、圖像處理、自動(dòng)控制、模糊控制、系統(tǒng)仿真等,因此MATLAB是一種高效的編程軟件。本文介紹利用MATLAB 軟件作為技術(shù)平臺(tái),實(shí)現(xiàn)對(duì)統(tǒng)脈搏波快速、準(zhǔn)確實(shí)時(shí)顯示,而且實(shí)現(xiàn)方法簡(jiǎn)單有效,有一定的實(shí)用性。第2章 需求分析2.1主要研究?jī)?nèi)容從上面的分析可以看到,盡管脈搏波信號(hào)處理領(lǐng)域的研究取得了較大的進(jìn)展,并且相關(guān)處理方法在一定

7、程度上得到了應(yīng)用,但是,目前的信號(hào)處理方法還不夠成熟,比如準(zhǔn)確性不高,對(duì)非線(xiàn)性信號(hào)處理效果不理想;數(shù)學(xué)原理復(fù)雜,計(jì)算量大,不適合嵌入式應(yīng)用;實(shí)時(shí)處理能力差,不利于在實(shí)時(shí)監(jiān)護(hù)系統(tǒng)中的應(yīng)用。用Matlab計(jì)算所給脈搏波信號(hào)的心跳次數(shù)主要研究?jī)?nèi)容有:(1)分析原始脈搏波數(shù)據(jù)的特點(diǎn),研究脈搏波數(shù)據(jù)的預(yù)處理方法,尋找一種新的更適于脈搏波信號(hào)特點(diǎn)的方法,有效去除高頻脈沖噪聲和基線(xiàn)漂移,并且不損失原信號(hào)的特征,為脈搏波的特征提取奠定基礎(chǔ)。(2)研究脈搏波信號(hào)的特征提取算法,根據(jù)脈搏波信號(hào)特征提出一種新的簡(jiǎn)單易實(shí)現(xiàn)、計(jì)算量小且具有在線(xiàn)處理功能的特征提取算法,對(duì)算法進(jìn)行數(shù)學(xué)分析,并設(shè)計(jì)算法的具體實(shí)現(xiàn)過(guò)程,給出信

8、號(hào)運(yùn)算的數(shù)學(xué)表達(dá)式,分別實(shí)現(xiàn)脈搏波周期特征、波形特征與血壓信號(hào)特征的提取,解決脈搏波的有效應(yīng)用中存在的困難。(3) 脈搏波信號(hào)測(cè)量算法設(shè)計(jì),要求輸入函數(shù)test(x),屏幕上出現(xiàn)脈搏波的心跳個(gè)數(shù)。2.2 算法性能需求消除心電信號(hào)的基線(xiàn)漂移 ,是心電信號(hào)處理中的一個(gè)重要而又困難的問(wèn)題 。 因?yàn)榛€(xiàn)漂移嚴(yán)重時(shí) ,往往使波形識(shí)別和參數(shù)測(cè)量成為不可能 ,甚至無(wú)法記錄 。 發(fā)生基線(xiàn)漂移的原因有電極電阻變化 、電極的極化電位變化 、心電放大器的直流偏置漂移 、人體呼吸或其他肌肉緩慢運(yùn)動(dòng)等 。 基線(xiàn)漂移的頻率很低 ,其范圍為 0. 05 Hz至幾 Hz,其主要分量在 0. 1 Hz左右 。而心電信號(hào)的 ST

9、段頻率也很低 ,其最大值約為 0. 60. 7 Hz,兩者的頻譜非常接近 ,所以如果使用 高通濾波的方法消 除基線(xiàn)漂移 ,即 使采用 線(xiàn)性相位的濾波器 ,也常常會(huì)引 起 嚴(yán)重失真。對(duì)基線(xiàn)漂移糾 正方法的研究 ,在心電信號(hào)處理中有著重要意義 。本文通過(guò)研究快速中值濾波在濾波心電圖信號(hào)基線(xiàn)漂移中的應(yīng)用,以及心電基線(xiàn)漂移去除方法的算法比較,得出簡(jiǎn)單、精確度比較高的算法,進(jìn)而基于MATLAB求出脈搏波的心跳個(gè)數(shù)。第3章 算法的選擇與比較3.1心電基線(xiàn)漂移去除方法的比較研究基線(xiàn)漂移是心電信號(hào)幅值測(cè)量與形態(tài)分析(尤其是 ST段 ) 的重要影響因素 ,抑制基線(xiàn)漂移是正確獲心電信息的前提 。濾波法和擬合基線(xiàn)法

10、是兩類(lèi)最常用的基漂抑制方法 。傳統(tǒng)方法如小取心電信息的前提 。濾波法和擬合基線(xiàn)法是兩類(lèi)最常用的基漂抑制方法 。傳統(tǒng)方法如小波分解、形態(tài)濾波、FIR 濾波、中值 濾波、基于全部數(shù)據(jù)的最小二乘擬合法 、基于基線(xiàn)上關(guān)鍵點(diǎn)的函數(shù)擬合法 等 ,都在心電基漂去除中得到了廣泛的應(yīng)用 ;近年來(lái) ,新興方法如自適應(yīng)濾波 、經(jīng)驗(yàn)?zāi)V捣纸?等也被嘗試用于心電基漂去除的研究中 。然而 ,這些研究大多以定性分析為主 ,所分析的數(shù)據(jù)沒(méi)有通用性 ,因此不便于在實(shí)際應(yīng)用中對(duì)各種算法的取舍提供參考 ; 即便 有 些 研 究 使 用 M IT/B IH 數(shù) 據(jù) 庫(kù)的樣本 ,但由于 M IT /B IH 數(shù)據(jù)都包含基漂 、工頻 、

11、運(yùn)動(dòng)偽跡等多種干擾 (實(shí)際的體表 ECG必然受噪聲干擾 ) ,因此 ,不能定量比較各種算法對(duì)信噪比的改善程度 。這里依次闡述濾波法和擬合法的原理與特點(diǎn)。形態(tài)濾波形態(tài)運(yùn)算包括腐蝕 、膨脹、 形態(tài)開(kāi)和形態(tài)閉等。形態(tài)開(kāi)可以抑制信號(hào)中的正脈沖噪聲 ,而形態(tài)閉可以抑制信號(hào)中的負(fù)脈沖噪聲 。通常使用形態(tài)開(kāi) 、閉運(yùn)算的級(jí)聯(lián)形式來(lái)同時(shí)濾除信號(hào)中的正 、負(fù)脈沖噪聲 。如果結(jié)構(gòu)元素的寬度小于所有 ECG特征波形的寬度 ,則開(kāi) 、閉運(yùn)算后 , ECG的特征波形會(huì)被保留 ,而信號(hào)中寬度小于結(jié)構(gòu)元素的干擾脈沖會(huì)被清除 。 另一方面 ,有基線(xiàn)漂移的 ECG信號(hào)可看成緩慢變化的“基漂 ”信號(hào)上疊加有寬度相對(duì)狹窄的ECG信號(hào)

12、,如果結(jié)構(gòu)元素的寬度大于所有ECG特征波形 ( PQRSTU 波 ) 的寬度 ,則形態(tài)運(yùn)算就能夠從含噪信號(hào)中分離出基線(xiàn)漂移信號(hào) 。3.1.2 FIR濾波N 階 FIR 濾波器在 Z平面內(nèi)有 NR個(gè)零點(diǎn) ,其收斂域總是包括單位圓 ,因此 F IR 濾波器總是穩(wěn)定的 。系數(shù)對(duì)稱(chēng)的 F IR 濾波器能夠保持線(xiàn)性相位 ,這是 ECG除噪所需要的 ,但需注意 N階偶對(duì)稱(chēng)或奇對(duì)稱(chēng)的 F IR 濾波器有 N /2點(diǎn)延時(shí) 。F IR濾波的原理簡(jiǎn)單 、無(wú)累積誤差 , 適于實(shí)時(shí)場(chǎng)合 ,但幅頻失真一般比較明顯 。小波變換信號(hào)的小波變換相當(dāng)于信號(hào)在不同尺度的帶通和低通濾波,可分解得到信號(hào)的逼近分量和細(xì)節(jié)分量 ?;€(xiàn)漂

13、移主要為低頻分量 ,在小波重構(gòu)的過(guò)程中 ,只要將高尺度的逼近分量置零 ,就得到了去除基漂的信號(hào)。在信號(hào)采樣頻率一定的情況下 ,對(duì)于某一確定小波 ,其不同尺度下的頻率中心和窗寬都是確定的 ,由此可確心和窗寬都是確定的 ,由此可確定去除基線(xiàn)漂移的小波變換的最佳分解尺度 。形態(tài)運(yùn)算 - 小波變換 形態(tài)濾波能夠簡(jiǎn)單提取基漂的輪廓 ,但產(chǎn)生了一種近似矩形或梯形的波動(dòng) ,這是形態(tài)運(yùn)算設(shè)置門(mén)限而帶來(lái)的截?cái)嗾`差 ,可考慮用小波分解對(duì)粗糙的基漂進(jìn)行平滑 。形態(tài)濾波與小波分解的聯(lián)合算法是 : 首先用形態(tài)濾波提取粗糙的基漂信號(hào) ;再通過(guò)小波分解將粗糙的基漂分解在 N 個(gè)尺度上 ,重構(gòu)時(shí)只保留2 Hz以下的逼近分量和

14、細(xì)節(jié)分量 ,這樣就獲得了平滑的基漂 ,進(jìn)而獲得濾除基漂干擾的信號(hào) 。綜合算法中 ,形態(tài)濾波得到了有顯著失真的粗糙基漂 ,小波分解與重構(gòu)過(guò)程則實(shí)現(xiàn)了對(duì)粗糙基漂的平滑處理 。中值濾波 - 小波變換類(lèi)似形態(tài)濾波 ,中值濾波能夠粗略地提取基漂輪廓 ,但也產(chǎn)生了一種“臺(tái)階狀 ”失真 , 這是中值運(yùn)算所產(chǎn)生的截?cái)嗾`可首先用中值濾波提取粗糙的基漂信號(hào) ,然后用小波分解重構(gòu)方法再進(jìn)一步對(duì)基漂進(jìn)行平滑差 。原理類(lèi)似形態(tài)濾波與小波分解的綜合算法。擬合基線(xiàn)法原理基線(xiàn)擬合分為整體擬合和分段擬合兩種 。整體法是在得到全部參考點(diǎn)后再擬合基線(xiàn) , 不能實(shí)時(shí)實(shí)現(xiàn) 。分段擬合具有簡(jiǎn)潔 、快速的特點(diǎn) ,適用于實(shí)時(shí)場(chǎng)合 。李惠軍等

15、 對(duì)分段 3次函數(shù)校正和拋物線(xiàn)校正給出了較透徹的分析 ,由于其方法是在每個(gè)心拍的 TP段上選取一個(gè)參考點(diǎn)的坐標(biāo)及其導(dǎo)數(shù) ,故這里稱(chēng)其為“導(dǎo)數(shù)法 ”。為了更細(xì)致的刻畫(huà)基漂 ,也可每個(gè)心拍的 TP段上選取 3 個(gè)“基準(zhǔn)點(diǎn) ”坐標(biāo) ,不計(jì)算導(dǎo)數(shù) ,本文稱(chēng)之為“坐標(biāo)法 ”。直觀上 ,這 3點(diǎn)的最佳位置應(yīng)該是 : TP段起點(diǎn) (即本心拍的 T波終點(diǎn) ) , TP段終點(diǎn) (即下一個(gè)心拍的 P波起點(diǎn) ) , TP段的中點(diǎn) 。一方面 ,室性早搏等情況下不存在 P波 ;另一方面 ,由于噪聲的影響 , P波的準(zhǔn)確定位有時(shí)比較困難 。因此 ,為了提高可行性和可信度 ,這里根據(jù) R 波的峰點(diǎn)位置和 RR 間期來(lái)確定

16、TP段的 3 個(gè)插值點(diǎn)。幾種濾波方法中 , 綜合濾波算 法的 誤差( STD )最小 、SNR改善最多 ,但效果仍不理想 。究其原因 ,基漂是變化的 ,而濾波算法的自適應(yīng)性不強(qiáng)。形態(tài)運(yùn)算的時(shí)間消耗較大 ,而且結(jié)構(gòu)子越長(zhǎng) ,時(shí)耗越大 。結(jié)構(gòu)子長(zhǎng)度主要和信號(hào)的采樣率聯(lián)系 ,采樣率越大 ,則結(jié)構(gòu)子越長(zhǎng) 。因此 ,在實(shí)時(shí)性要求較高的場(chǎng)合 ,應(yīng)避免使用形態(tài)方法 。中值運(yùn)算需要進(jìn)行排序操作 ,時(shí)間消耗較大 ,因此中值濾波也不適合在實(shí)時(shí)場(chǎng)合使用 。改善的信噪比 ( SNR )和均方差 ( STD ) 成反相關(guān) ,即信噪比的改善越高 ,則輸出信號(hào)與理論信號(hào)的差別就越小 。線(xiàn)性相關(guān)系數(shù) r與改善的 SNR(或

17、STD )的變換趨勢(shì)并不完全一致 , 反映了兩個(gè)信號(hào)交流分量變化趨勢(shì)的一致性程度 ,而 STD則反映了兩個(gè)信號(hào)的差別大小 , SNR 反映了信號(hào)能量與噪聲能量的比值。3.2 快速中值濾波的應(yīng)用中值濾波是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線(xiàn)性信號(hào)處理技術(shù),被廣泛應(yīng)用于去除脈沖噪聲。自1970年被提出以來(lái) ,因其具有良好的邊緣保持特性和濾除脈沖噪聲的能力 ,被廣泛用于數(shù)字圖像處理。中值濾波的定義:信號(hào)()= 0,1,N-1),取長(zhǎng)度為 L = 2M + 1 (M 為正整數(shù))的濾波窗口,設(shè)在第 n時(shí)刻輸入信號(hào)序列在窗口中的采樣點(diǎn)為x (nM), ,X (r1),X(n+M)。此時(shí)的輸出為:y(

18、n) = medx(n) ,x(n) x(n+ )(1 .1-1 )其中,me d表示對(duì)窗口內(nèi)所有數(shù)按從小到大排序后取中值的運(yùn)算。由公式(1.1-1 )可以看出,中值濾波的主要運(yùn)算是對(duì)窗口內(nèi)的數(shù)據(jù)進(jìn)行排序,然后取中值,對(duì)分查找流程圖如圖3.1所示。圖3.1 對(duì)分查找所以對(duì)窗口內(nèi)數(shù)據(jù)的排序速度決定了中值濾波算法的處理速度。假設(shè)原始心電數(shù)據(jù)序列長(zhǎng) 度為N,表示為(X(0),X(1),X(N一1),濾波窗口長(zhǎng)度為2M+ l,表示為 (w (0),w (1),w (2M),中值濾波算法共需要N -2 M 次對(duì)長(zhǎng)度為2M+ 1的心電數(shù)據(jù)進(jìn)行排序。有序序列w中元素的刪除和內(nèi)插如圖3.2所示。由數(shù)據(jù)結(jié)構(gòu)中的

19、知識(shí)可知,對(duì)n個(gè)元素進(jìn)行排序時(shí),所需的比較次數(shù)在理論上 的最小:O (n log,r)。數(shù)據(jù)元素間的比較次數(shù)是影響排序速度的一個(gè)重要因素。 當(dāng)原始心電信號(hào)數(shù)據(jù)序列較長(zhǎng)或?yàn)V波窗口寬度較大時(shí),傳統(tǒng)中值濾波算法需要大量的計(jì)算時(shí)間。圖3.2 元素的刪除和內(nèi)插第4章 算法設(shè)計(jì)與編碼對(duì)脈搏波心率測(cè)量可以通過(guò)Matlab軟件設(shè)計(jì)算法,算法包括對(duì)脈搏數(shù)據(jù)通過(guò)圖形的方式顯示出來(lái),從圖形中可以直觀的看出脈搏的波形圖,并且可以觀察到每個(gè)波形的峰值,其峰值就是每次的心跳次數(shù)。這只是通過(guò)肉眼觀察到的數(shù)據(jù),那利用Matlab軟件可以準(zhǔn)確的將脈搏心跳次數(shù)顯示在屏幕上,這就需要對(duì)原始圖形進(jìn)行處理,處理思路就是將弧形脈搏波改變

20、為純凈的倒三角,最后通過(guò)一個(gè)計(jì)數(shù)函數(shù)對(duì)每個(gè)倒三角進(jìn)行個(gè)數(shù),并將所得值顯示在屏幕上。編碼設(shè)計(jì)與分析1脈搏波低通處理:該階段主要是對(duì)脈搏波波形進(jìn)行處理,主要設(shè)計(jì)了低通濾波function y=low_pass(x,f1,f3,rp,rs,Fs)和切比雪夫?yàn)V波器,最后可以通過(guò)plot()來(lái)查看濾波后的曲線(xiàn),設(shè)計(jì)代碼如下:function y=low_pass(x,f1,f3,rp,rs,Fs)%低通濾波%使用注意事項(xiàng):通帶或阻帶的截止頻率的選取范圍是不能超過(guò)采樣率的一半%即,f1,f3的值都要小于 Fs/2%x:需要帶通濾波的序列% f 1:通帶截止頻率% f 3:阻帶截止頻率%rp:邊帶區(qū)衰減DB

21、數(shù)設(shè)置%rs:截止區(qū)衰減DB數(shù)設(shè)置%FS:序列x的采樣頻率% rp=0.1;rs=30;%通帶邊衰減DB值和阻帶邊衰減DB值% Fs=2000;%采樣率%wp=2*pi*f1/Fs;ws=2*pi*f3/Fs;% 設(shè)計(jì)切比雪夫?yàn)V波器;n,wn=cheb1ord(wp/pi,ws/pi,rp,rs);bz1,az1=cheby1(n,rp,wp/pi);%查看設(shè)計(jì)濾波器的曲線(xiàn)h,w=freqz(bz1,az1,256,Fs);h=20*log10(abs(h);figure;plot(w,h);title('所設(shè)計(jì)濾波器的通帶曲線(xiàn)');grid on;y=filter(bz1,a

22、z1,x);%對(duì)序列x濾波后得到的序列yend2微分處理:該階段是對(duì)圖形變換處理,其目的主要在于準(zhǔn)確求出不規(guī)則電脈沖隨幅度變化的速率變化,通過(guò)常用的數(shù)學(xué)函數(shù)的微分變換,以及實(shí)現(xiàn)這種變換所用的微分器和實(shí)驗(yàn)裝置,在雙蹤示波器屏幕上能夠顯示出速率變化圖形。這種圖形,在醫(yī)學(xué)上對(duì)研究肌肉和神經(jīng)電脈沖是非常有用的。設(shè)計(jì)代碼如下:function diff2 = diff2( y1 )y2=low_pass(y1,100,500,0.1,30,4000);y3=diff(y2);diff2=diff(y3);figure(3);plot(diff2);end3.設(shè)定閥值:在進(jìn)行了一次微分后形成的脈搏波圖形中

23、有許多高低不齊的弧線(xiàn),為了便于計(jì)算脈搏心跳數(shù),需要設(shè)定一個(gè)閥值使成為一個(gè)純凈的倒三角,倒三角一個(gè)周期不存在唯一點(diǎn)能用>0或<0,到了設(shè)定閥值就需要調(diào)整。計(jì)算機(jī)通過(guò)識(shí)別倒三角的個(gè)數(shù)最終確定脈搏波心跳次數(shù)。設(shè)計(jì)代碼如下:for i=1:899;x2(i)=0; else if (x2(i)<0) x2(i)=x2(i); end endend;4.圖形輸出:在Matlab中對(duì)脈搏波圖形輸出語(yǔ)句有plot()和figure(),這兩個(gè)語(yǔ)句是成對(duì)出現(xiàn)的,將這兩個(gè)語(yǔ)句放在指定的位置就可以顯示相應(yīng)的圖形。設(shè)計(jì)代碼如下:figure(1);plot(x2);5.脈搏波心跳計(jì)數(shù):該過(guò)程是對(duì)處

24、理后的圖形進(jìn)行計(jì)算峰值個(gè)數(shù),通過(guò)兩次微分之后輸出的圖形如圖4.1所示,系統(tǒng)會(huì)根據(jù)圖形來(lái)作出判斷,當(dāng)遇到有0變?yōu)?的時(shí)候系統(tǒng)會(huì)調(diào)用計(jì)數(shù)器count_pulse,并且count_pulse值加一,在這之前需要設(shè)置一個(gè)范圍來(lái)去掉后期振蕩。設(shè)計(jì)代碼如下:%count0=0;%數(shù)0計(jì)數(shù)count_pulse=0;for i=1:898;%去掉后期振蕩 if x3(i)=0 && x3(i+1)<0; count_pulse=count_pulse+1; end end result=count_pulse; % 顯示結(jié)果 兩次微分圖第5章 設(shè)計(jì)結(jié)果與分析脈搏波心率測(cè)量算法設(shè)計(jì)目的脈

25、搏波心率測(cè)量算法設(shè)計(jì)是為了方便對(duì)人體心率的計(jì)算,是一種智能化的將人體心跳直觀的顯示出來(lái),在醫(yī)學(xué)方面提高了對(duì)心跳數(shù)據(jù)的處理,是可靠性很高的一種設(shè)計(jì)方發(fā)。它是在醫(yī)學(xué)方面很重要和復(fù)雜的工作,而對(duì)測(cè)量設(shè)計(jì)可靠性保證具有極其重要的意義。目前的條件下,脈搏波心率測(cè)量算法設(shè)計(jì)在未來(lái)相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)仍然是在醫(yī)學(xué)上很實(shí)用的方法。不足的設(shè)計(jì)會(huì)隱含著太多的錯(cuò)誤,過(guò)度的設(shè)計(jì)則浪費(fèi)人力物力。因此再設(shè)計(jì)算法的時(shí)候只是對(duì)脈搏圖形化并且能夠顯示心跳個(gè)數(shù)。脈搏波心率測(cè)量算法設(shè)計(jì)結(jié)果根據(jù)第四章的內(nèi)容可以將每個(gè)過(guò)程合并在一起,這樣就形成了對(duì)脈搏波心率測(cè)量的算法了,并將代碼放在test.m中,設(shè)計(jì)代碼如下:function res

26、ult=test(x)%有返回值 返回心跳次數(shù)x1=low_pass(x,100,500,0.1,30,4000); %脈搏波低通處理x2=diff(x1); %一次微分x2=x2(100:999);%去掉前期的振蕩figure(1);plot(x2);for i=1:899;x2(i)=0; else if (x2(i)<0) x2(i)=x2(i); end endend;x3=diff(x2); %二次微分 使=0 <0后 的點(diǎn)成為 標(biāo)定點(diǎn) figure(2);plot(x3);%count0=0;%數(shù)0計(jì)數(shù)count_pulse=0;for i=1:898;%去掉后期振蕩

27、if x3(i)=0 && x3(i+1)<0; count_pulse=count_pulse+1; end end result=count_pulse; % 顯示結(jié)果運(yùn)行結(jié)果:>>plot(x)>>test(x)ans= 6以上代碼就是計(jì)算心率的代碼,在執(zhí)行代碼之前還需要將原始脈搏波數(shù)據(jù)輸入到MATLAB中,并且設(shè)置變量為x,該代碼對(duì)所有輸入的脈搏波數(shù)據(jù)都可以進(jìn)行計(jì)算數(shù)。然后在MATLAB中輸入plot(x)函數(shù)就可以輸出脈搏波數(shù)據(jù)的原始圖形,如圖5.1所示: 脈搏波數(shù)據(jù)的原始圖形如果要計(jì)算脈搏波心跳次數(shù)則需要輸入函數(shù)test(x)來(lái)顯示出最

28、終的結(jié)果,其中還會(huì)輸出兩個(gè)類(lèi)似圖5.1的圖形,兩個(gè)圖形所表示的含義是第一次微分和第二次微分后圖形。第一次微分的圖形如圖5.2所示,它是經(jīng)過(guò)脈搏低通處理后,然后進(jìn)行一次微分,通過(guò)這個(gè)圖可以看出它原始圖相比較更能體現(xiàn)出脈搏的形狀。第二次微分的圖形如圖5.3所示,它是在第一次微分圖的基礎(chǔ)上在此進(jìn)行一次微分,發(fā)現(xiàn)改圖與第一次微分后的圖形峰值個(gè)數(shù)不相同,說(shuō)明有錯(cuò)誤,因此需要對(duì)程序進(jìn)行改變。 第一次微分圖 第二次微分圖的分析為了達(dá)到題目要求,要對(duì)test.m進(jìn)行改變。主要改變了在第一次微分后設(shè)置的閥值,并且在進(jìn)行第二次微分之前加了一個(gè)圖形輸出語(yǔ)句figure(10)、plot(x2),這樣就可以觀察修改完

29、閥值后的倒三角圖形,如圖5.4所示。function result=test(x)%有返回值 返回心跳次數(shù)x1=low_pass(x,100,500,0.1,30,4000); %脈搏波低通處理x2=diff(x1); %一次微分x2=x2(100:999);%去掉前期的振蕩figure(1);%輸出一次微分圖形plot(x2);for i=1:899;x2(i)=0; else if (x2(i)>0.7) end endend;figure(10);%輸出設(shè)完閥值后的圖形plot(x2);x3=diff(x2); %二次微分 使=0 <0后 的點(diǎn)成為 標(biāo)定點(diǎn) figure(2)

30、;%輸出二次微分后的圖形plot(x3);%count0=0;%數(shù)0計(jì)數(shù)count_pulse=0;for i=1:898;%去掉后期振蕩 if x3(i)=0 && x3(i+1)>0; count_pulse=count_pulse+1; end end result=count_pulse; % 顯示結(jié)果運(yùn)行結(jié)果:>>test(x)ans = 8 修改閥值后的倒三角 修改后的二次微分圖,從圖中可以看出它與原始圖的峰值個(gè)數(shù)相同,并且符合設(shè)計(jì)要求。將原始數(shù)據(jù)以圖形的方式顯示,在通過(guò)兩次微分后得到最終的圖形圖5.5。而計(jì)算心率通過(guò)count_pulse來(lái)計(jì)數(shù),然后對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論