在單片機(jī)上和模糊邏輯檢測室性早博 作者: 時間:2007-03-09 來源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢 收藏 摘要:在基于單片機(jī)8051的心電監(jiān)護(hù)模塊中,用模糊邏輯檢測室性早博,使心電監(jiān)護(hù)模塊功能得到擴(kuò)展。 關(guān)鍵詞:心電監(jiān)護(hù) 模糊邏輯 數(shù)字單片機(jī) 現(xiàn)代多參數(shù)監(jiān)護(hù)儀普遍采用模塊化模塊,每個模塊都是能完成單功能的獨(dú)立微處理機(jī)系統(tǒng),多個模塊通過串行口接收主控制器命令,送出測量結(jié)果。心電監(jiān)護(hù)模塊是其中的關(guān)鍵部件,其在單片機(jī)控制下拾取心電信號,放大、預(yù)處理,并傳送給主控模塊。 室性早博(PVC)是一種最常見的心律失常,它的實(shí)時,正確檢測是心電圖自動分析的一項(xiàng)重要技術(shù)。在心電監(jiān)護(hù)的基礎(chǔ)上,加入心博和節(jié)律分類功能,便可進(jìn)行心律失常監(jiān)護(hù)。室性早博檢測一般在高端的心律失常分析模塊中進(jìn)行。目前單片機(jī)的功能不斷增強(qiáng),過去主要用作控制器的單片機(jī),在完成原來的任務(wù)后,尚剩余不少CPU時間和控制功能,完全有可能實(shí)現(xiàn)一些過去只能在PC機(jī)上運(yùn)行的復(fù)雜算法,而且用匯編語言編程提高運(yùn)行速度。 模糊系統(tǒng)是模糊集合論和模糊邏輯的具體應(yīng)用,它模擬人腦思維決策的能力,特別適用于數(shù)字模型難以精確表示的不確定系統(tǒng)。醫(yī)學(xué)決策系統(tǒng)中的許多信息都是不確定的,例如心電信號中的大量特片信息,適合用模糊推理的方法進(jìn)行處理。筆者的實(shí)驗(yàn)室采用模糊邏輯識別室性早博,效果較好。 筆者在基于8051的心電模塊中移植上述算法,實(shí)現(xiàn)室性早博檢測。在模糊單片機(jī)上進(jìn)行模糊控制或推理非常方便。在數(shù)字單片機(jī)上實(shí)現(xiàn),關(guān)鍵是怎樣存儲表達(dá)隸屬度函數(shù)和模糊規(guī)則,以及怎樣實(shí)現(xiàn)推理。1 隸屬度函數(shù)、模糊規(guī)則和模糊推理方法 使用RR間期、R波寬度和面積、T波的面積和峰值這五個形態(tài)參數(shù)描述一個QRS波。室性早博的典型形態(tài)特片表現(xiàn)為RR間期較小,R波寬度大、面積大,T波寬度大、峰值大。經(jīng)過統(tǒng)計和實(shí)驗(yàn)確定的隸屬度函數(shù)如圖1所示。 圖1中橫軸表示論域,縱軸表示隸屬度。每個輸入語言變量定義?。⊿)、中(M)、大(L)、特大(XL)四個語言變量值。隸屬度函數(shù)為三角形或半梯形。 模糊規(guī)則共有32條,部分規(guī)則如表1所示。其中17條判決“是PVC”,15條判決“可能是PVC”,--表示不考慮該參數(shù)的影響。表1 模糊規(guī)則 RR間期R波面積R波的寬度T波面積T波峰值結(jié)論XLXL------是PVCXL--XL----是PVCMLXLXLL是PVCMLLXLL是PVC…L----XL--可能是PVC--XLXLXLL可能是PVCM----XLL可能是PVCLSM--M可能是PVC在數(shù)字單片機(jī)上實(shí)現(xiàn)模糊控制一般采用三種方式:強(qiáng)度轉(zhuǎn)移方式、直接查表方式和公式計算方式。直接查表方式通過事先的離線計算,得到一張模糊控制表,將控制表存放在計算機(jī)機(jī)內(nèi)存中;控制過程中,根據(jù)輸入變量查找表中對應(yīng)的控制量。在一般的控制應(yīng)用中,這種方法速度最快。但本系統(tǒng)中輸入變量較多(5個),模糊控制表維數(shù)高,存儲、查表均不方便。強(qiáng)度轉(zhuǎn)移方式是按模糊控制的極大-極小法進(jìn)行推理。每個輸入?yún)?shù)映射為多個隸屬度,每組輸入會激活多條規(guī)則,可能對應(yīng)不同的結(jié)果。用取小的原則計算各組合對應(yīng)規(guī)則的輸出強(qiáng)度,然后按最大隸屬度原則得出對應(yīng)于各結(jié)論的可信度。這樣,對于每一個輸入,都可得出與各結(jié)論相對應(yīng)的輸出強(qiáng)度,稱為輸出隸屬度,取輸出強(qiáng)度最大的那個隸屬度作為輸出。實(shí)驗(yàn)結(jié)果表明,這種方法對本系統(tǒng)最為合適。 2 強(qiáng)度轉(zhuǎn)移法在單片機(jī)8051上的實(shí)現(xiàn) 2.1 隸屬度函數(shù)的存放 由于數(shù)字單片機(jī)只能存儲和處理數(shù)字信息,且單片機(jī)的內(nèi)存容量有限,如果要對系統(tǒng)輸入輸出論域的所有隸屬函數(shù)的連續(xù)曲線進(jìn)行存儲,是根本不可能的。對于三角形隸屬函數(shù),采用三點(diǎn)法,存儲三角形的三個頂點(diǎn);對于兩邊的半梯形,也存儲腰和頂?shù)娜c(diǎn)。隸屬度函數(shù)存放在ROM中,如表2所示(僅列出RR,其余類推)。表2 隸屬度函數(shù)存放示意圖 地 址隸屬度函數(shù)模糊值模糊變量1C00H0.00.81.0SRR1C03H0.81.01.4M 1C06H1.01.42.5L 1C09H1.42.53.0XL 2.2 輸入模糊化 提取的特片參數(shù)是精確值,將它們與隸屬函數(shù)進(jìn)行比較組合,求出相應(yīng)的模糊輸入量。隸屬度范圍為0~1,在8位機(jī)上可表示為00H~FFH。對本系統(tǒng)而言,每個精確輸入值最多只對應(yīng)兩個模糊輸入量大于零,其余的模糊輸入量則為零。例如:假設(shè)RR=1.1,從表2可知它落在中(M)和大(L)兩個區(qū)間上,因此對于中(M)和大(L)的隸屬度為: μm(1.1)=(1.4-11.1)/(1.4-1.0)%26;#215;FFH=BFH μl(1.1)=(1.1-1.0)/(1.4-1.0)%26;#215;FFH=3FH 在RAM中開辟一塊區(qū)域,存放各模糊輸入量,如表3所示。表3 模糊輸入量存放示意圖 地 址隸屬度模糊值模糊變量D0H00HSRRD1HBFHM D2H3FHL D3H00HXL 2.3 模糊規(guī)則的存放 模糊規(guī)則表示為:IF A and B and C and D and E THEN Y(or Z) 其中“IF”后緊接著的詞稱前件,中“THEN”后面的詞稱后件。首先將輸入的模糊值S、M、L、XL分別與數(shù)字0、1、2、3相對應(yīng),即: RR、RA、RW、TA、TH:S=0,M=1,L=2,XL=3 每條規(guī)則用三字節(jié)表示。第一字節(jié)高四位表示第一前件的模糊值,低四位表示第二前件的模糊值;第二字節(jié)高四位表示第三前件,低四位第四前件;第三字節(jié)高四位表示第五前件,低四位表示后件。其中,F(xiàn)表示不考慮該前件,A表示“是PVC”,B表示“可能是PVC”。以第一條規(guī)則(存放在ROM中)為例,如表4。表4 模糊規(guī)則存放示意圖 地 址數(shù) 據(jù)意 義 1D00H33H第一條規(guī)則第一前件,第二前件1D01HFFH第一條規(guī)則第三、第四前件不考慮1D02HFAH第一條規(guī)則第五前件不考慮,后件為“是”2.4 模糊推理和輸出 對于一組模糊輸入,遍邊每一條模糊規(guī)則。取第一條規(guī)則第一前件(3H)作為地址偏移量,加上模糊輸入RR在RAM中存放的首地址(40H),則可從RAM內(nèi)RR存放區(qū)域中查找出XL的隸屬度A1;取第一條規(guī)則第二前件(3H)作為地址偏移量,加上模糊輸入RA在RAM中存放的首地址(44H),則可從RAM內(nèi)存放區(qū)域中查找出XL的隸屬度B1:依此類推著隸屬度C1、D1、E1。根據(jù)強(qiáng)度轉(zhuǎn)移法,取A1、B1、C1、D1、E1中最小值作為該規(guī)則后件所取的語言變量“是PVC”的隸屬度Y1。當(dāng)所有規(guī)則都遍歷后得到:“是PVC”的屬度Y1 Y2~Ym,“可能是PVC”的隸屬度Z1 Z2~Zn。取Y1 Y2~Y的最大值作為“是PVC”的隸屬度Y,取Z1 Z2~Zn的最大值作為“可能是PVC”的隸屬度Z。如果Y<7FH且Z<7FH,則輸出“正?!保蝗绻鸜>Z,輸出“是PVC”;如果Z>Y,輸出“可能是PVC”。 本文討論了在數(shù)字單片機(jī)中進(jìn)行模糊推理的方法,實(shí)現(xiàn)在心電監(jiān)護(hù)模塊中用模邏輯檢測室性早博,使心電監(jiān)護(hù)模塊功能得到擴(kuò)展。室性早博檢測結(jié)果和心電波形數(shù)據(jù)一起傳給上位機(jī),進(jìn)行心律失常的進(jìn)一步分析。
評論