以LabVIEW為軟件平臺,以NIPCI 6251高精度數據采集卡為主要硬件,設計了一種基于中國人典型心電數據庫的心電信號發生器,可以在輸出心電信號的同時顯示心電信息的注釋,包括波形參數和診斷結果,可作為心電自動檢測分析儀器的重要輔助工具。
引用本文: 王玉婷, 王曉飛, 李冬賞, 劉桂禮. 基于典型心電數據庫的心電信號發生器設計. 生物醫學工程學雜志, 2016, 33(1): 97-100. doi: 10.7507/1001-5515.20160018 復制
引言
心電圖(electrocardiogram,ECG)是心血管疾病診斷中最普遍采用的方法和臨床工作中最基礎的檢查工具之一。但是,傳統的心電信號發生器產生的模擬心電信號不能體現臨床情況[1-3]。基于大規模人群數據庫的心電信號發生器雖能解決這一問題[4],但目前的研究都是在基于歐美人群的心電數據庫基礎上展開,不同種族、年齡、性別的ECG差距較大[5-7],因此歐美人群的心電數據并不能體現出亞洲人心電情況的特質[8]。基于此建立中國人的典型心電數據庫,并利用LabVIEW設計基于中國人典型心電數據庫的虛擬心電信號發生器,使該心電信號發生器能夠體現中國人體質的心電信號臨床特征。
1 典型心電數據庫
目前國際上常用的四大心電數據庫分別是:麻省理工學院-貝斯以色列醫院(Massachusetts Institute of Technology-Beth Israel Hospital,MIT-BIH)數據庫[9]、美國心臟協會(American Heart Association,AHA)數據庫、歐共體(Community System of Europe,CSE)多導聯數據庫和歐盟ST段和T波(ST-T)數據庫。MIT-BIH數據庫由很多子數據庫組成,每個子數據庫包含特定類型的心電記錄,其中MIT-BIT心律不齊數據庫和MIT-BIT QT數據庫應用最廣。四大數據庫中,MIT-BIH數據庫可作為實驗數據的來源和各類識別算法的檢測標準;AHA心律失常心電數據庫多用于評價室性心律不齊探測器的檢測效果;CSE心電數據庫采用12或15導聯采集,記錄了1 000例短時間的心電數據,主要開發目的是評價心電圖自動分析儀的性能;ST-T數據庫則用于評價ST段和T波檢測算法[10]。
中國人典型心電數據庫采集了來自全國各地的12 000余份普通心電圖及124份動態心電圖,由權威醫生進行標注診斷并經篩選分類,除正常心電圖外,目前還搜集到包括早搏、心室肥大在內的共113例、22類異常心電圖,今后還將陸續采集到其它數據作為補充。
美國國家心臟、肺和血液研究所(national heart,lung,and blood institue,NHLBI)建議[11]:“采集到的心電數據應該至少是12導聯采集,且時間在10 s以上,采樣頻率大于500 Hz,具有完整特征標注信息及采集人基本信息”。如表1所示,MIT-BIH及ST-T數據庫的導聯數量及采樣率均不滿足NHLBI要求[12],AHA數據庫的采樣頻率也僅有250 Hz,而CES數據庫沒有診斷結果,無特征標注信息[13]。相比之下中國人典型心電數據庫滿足NHLBI建議,且能夠代表中國人心電信號的特性。因此本文在中國人典型心電數據庫基礎上設計心電信號發生器。

因該典型心電數據庫建立在SQL Server平臺下,故本文首先使用SQL Server語言建立數據庫并建立了四張表:“病人信息2”、“結論模板”、“診斷種類”及“心電圖”。其中“病人信息2”表內包括了病人基本信息:ID號、姓名、性別、年齡、出生日期、醫院、科室、醫生、采集號、采集日期和心率、PR期間及QRS時限等波形參數;"心電圖"表內包含原始數據及其保存路徑。
2 心電信號發生器設計
2.1 系統結構
利用LabVIEW設計一個虛擬心電信號發生器,由數據訪問、數據處理和信號輸出三部分組成。利用人機交互界面選擇對數據庫內容進行訪問,通過與中國人典型心電數據庫交互獲得心電波形數據、測量參數和診斷結果[14],將獲取到的心電信號經處理后由PCI-6251板卡輸出,具體原理框圖如圖1所示。

2.2 訪問數據庫
利用LabVIEW SQL Toolkit可以訪問Windows操作系統中包括Access、SQL Sever、Pervasive、Orcale在內的任何基于開放數據庫互連(open database connectivity,ODBC)驅動的數據庫。ODBC建立了一組針對數據庫訪問的應用程序編程接口,通過SQL編程語句可以完成對數據庫訪問、讀取及編寫等功能。
LabVIEW本身不具備數據庫訪問功能[15],本文使用NI公司附加工具包LabVIEW SQL Toolkit對基于Access平臺下的典型心電數據庫進行訪問,基本過程如圖2所示。

利用LabVIEW SQL Toolkit訪問數據庫最有效的方法是利用ODBC驅動訪問數據庫[16]。在運行LabVIEW程序之前需要在Windows操作系統管理工具中建立基于SQL server的數據源,本文將這個數據源命名為“心電”,ID為“典型心電數據庫”,并設置合理的連接密碼。“xindian”是在ODBC數據源中為Access數據庫配置的用戶名稱(data
source names,DSN),如圖2所示,利用DB Tools Open Connection.vi建立了與指定數據源“xindian”之間的連接。心電信號發生器需要讀取典型心電數據庫中心電波形數據、測量參數和診斷結果,其中測量參數包括心率、PR間期等數據。利用DB Tools Select Data.vi,以心電圖在數據庫中的編號為判斷條件,讀取數據庫中“病人信息2”及“心電圖”兩個表內的數據。在中國人典型心電數據庫中,波形數據保存在“心電圖”表的“Wavedata”列下,心電波形數據是長二進制數據,不能直接讀取,將其保存為后綴.dat的二進制文件,文件命名規則為“編號+ECGwave.dat”。 診斷結果和心電波形參數數據也保存為二進制文件,命名規則為“編號+ECGdata.dat”。訪問數據源結束后,通過DB Tools Open Connection.vi可斷開與數據源“xindian”的連接,結束對數據庫的訪問。
2.3 數據處理
中國人典型心電數據庫中包含普通心電圖和動態心電圖兩種心電數據。
普通心電圖每條記錄時長10 s,共5 000個點,每個點占2個字節,普通心電圖的“**ECGwave.dat”文件中實際只保存了8個導聯數據,分別按Ⅰ、Ⅱ、Ⅴ1、Ⅴ2、Ⅴ3、Ⅴ4、Ⅴ5、Ⅴ6導聯順序存儲在心電圖數據文件中。缺失的Ⅲ、aVR、aVL、aVF導聯的波形數據可通過Einthoven公式計算出,計算式如下式:
$Ⅲ=Ⅱ-Ⅰ$ |
$aVR=-\frac{Ⅱ-Ⅰ}{2}$ |
$aVL=-\frac{Ⅰ-Ⅱ}{2}$ |
$aVF=-\frac{Ⅱ-Ⅰ}{2}$ |
動態心電圖又稱為Holter心電圖,可連續記錄24 h心電活動的全過程。在典型心電數據庫中只存儲了由權威醫生選取的10 s波形異常形態明顯的Holter心電圖數據,這些數據包含了12導聯心電圖數據,采樣頻率為500 Hz,每個點占2個字節。將“**ECGwave.dat”文件作為二進制文件讀取后把心電圖波形數據轉換為雙字節整形數組,普通心電圖每導聯數據占數據文件的八分之一。同普通心電圖相比,Holter數據基線為2 048。 因此在處理Holter心電數據時需要將波形數據在減去2048的基礎上再轉化為雙字節整形數組。Holter心電圖每導聯數據占數據文件的十二分之一。通過計算得到12導聯波形數據后即可作為信號源由PCI-6251高精度數據采集卡輸出。讀取二進制文件“**ECGdata.dat”,解析后得到一個二維字符串數組,按規定的文件格式依次索引數組內容可獲得診斷結果以及心率、PR間期等波形參數。
2.4 信號輸出
利用LabVIEW可以設計出方便的控制界面。如圖3所示是心電信號發生器的人機交互界面。用戶在“數據編碼”輸入框內輸入心電數據在數據庫中的編號后,點擊“確認”按鈕即可獲得相應的心電信息。在“導聯選擇”輸入框內選擇導聯名稱即可選擇輸出對應的心電導聯信號。心電波形顯示在波形顯示區,控制界面右側“ECG信息”區顯示出該心電信號的診斷信息及心電波形參數。心電波形顯示同時,被輸出到PCI-6251高精度數據采集卡,轉換成可供使用的模擬心電信號。

3 總結
本心電信號發生器可實現對中國人典型心電數據庫數據進行選擇、讀取、輸出及本地記錄數據等功能,真實還原心電數據庫的波形。通過靈活的人機交互方式選擇數據庫中具有特定病癥的心電數據,這些源自典型心電數據庫的心電信號能反映真實的中國人心電情況,為日后評估國產心電自動分析診斷儀器的性能以及對各種心電自動診斷類儀器的研發檢測提供有效手段。
引言
心電圖(electrocardiogram,ECG)是心血管疾病診斷中最普遍采用的方法和臨床工作中最基礎的檢查工具之一。但是,傳統的心電信號發生器產生的模擬心電信號不能體現臨床情況[1-3]。基于大規模人群數據庫的心電信號發生器雖能解決這一問題[4],但目前的研究都是在基于歐美人群的心電數據庫基礎上展開,不同種族、年齡、性別的ECG差距較大[5-7],因此歐美人群的心電數據并不能體現出亞洲人心電情況的特質[8]。基于此建立中國人的典型心電數據庫,并利用LabVIEW設計基于中國人典型心電數據庫的虛擬心電信號發生器,使該心電信號發生器能夠體現中國人體質的心電信號臨床特征。
1 典型心電數據庫
目前國際上常用的四大心電數據庫分別是:麻省理工學院-貝斯以色列醫院(Massachusetts Institute of Technology-Beth Israel Hospital,MIT-BIH)數據庫[9]、美國心臟協會(American Heart Association,AHA)數據庫、歐共體(Community System of Europe,CSE)多導聯數據庫和歐盟ST段和T波(ST-T)數據庫。MIT-BIH數據庫由很多子數據庫組成,每個子數據庫包含特定類型的心電記錄,其中MIT-BIT心律不齊數據庫和MIT-BIT QT數據庫應用最廣。四大數據庫中,MIT-BIH數據庫可作為實驗數據的來源和各類識別算法的檢測標準;AHA心律失常心電數據庫多用于評價室性心律不齊探測器的檢測效果;CSE心電數據庫采用12或15導聯采集,記錄了1 000例短時間的心電數據,主要開發目的是評價心電圖自動分析儀的性能;ST-T數據庫則用于評價ST段和T波檢測算法[10]。
中國人典型心電數據庫采集了來自全國各地的12 000余份普通心電圖及124份動態心電圖,由權威醫生進行標注診斷并經篩選分類,除正常心電圖外,目前還搜集到包括早搏、心室肥大在內的共113例、22類異常心電圖,今后還將陸續采集到其它數據作為補充。
美國國家心臟、肺和血液研究所(national heart,lung,and blood institue,NHLBI)建議[11]:“采集到的心電數據應該至少是12導聯采集,且時間在10 s以上,采樣頻率大于500 Hz,具有完整特征標注信息及采集人基本信息”。如表1所示,MIT-BIH及ST-T數據庫的導聯數量及采樣率均不滿足NHLBI要求[12],AHA數據庫的采樣頻率也僅有250 Hz,而CES數據庫沒有診斷結果,無特征標注信息[13]。相比之下中國人典型心電數據庫滿足NHLBI建議,且能夠代表中國人心電信號的特性。因此本文在中國人典型心電數據庫基礎上設計心電信號發生器。

因該典型心電數據庫建立在SQL Server平臺下,故本文首先使用SQL Server語言建立數據庫并建立了四張表:“病人信息2”、“結論模板”、“診斷種類”及“心電圖”。其中“病人信息2”表內包括了病人基本信息:ID號、姓名、性別、年齡、出生日期、醫院、科室、醫生、采集號、采集日期和心率、PR期間及QRS時限等波形參數;"心電圖"表內包含原始數據及其保存路徑。
2 心電信號發生器設計
2.1 系統結構
利用LabVIEW設計一個虛擬心電信號發生器,由數據訪問、數據處理和信號輸出三部分組成。利用人機交互界面選擇對數據庫內容進行訪問,通過與中國人典型心電數據庫交互獲得心電波形數據、測量參數和診斷結果[14],將獲取到的心電信號經處理后由PCI-6251板卡輸出,具體原理框圖如圖1所示。

2.2 訪問數據庫
利用LabVIEW SQL Toolkit可以訪問Windows操作系統中包括Access、SQL Sever、Pervasive、Orcale在內的任何基于開放數據庫互連(open database connectivity,ODBC)驅動的數據庫。ODBC建立了一組針對數據庫訪問的應用程序編程接口,通過SQL編程語句可以完成對數據庫訪問、讀取及編寫等功能。
LabVIEW本身不具備數據庫訪問功能[15],本文使用NI公司附加工具包LabVIEW SQL Toolkit對基于Access平臺下的典型心電數據庫進行訪問,基本過程如圖2所示。

利用LabVIEW SQL Toolkit訪問數據庫最有效的方法是利用ODBC驅動訪問數據庫[16]。在運行LabVIEW程序之前需要在Windows操作系統管理工具中建立基于SQL server的數據源,本文將這個數據源命名為“心電”,ID為“典型心電數據庫”,并設置合理的連接密碼。“xindian”是在ODBC數據源中為Access數據庫配置的用戶名稱(data
source names,DSN),如圖2所示,利用DB Tools Open Connection.vi建立了與指定數據源“xindian”之間的連接。心電信號發生器需要讀取典型心電數據庫中心電波形數據、測量參數和診斷結果,其中測量參數包括心率、PR間期等數據。利用DB Tools Select Data.vi,以心電圖在數據庫中的編號為判斷條件,讀取數據庫中“病人信息2”及“心電圖”兩個表內的數據。在中國人典型心電數據庫中,波形數據保存在“心電圖”表的“Wavedata”列下,心電波形數據是長二進制數據,不能直接讀取,將其保存為后綴.dat的二進制文件,文件命名規則為“編號+ECGwave.dat”。 診斷結果和心電波形參數數據也保存為二進制文件,命名規則為“編號+ECGdata.dat”。訪問數據源結束后,通過DB Tools Open Connection.vi可斷開與數據源“xindian”的連接,結束對數據庫的訪問。
2.3 數據處理
中國人典型心電數據庫中包含普通心電圖和動態心電圖兩種心電數據。
普通心電圖每條記錄時長10 s,共5 000個點,每個點占2個字節,普通心電圖的“**ECGwave.dat”文件中實際只保存了8個導聯數據,分別按Ⅰ、Ⅱ、Ⅴ1、Ⅴ2、Ⅴ3、Ⅴ4、Ⅴ5、Ⅴ6導聯順序存儲在心電圖數據文件中。缺失的Ⅲ、aVR、aVL、aVF導聯的波形數據可通過Einthoven公式計算出,計算式如下式:
$Ⅲ=Ⅱ-Ⅰ$ |
$aVR=-\frac{Ⅱ-Ⅰ}{2}$ |
$aVL=-\frac{Ⅰ-Ⅱ}{2}$ |
$aVF=-\frac{Ⅱ-Ⅰ}{2}$ |
動態心電圖又稱為Holter心電圖,可連續記錄24 h心電活動的全過程。在典型心電數據庫中只存儲了由權威醫生選取的10 s波形異常形態明顯的Holter心電圖數據,這些數據包含了12導聯心電圖數據,采樣頻率為500 Hz,每個點占2個字節。將“**ECGwave.dat”文件作為二進制文件讀取后把心電圖波形數據轉換為雙字節整形數組,普通心電圖每導聯數據占數據文件的八分之一。同普通心電圖相比,Holter數據基線為2 048。 因此在處理Holter心電數據時需要將波形數據在減去2048的基礎上再轉化為雙字節整形數組。Holter心電圖每導聯數據占數據文件的十二分之一。通過計算得到12導聯波形數據后即可作為信號源由PCI-6251高精度數據采集卡輸出。讀取二進制文件“**ECGdata.dat”,解析后得到一個二維字符串數組,按規定的文件格式依次索引數組內容可獲得診斷結果以及心率、PR間期等波形參數。
2.4 信號輸出
利用LabVIEW可以設計出方便的控制界面。如圖3所示是心電信號發生器的人機交互界面。用戶在“數據編碼”輸入框內輸入心電數據在數據庫中的編號后,點擊“確認”按鈕即可獲得相應的心電信息。在“導聯選擇”輸入框內選擇導聯名稱即可選擇輸出對應的心電導聯信號。心電波形顯示在波形顯示區,控制界面右側“ECG信息”區顯示出該心電信號的診斷信息及心電波形參數。心電波形顯示同時,被輸出到PCI-6251高精度數據采集卡,轉換成可供使用的模擬心電信號。

3 總結
本心電信號發生器可實現對中國人典型心電數據庫數據進行選擇、讀取、輸出及本地記錄數據等功能,真實還原心電數據庫的波形。通過靈活的人機交互方式選擇數據庫中具有特定病癥的心電數據,這些源自典型心電數據庫的心電信號能反映真實的中國人心電情況,為日后評估國產心電自動分析診斷儀器的性能以及對各種心電自動診斷類儀器的研發檢測提供有效手段。