<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于wince的心電圖機(jī)軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于wince的心電圖機(jī)軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2011-04-13 來源:網(wǎng)絡(luò) 收藏

          2.2. 2 數(shù)據(jù)采集
          為了保證數(shù)據(jù)的采集不被其他線程中斷,本系統(tǒng)開辟了一個(gè)優(yōu)先級(jí)較高的線程來采集數(shù)據(jù)。
          (1)數(shù)據(jù)接收
          由于采集卡的采樣率為1 000次/秒,數(shù)據(jù)量較大,為了提高其與上位機(jī)傳輸數(shù)據(jù)的速度以及考慮到接口的可擴(kuò)展性,本系統(tǒng)的數(shù)據(jù)采集卡集成了USB控制器FT245芯片,并在中加載了FTD2XX.DLL驅(qū)動(dòng),了以USB協(xié)議傳輸數(shù)據(jù)、上位機(jī)模擬串口接收數(shù)據(jù)的方式。采集線程只需打開串口不斷接收數(shù)據(jù),爾后再根據(jù)定義的數(shù)據(jù)包協(xié)議分別解出各個(gè)通道的數(shù)據(jù)以及導(dǎo)聯(lián)脫落狀態(tài)信息,并送到數(shù)據(jù)預(yù)處理模塊進(jìn)行濾波及導(dǎo)聯(lián)脫落處理。
          (2)數(shù)據(jù)同步采集的方法
          數(shù)據(jù)預(yù)處理完畢后,采用SetEvent()的方式通知顯示線程讀取數(shù)據(jù)顯示。為了保證公共數(shù)據(jù)緩沖區(qū)數(shù)據(jù)的正確性,采用臨界區(qū)Critical Section來采集與顯示線程的同步。
          2.2.3 波形顯示
          本系統(tǒng)采用了醫(yī)療系統(tǒng)中較常見的實(shí)時(shí)顯示方法,即掃描式,從左到右畫,新進(jìn)的點(diǎn)覆蓋原來的點(diǎn),中間有一段緩沖區(qū)刷掉舊點(diǎn),畫到最右端時(shí),又從最左端畫下一幅圖,不斷重復(fù)。同時(shí)為了防止閃爍,采用了雙緩存技術(shù)。
          機(jī)一般需顯示的波形有兩種:導(dǎo)聯(lián)波形顯示,如12導(dǎo)聯(lián)同步顯示;節(jié)律波形顯示,如檢查心率不齊時(shí),長時(shí)間連續(xù)的顯示單一和多通道導(dǎo)聯(lián)波形。為了方便醫(yī)生在導(dǎo)聯(lián)與節(jié)律兩種模式下切換觀察,本系統(tǒng)創(chuàng)建了兩個(gè)后臺(tái)繪圖線程。當(dāng)為導(dǎo)聯(lián)顯示模式時(shí),把所繪導(dǎo)聯(lián)波形的內(nèi)存DC不斷拷貝到屏幕DC上顯示,節(jié)律繪圖線程仍然后臺(tái)運(yùn)行。反之,為節(jié)律顯示模式。
          2.2.4 數(shù)據(jù)存儲(chǔ)
          (1)病人基本信息及分析結(jié)果存儲(chǔ):
          SQLite是一個(gè)輕量級(jí)的嵌入式關(guān)系數(shù)據(jù)庫,可以較為方便地運(yùn)用于嵌入式系統(tǒng)中。相對于傳統(tǒng)數(shù)據(jù)庫,SQLite具有更好的實(shí)時(shí)性、系統(tǒng)開銷小、底層控制能力強(qiáng)的特性。
          由于本系統(tǒng)的病人基本信息及分析結(jié)果的存儲(chǔ),只涉及建立表格、查詢、修改、插入、刪除、排序等操作,因此采用精干高效的SQLite完全能夠滿足本平臺(tái)的要求,并利用其支持的SQL命令及提供的API接口,操作十分方便。
          (2)病人心電數(shù)據(jù)存儲(chǔ):
          鑒于心電數(shù)據(jù)量比較大,為了快速存儲(chǔ)以及便于管理,采用了文件的存儲(chǔ)方式。首先在SQLite中建立心電數(shù)據(jù)PatiemEcgData表,包括病人ID、姓名、心電數(shù)據(jù)長度、心電數(shù)據(jù)文件的相對路徑等字段,心電數(shù)據(jù)以文件方式保存的同時(shí),將該文件的相對路徑存到數(shù)據(jù)庫。當(dāng)進(jìn)行歷史波形回放時(shí),只需根據(jù)病人ID,搜索心電數(shù)據(jù)文件路徑,讀取文件數(shù)據(jù)進(jìn)行繪圖顯示即可。
          2.2.5 數(shù)據(jù)處理與檢測分析
          2.2.5.1 數(shù)據(jù)濾波處理
          ECG和絕大多數(shù)的生物數(shù)字信號(hào)一樣,都是信噪比很低的微弱信號(hào),往往混有很強(qiáng)的背景噪聲,如工頻干擾、肌電干擾、基線漂移等。噪聲嚴(yán)重時(shí)可完全淹沒ECG信號(hào)或使基線漂移劇烈。因此必須從硬件設(shè)備消除噪聲影響的同時(shí),也要從軟件上去消除,本系統(tǒng)的數(shù)據(jù)濾波處理主要根據(jù)各噪聲的頻率特性不同的數(shù)字濾波器予以濾除。
          2.2.5.2 數(shù)據(jù)檢測分析
          (1)特征提取
          進(jìn)行自動(dòng)分析前,首先要進(jìn)行特征提取。特征提取包括兩部分:(1)波形識(shí)別,對ECG所包括的P波、T波和QRS波群進(jìn)行識(shí)別。(2)測量出各波形的幅度和間期,以便提供給后面的分析程序。
          準(zhǔn)確地檢測每一個(gè)QRS波是波形識(shí)別的首要任務(wù),如果QRS波檢測出現(xiàn)錯(cuò)誤,其后進(jìn)行的T、P波檢測,各種參數(shù)測量及診斷分類均失去了意義。嵌入式平臺(tái)的特點(diǎn),QRS波群檢測算法上采用了傳統(tǒng)差分閾值法,可實(shí)時(shí)檢測。
          QRS波一旦識(shí)別,便可根據(jù)PQPST各波斜率特性,計(jì)算并定位各自的分界點(diǎn)。爾后進(jìn)行各種參數(shù)測量和計(jì)算,包括心率、P波時(shí)限、P-R(P-Q)間期、QRS時(shí)限、Q-T(QTC)間期、平均心電軸、各波振幅等。
          (2)自動(dòng)分析:

          本文引用地址:http://www.ex-cimer.com/article/150855.htm

          c.JPG


          圖3所示的是整個(gè)ECG分析方法。將特征提取過程產(chǎn)生的測量參數(shù)作為輸入量,進(jìn)入決策邏輯或統(tǒng)計(jì)過程。決策邏輯是規(guī)則的專家系統(tǒng)來模仿專家的決策過程以確定和描述病人的病情。這些規(guī)則集是根據(jù)醫(yī)學(xué)專家的知識(shí)來開發(fā)的,通過一組IF-THEN語句,最后成為一個(gè)或多個(gè)分析結(jié)果語句,并打印在分析結(jié)果報(bào)告上。

          3 總結(jié)
          本文簡要介紹了機(jī)硬件系統(tǒng)的組成,以及對整個(gè)進(jìn)行了分模塊的闡述與分析。目前已完成第一版本產(chǎn)品樣機(jī)的開發(fā),經(jīng)測試系統(tǒng)運(yùn)行良好,分析算法也以美國的MIT心電數(shù)據(jù)庫為標(biāo)準(zhǔn)進(jìn)行測試,其準(zhǔn)確性達(dá)到符合臨床診斷要求。該產(chǎn)品已準(zhǔn)備進(jìn)入工廠量產(chǎn)階段。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();