基于matlab的心電信號分析_第1頁
基于matlab的心電信號分析_第2頁
基于matlab的心電信號分析_第3頁
基于matlab的心電信號分析_第4頁
基于matlab的心電信號分析_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)信息處理課程設(shè)計說明書題目: 基于matlab的心電信號分析 學(xué)院(系): 年級專業(yè): 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 燕山大學(xué)課程設(shè)計(論文)任務(wù)書院(系): 基層教學(xué)單位: 學(xué) 號學(xué)生姓名專業(yè)(班級)設(shè)計題目基于matlab的心電信號分析設(shè)計技術(shù)參數(shù)心電信號波形、頻譜,濾波器參數(shù),濾波后時域波形、頻譜設(shè)計要求(1)利用matlab對mit-bih數(shù)據(jù)庫提供的數(shù)字心電信號進(jìn)行讀取,并還原實際波形。(2)對原始心電信號做線性插值。(3)對處理前后的心電信號分別做頻譜分析。利用matlab軟件對處理前后的心電信號編程顯示其頻譜,分析比較濾波前后的頻譜,得出結(jié)論。工作量1. 學(xué)習(xí)使用mat

2、lab軟件2. 使用matlab軟件編寫程序3. 完成實習(xí)報告工作計劃周一,查閱資料;周二到周四,理論設(shè)計、計算機(jī)程序設(shè)計;周五,撰寫設(shè)計說明書參考資料1 丁玉美.數(shù)字信號處理(第二版).西安電子科技大學(xué)出版社,20012 吳大正. 信號與線性系統(tǒng)分析(第四版). 高等教育出版社,2005,83 謝嘉奎. 電子線路-線性部分(第四版). 高等教育出版社,2003,24 陳后金. 信號分析與處理實驗. 高等教育出版社,2006,8指導(dǎo)教師簽字基層教學(xué)單位主任簽字說明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。2014年12月 01日 摘要心電信號是人們認(rèn)識最早、研究最早的人體生理電

3、信號之一。目前心電檢測已經(jīng)成為重要的醫(yī)療檢測手段,但是心電信號的相關(guān)試驗及研究依然是醫(yī)學(xué)工作者和生物醫(yī)學(xué)工程人員的重要議題。信號處理的基本概念和分析方法已應(yīng)用于許多不同領(lǐng)域和學(xué)科中,尤其是數(shù)字計算機(jī)的出現(xiàn)和大規(guī)模集成技術(shù)的高度發(fā)展,有力地推動了數(shù)字信號處理技術(shù)的發(fā)展和應(yīng)用。心電信號是人類最早研究并應(yīng)用于醫(yī)學(xué)臨床的生物電信號之一,它比其他生物電信號便易于檢測,并具有較直觀的規(guī)律性,對某些疾病尤其是心血管疾病的診斷具有重要意義。它屬于隨機(jī)信號的一種,用數(shù)字信號處理的方法和matlab軟件對其進(jìn)行分析后,可以得到許多有用的信息,對于診斷疾病有非常重要的參考價值。本課題基于matlab對心電信號做了簡

4、單的初步分析。直接采用matlab語言編程的靜態(tài)仿真方式、對輸入的原始心電信號,進(jìn)行線性插值處理,并通過matlab語言編程設(shè)計對其進(jìn)行時域和頻域的波形頻譜分析,根據(jù)具體設(shè)計要求完成程序編寫、調(diào)試及功能測試,得出一定的結(jié)論。關(guān)鍵詞: matlab 心電信號 線性插值 頻譜分析目錄一:課題的目的及意義.1二:設(shè)計內(nèi)容與步驟1 1心電信號的讀取.1 2對原始心電信號做線形插值.3 3設(shè)計濾波器.5 4對心電信號做頻譜分析.6三:總結(jié)7四:附錄8五:參考文獻(xiàn).12一:課題目的及意義心電信號是人類最早研究并應(yīng)用于醫(yī)學(xué)臨床的生物信號之一,它比其它生物電信號更易于檢測,并且具有較直觀的規(guī)律性,因而心電圖分

5、析技術(shù)促進(jìn)了醫(yī)學(xué)的發(fā)展。然而,心電圖自動診斷還未廣泛應(yīng)用于臨床,從國內(nèi)外的心電圖機(jī)檢測分析來看,自動分析精度還達(dá)不到可以替代醫(yī)生的水平,僅可以為臨床醫(yī)生提供輔助信息。其主要原因是心電波形的識別不準(zhǔn),并且心電圖診斷標(biāo)準(zhǔn)不統(tǒng)一。因此,探索新的方法以提高波形識別的準(zhǔn)確率,尋找適合計算機(jī)實現(xiàn)又具診斷價值的診斷標(biāo)準(zhǔn),是改進(jìn)心電圖自動診斷效果,擴(kuò)大其應(yīng)用范圍的根本途徑。如何把心電信號的特征更加精確的提取出來進(jìn)行自動分析,判斷出其異常的類型成了亟待解決的焦點問題。本課題通過matlab語言編程,對原始心電信號進(jìn)行一定的分析處理。二:設(shè)計內(nèi)容與步驟1.心電信號讀取美國麻省理工學(xué)院提供的mit-bih數(shù)據(jù)庫是一

6、個權(quán)威性的國際心電圖檢測標(biāo)準(zhǔn)庫,近年來應(yīng)用廣泛,為我國的醫(yī)學(xué)工程界所重視。mit-bih數(shù)據(jù)庫共有48個病例,每個病例數(shù)據(jù)長30min,總計約有116000多個心拍,包含有正常心拍和各種異常心拍,內(nèi)容豐富完整。為了讀取簡單方便,采用其txt格式的數(shù)據(jù)文件作為我們的源心電信號數(shù)據(jù)。利用matlab提供的文件textread或textscan函數(shù),讀取txt數(shù)據(jù)文件中的信號,并且還原實際波形。txt格式的心電數(shù)據(jù)文件如下:其中文件的第一列為采樣時間,第二列是在以mlii這種導(dǎo)聯(lián)方式所得到的采樣數(shù)據(jù),第三列式以v5這種導(dǎo)聯(lián)方式所得到的采樣數(shù)據(jù),全文件記錄了約為10s的心電數(shù)據(jù),3600個采樣數(shù)據(jù),每

7、一行數(shù)據(jù)之間用tab符分隔。 由于數(shù)據(jù)文件中后兩列數(shù)據(jù)是對同一種心電信號進(jìn)行不同的導(dǎo)聯(lián)方式所得到的采樣數(shù)據(jù),所以可以只采用其中的一種采樣數(shù)據(jù),摒棄另外一種,即可完成對此心電信號的分析。全部的心電文件記錄時間約為10s,共計12個左右周期的心電信號。實際設(shè)計心電信號數(shù)據(jù)文件時應(yīng)注意:(1)數(shù)據(jù)文件的前兩行為解釋說明文字,不是真正的信號數(shù)據(jù),讀取信號程序要能夠自動忽略前兩行文字,只讀取真正的數(shù)字信號數(shù)據(jù)(嚴(yán)禁自己手動刪除源心電數(shù)據(jù)文件中的前兩行數(shù)據(jù),必須通過程序來實現(xiàn)忽略前兩行文字的目的)。 (2)利用數(shù)組函數(shù)分別將文件的前兩個列分別讀入一個一維數(shù)組。(3)最后利用已經(jīng)轉(zhuǎn)為數(shù)值的分別代表心電信號時

8、間和幅值的兩個一維數(shù)組,圖形化還原原始心電信號波形,在此推薦利用利用plot(x,y)函數(shù)對數(shù)據(jù)做圖形化顯示。2.對原始心電信號做線性插值由于原始心電信號數(shù)據(jù)并不是由等間隔采樣而得到的,也就是說原始的心電數(shù)據(jù)并不是均勻的,但是后面肯定要用到數(shù)字濾波器對心電信號做處理,而matlab中用數(shù)字濾波器被處理的數(shù)據(jù)應(yīng)該都是等間隔的,否則處理后會出現(xiàn)偏差,因此首先對原始心電信號要做的就是做一個線性插值處理,使其變?yōu)榈乳g隔的數(shù)據(jù)。根據(jù)心電信號的特點, 把時間分隔成0.001s。添加的幅值點采用一次線性插值。對二維數(shù)據(jù)進(jìn)行插值,相連幅值間數(shù)據(jù)的插值根據(jù)時間進(jìn)行。其中:時數(shù)組 依次排列,即得到了插值后等間隔的

9、新數(shù)據(jù)。根據(jù)上文中提到的插值公式,以此為原理,設(shè)計matlab程序,對心電信號數(shù)據(jù)做線性插值處理。插值完以后的數(shù)據(jù)應(yīng)該是時間均勻的、以0.001秒為間隔的。此步驟的實現(xiàn)主要是基于matlab中的數(shù)組操作函數(shù)來實現(xiàn)。 其中一種插值方法的思路是:將第一步中讀取的心電信號數(shù)據(jù)的時間數(shù)據(jù)和幅值數(shù)據(jù)分別存放在一個一維數(shù)組中。然后利用for循環(huán)結(jié)構(gòu)把所有數(shù)據(jù)依次讀取進(jìn)來。判斷時間數(shù)據(jù)數(shù)組中前后兩個相鄰的數(shù)據(jù)間隔是否為0.001s,如果是則判斷下一對相鄰兩個數(shù)據(jù);如果間隔大于0.001s則進(jìn)行一維插值做處理。 注意:對時間數(shù)據(jù)做插值的同時一定不要忘記對幅值數(shù)據(jù)同樣做插值處理,時間數(shù)據(jù)和幅值數(shù)據(jù)一定是相互對應(yīng)

10、的。3.設(shè)計濾波器一般正常人的心電信號頻率在0.7100hz范圍內(nèi),幅度為10v(胎兒)5mv(成人)。人體心電信號微弱,信噪比小,因此,在采集心電信號時,易受到儀器、人體活動等因素的影響,而且所采集的心電信號常伴有干擾。采集心電數(shù)據(jù)時,由于人的說話呼吸,常常會混有約為0.1hz到0.25hz頻段的干擾,對于這些低頻干擾,可以讓信號通過一個高頻濾波器,低截止頻率設(shè)置為0.25,來濾波低頻信號,對于高頻信號干擾,可以讓信號再通過一個低頻濾波器,其中截止頻率設(shè)置為99hz。4.對心電信號做頻譜分析利用matlab軟件對處理前后的心電信號編程顯示其頻譜,分析比較濾波前后的頻譜,得出結(jié)論。如果分析頻譜

11、,濾波效果不明顯,則需變動濾波器參數(shù)指標(biāo),重新設(shè)計濾波器。通過頻譜分析,多次試驗確定最合適的濾波器。三:總結(jié)通過一周的計算機(jī)信號處理的課程設(shè)計,我先在圖書館里查找了相關(guān)的書籍,如matlab類的編程書籍,各類數(shù)據(jù)處理類的書籍,即豐富了自己的知識范圍,又對與自己所學(xué)的知識有了更深的了解和認(rèn)識,同時也對它的應(yīng)用有了一個大體的認(rèn)識。這樣將會更加激勵我好好學(xué)習(xí)相關(guān)的知識,不斷的將所學(xué)的知識用于實踐。于實踐中牢牢的掌握它。在設(shè)計的過程中,我也認(rèn)識到了自己所學(xué)知識的不足。這也讓我再次認(rèn)識到知識是無盡的,只有不斷的充實自己、完善自己的知識理論體系,才能夠更好的勝任自己以后的工作。設(shè)計過程中知識的不足也讓我更

12、加堅定了終身學(xué)習(xí)的決心。在設(shè)計的過程中,我也得到了很多同學(xué)和老師的幫助。這也加強(qiáng)了我與其他同學(xué)合作的能力。查找資料的過程中我也增強(qiáng)自己學(xué)習(xí)的能力,這些都將讓我在以后的學(xué)習(xí)、生活和工作中受益匪淺??傊?,對于這樣的課程設(shè)計活動,我收獲了很多東西,也將使我在以后的學(xué)習(xí)、工作中更加輕松和積極。這也正是參加這次活動的目的和意義。四:附錄(程序)function t,xn=duquexinhao1(w)fid=fopen(w);c=textscan(fid,%8c %f %*f,headerlines,2);%去除前兩行fclose(fid);a=c2;b=c1;k=length(b);for i=1:k

13、 c(i)=strread(b(i,:),%*s %f,delimiter,:);endc=c;d=c,a;t=d(:,1); %時間xn=d(:,2); %幅度%線性插值function t3,xn3=xianxingchazhi(t,xn)m=max(t);t3=0:0.001:m;t3=t3;xn3=interp1(t,xn,t3);%保存插值前的信號function baocun1(t,xn)fid = fopen(t.txt,wt);fprintf(fid,%gn,t); fclose(fid);fid = fopen(xn.txt,wt);fprintf(fid,%gn,xn);

14、fclose(fid);%保存插值后的信號function baocun2(t1,xn1)fid = fopen(t1.txt,wt);fprintf(fid,%gn,t1); fclose(fid);fid = fopen(xn1.txt,wt);fprintf(fid,%gn,xn1); fclose(fid); %畫初始信號和即插值后信號頻譜function keshehuatu(t,xn,t1,xn1)f=1000;t=1/f;m=1:length(xn);k1=length(xn1);m1=1:k1;q=f*m/length(xn);q1=f*m1/k1;subplot(2,2,1)

15、plot(t,xn)title(初始信號時域波形)subplot(2,2,2)y=fft(xn);plot(q,abs(y)title(初始信號頻譜)subplot(2,2,3)axis(0,1000,0,1000)plot(t1,xn1)title(插值信號時域波形)y1=fft(xn1);subplot(2,2,4)axis(0,1000,0,5000)plot(q1,abs(y1)title(插值信號頻譜)%低通濾波器function h,f=kesheditonglvboqi(wp,ws,rp,as,xn1)t=0.001;f=1/t;n,wc=buttord(wp,ws,rp,as,

16、s);b,a=butter(n,wc,s);f=(0:length(xn1)-1)*f/length(xn1);w=f*2*pi;h=freqs(b,a,w);%高通濾波器function h,f=keshegaotonglvboqi(wp,ws,rp,as,xn1)t=0.001;fs=1/t;n,wc=buttord(wp,ws,rp,as,s);b,a=butter(n,wc,high,s);f=(0:length(xn1)-1)*fs/length(xn1);w=f*2*pi;h=freqs(b,a,w);%帶阻濾波器function h,f=keshedaizulvboqi(wp,w

17、s,p,s,xn1)t=0.001;f=1/t;n,wc=buttord(wp,ws,p,s,s);b,a=butter(n,wc,stop,s);f=(0:length(xn1)-1)*f/length(xn1);w=f*2*pi;h=freqs(b,a,w);主函數(shù)如下將信號通過低通、高通、帶阻濾波器程序t,xn=duquexinhao1(117.txt);baocun1(t,xn) %保存讀取信號t1,xn1=xianxingchazhi(t,xn);baocun2(t1,xn1)%保存插值后信號xy=t1,xn1; %仿真輸入二維數(shù)組figure(1)keshehuatu(t,xn,t

18、1,xn1) %畫原始信號和插值后信號波形和頻譜wp=90*2*pi; %低通濾波器濾波ws=99*2*pi;p=1;s=35;h1,f=kesheditonglvboqi(wp,ws,p,s,xn1); wp=4*2*pi; %高通濾波器濾波ws=0.25*2*pi;p=1;s=35;h2,f=keshegaotonglvboqi(wp,ws,p,s,xn1);wp=58,62*2*pi; %帶阻濾波器ws=59.9,60.1*2*pi;h3,f=keshedaizulvboqi(wp,ws,p,s,xn1);h=abs(h1).*abs(h2).*abs(h3); %低通和高通和帶阻組合的濾波器y=h.*abs(fft(xn1); %經(jīng)過濾波后心電信號頻譜y=ifft(y); %濾波后心電信號時域波形figure(2)subplot(2,2,1)plot(f,abs(h1)axis(0,150,0,1.5)title(低通濾波器)subplot(2,2,2)plot(f,abs(h2)axis(0,50,0,1.5)title(高通濾波器)subplot(2,2,3)plot(f,abs(h3)axis(0,150,0,1.5)title(帶阻濾波器)subplot(2,2,4)plot(f,abs(h)axis(0,100,0,1.

溫馨提示

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

評論

0/150

提交評論