一種基于體域網的心電感知診斷方法
【技術領域】
[0001] 本發(fā)明涉及心電感知系統領域,特別涉及一種基于體域網的心電感知診斷方法。
【背景技術】
[0002] 隨著科技的進步和人類文明的發(fā)展,人們越來越關注自身的健康和身體狀態(tài),基 于此,越來越多的體征感知檢測設備被制造出來,不僅僅在醫(yī)院,人們已經能夠通過佩戴的 心電感知設備,通過手機或其他顯示裝置,實時了解自己的心臟狀態(tài)等。
[0003] 然而目前心電感知領域雖然產品繁多,但因為采集精度及后期處理方法問題,常 存在信號干擾,失真,模糊等等各種缺點,結果往往不夠精確,還具有很大的提升空間。 [0004]因此,提供一種采集精度高,減少信號干擾,失真,模糊的缺點的心電感知系統就 變得尤為重要。
【發(fā)明內容】
[0005] 為解決上述現有技術的問題,本發(fā)明提供一種基于體域網的心電感知診斷方法, 能夠實現實時檢測用戶的心電相關數據,以評測客戶的健康狀態(tài),精細度高,準確高效,具 有很好的商業(yè)應用價值。
[0006] 為達到上述目的,本發(fā)明的技術方案為:
[0007] -種基于體域網的心電感知診斷方法,包括如下步驟:
[0008] 步驟一:硬件設備的連接
[0009] 模塊一端子接在左胸下方,另一端子接在右胸上方;并將USB心電采集設備的USB 接口與手機或pc相連接;
[0010] 步驟二:系統操作
[0011] 1)將系統壓縮包解壓到指定的文檔中,并點擊心電-ECG.exe,運行系統;
[0012] 2)點擊 Start 設備;
[0013] 3)點擊Connect,連接外部設備;
[0014] 4)待采集到的心電數據圖穩(wěn)定后,點擊Record,記錄并保存采集到的數據;
[0015] 5)采集數據完畢后點擊SStop,定制記錄數據;
[0016] 6)將采集到的數據保存到指定的位置;
[0017] 7)點擊"Diagnose",給出診斷結果;
[0018]步驟三:輸入/輸出文卷
[0019]提供被本運行建立、更新或訪問的數據文卷的有關信息,如:
[0020] I )E: \\Data\\MIT-BIH_Data 這是病例文件夾
[0021] 2)E: \\Data\\BMD101-Data這是心電采集記錄文件夾
[0022] 3)E:\\Data\\Data_Sink這是數據庫臨時緩沖文件
[0023]輸出結果文段。
[0024]進一步的,所述步驟二中心電數據的采集功能通過下述步驟實現:
[0025] 由前端心電信號放大濾波模塊放大后的心電信號直接送給LPC2478芯片的PO. 23 引腳進行A/D轉換,經轉換后的數據為無符號32位數據格式,將其放入緩存數組中送給USB 進行存儲,并留待給LCD顯示輸出,具體實現過程為:
[0026] 首先,需創(chuàng)建兩個數據緩存區(qū) "GcWritFileData[DATA_N]" 及 uGcReadFileData [DATA_N]"做為"寫文件緩沖區(qū)"及"讀文件緩沖區(qū)",初始化mC/OS II操作系統,創(chuàng)建用于處 理A/D轉換的任務TaskO及用于LCD顯示的任務Taskl,啟動多任務環(huán)境,在TaskO中首先進行 硬件平臺的初始化,設置PO. 23為AINO[0]功能,作為A/D轉換的輸入引腳,進行ADC模塊設 置,設置轉換時鐘等,采用直接啟動ADC轉換,進行轉換的參考電壓為精密恒壓源提供的 2.5V電壓,最后轉換結果保存至"寫文件緩沖區(qū)"。接著初始化USB HOST,并創(chuàng)建文件系統任 務"OSFileTask",用"OSFileOpen"函數創(chuàng)建并打開一個命名為"ECD.dat"的文件,通過 "OSFileWrite"函數將"GcWritFileData"寫文件緩沖區(qū)的數據寫入到磁盤中,并通過其返 回值判斷寫文件是否成功,完成寫文件后再使用"OSFileRead"函數將"GcWritFileData"寫 文件緩沖區(qū)的數據讀寫到"GcReadFileData"讀文件緩沖區(qū),再通過寫、讀文件緩沖區(qū)數據 的比較來確定寫入文件數據是否正確,至此,完成從A/D轉換接收數據及轉存至USB的過程。 然后通過我們的讀取程序將磁盤中的心電數據讀取即可。
[0027] 進一步的,所述步驟二中心電數據的診斷功能通過下述方法實現:
[0028]數據接口:從心電數據采集樣本數據;在軟件上進一步的處理,通過對采集的信號 進行濾波降噪處理,最后得到心電信號;
[0029] 低通濾波:
[0030] 特征提取算法:
[0031] PCA是主成分分析,主要用于數據降維,對于一系列例子的特征組成的多維向量, 多維向量里的某些元素本身沒有區(qū)分性,比如某個元素在所有的例子中都為1,或者與1差 距不大,那么這個元素本身就沒有區(qū)分性,用它做特征來區(qū)分,貢獻會非常小;所以我們的 目的是找那些變化大的元素,即方差大的那些維,而去除掉那些變化不大的維,從而使特征 留下的都是"精品",而且計算量也變小了;
[0032]對于一個k維的特征來說,相當于它的每一維特征與其他維都是正交的:相當于在 多維坐標系中,坐標軸都是垂直的,通過變化這些維的坐標系,從而使這個特征在某些維上 方差大,而在某些維上方差很小;一個45度傾斜的橢圓,在第一坐標系,如果按照X,y坐標來 投影,這些點的X和y的屬性很難用于區(qū)分他們,因為他們在x,y軸上坐標變化的方差都差不 多,我們無法根據這個點的某個X屬性來判斷這個點是哪個,而如果將坐標軸旋轉,以橢圓 長軸為X軸,則橢圓在長軸上的分布比較長,方差大,而在短軸上的分布短,方差小,所以可 以考慮只保留這些點的長軸屬性,來區(qū)分橢圓上的點,這樣,區(qū)分性比x,y軸的方法要好;
[0033]所以我們的做法就是求得一個k維特征的投影矩陣,這個投影矩陣可以將特征從 高維降到低維;投影矩陣也可以叫做變換矩陣;新的低維特征必須每個維都正交,特征向量 都是正交的;通過求樣本矩陣的協方差矩陣,然后求出協方差矩陣的特征向量,這些特征向 量就可以構成這個投影矩陣了;特征向量的選擇取決于協方差矩陣的特征值的大小。
[0034] 首先,在系統初始化的過程中,我們對MIT-BIH-Data病例文件進行預處理,方法如 下:
[0035] 第一步:讀取MIT-BIH-Data病例文,建立如下結構的病例表:
[0037]第二步:利用前文所述的特征提出算法提取病例表中的每條心電數據的特征信 息,得到特征信息病例表,表的結構如下(η遠小于M):
[0039]第三步:我們將心電數據空間劃分成多個互不交疊的超立方體,并給每個數據超 立方體分配一個唯一的編號(ID);所述的超立方體是如下的結構:
[0040]假設心電數據的特性信息共有η個數據,我們將這η個特征信息視為η維數據,那么 一個超立方體則包括η個區(qū)間[ai,bi),[a2,b2),···[Βη,?3η)和一個ID,其中區(qū)間[ai,bi)表示該 超立方體只存放第i個特征數據Cl 1滿足^dXb1的特征數據;
[0041 ]第四步:若一個特征數據D= (di,d2,…,dn)滿足di[ai,bi)and d2[a2,b2)and…and dn[an,bn),則將心電特征數據D歸并到該超立方體,并建立一個映射表,所述的映射表的結 構為:
[0043]第五步:去除空的超立方體,計算每個非空超立方體的質心坐標,并建立基于質心 坐標的數據超立方體索引表,所示的質心坐標就是求在同一個超立方體中的心電特征數據 的平均值;
[0045] 當數據采集模塊將采集到的心電數據經過降噪濾波之后發(fā)送到特征提取模塊,特 征提取模塊提取病人心電數據的特性信息;當用戶點擊"Diagnose"按鈕時,系統將這些特 征信息作為查詢條件,發(fā)送給遠程的數據庫服務器,服務器接收到查詢條件之后按如下的 方法診斷:
[0046] 第一步:服務器利用相似性度量公式,在數據超立方體索引表中尋找距離查詢條 件最近的K個質心坐標對應的超立方體的ID號,并返回這些ID號;
[0047] 第二步:在映射表中找出