MIT-BIH ECG 信號(hào)的數(shù)據(jù)讀取方法和Matlab程序 收藏
最近在寫一篇基于小波變換的ECG信號(hào)壓縮算法的論文,遇到了怎樣獲取ECG信號(hào)測(cè)試數(shù)據(jù)的問題,在百度和專業(yè)論壇里搜索了一番,發(fā)現(xiàn)也有很多朋友為此發(fā)愁?,F(xiàn)在論文寫好了,投稿中,順便也把怎樣獲取和處理ECG信號(hào)數(shù)據(jù)的方法寫出來(lái),供有需要的朋友參考,省卻在百度和論壇里苦苦求索的麻煩,呵呵 ^_^
一、首先,如果是對(duì)ECG心電信號(hào)進(jìn)行觀察、分析和診斷使用的話,有兩個(gè)方法:
(1) 從MIT-BIH數(shù)據(jù)庫(kù)下載
請(qǐng)參考我前些天發(fā)布的文章《MIT-BIH ECG 心電數(shù)據(jù)的下載和讀取圖解》,里面有詳盡介紹。
(2) 用專門的Matlab心電數(shù)據(jù)讀取程序
我10日在浩惠電子論壇(
http://www.hheet.com/bbs/)的“醫(yī)療器械”版塊找到了讀取ECG心電數(shù)據(jù)的Matlab程序(rddata.m),如獲至寶??!這個(gè)程序是由外國(guó)人寫的,能夠讀取MIT-BIH數(shù)據(jù)庫(kù) .atr、.dat、.hea三種文件的數(shù)據(jù),根據(jù)這些數(shù)據(jù)計(jì)算出實(shí)際的心電信號(hào)值,并繪制出信號(hào)波形。程序不大,注釋也算齊全,不過是英文的,需要這個(gè)程序的朋友請(qǐng)按以下鏈接下載。
二、如果是要對(duì)ECG信號(hào)進(jìn)行壓縮、編碼等信號(hào)處理操作
上面程序獲得的數(shù)據(jù)就不便于使用了,因?yàn)槟鞘寝D(zhuǎn)換為具有實(shí)際意義的心電數(shù)據(jù),信號(hào)數(shù)據(jù)值一般在-2~2之間,單位是mV。那么,要找新的ECG讀取程序來(lái)獲取數(shù)據(jù)嗎?不用!實(shí)際上,程序rddata.m中本身就是把MIT .dat 文件中存儲(chǔ)的二值數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),然后再進(jìn)一步處理轉(zhuǎn)換成具有實(shí)際意義的心電信號(hào)值。我們進(jìn)行信號(hào)處理時(shí),需要用到的就是從二值數(shù)據(jù)轉(zhuǎn)換來(lái)的初始十進(jìn)制數(shù)據(jù),由于 .dat文件中是三個(gè)字節(jié)存儲(chǔ)2個(gè)數(shù),即每個(gè)數(shù)12bits,轉(zhuǎn)換后得到的十進(jìn)制數(shù)范圍應(yīng)該是0~2048。我所理解的數(shù)據(jù)存儲(chǔ)方式圖示如下,不知是否正確,僅供參考:
由于rddata.m程序中的注釋是英文的,且有些地方也說(shuō)明不清楚,我從程序中截取出將二值數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)的部分代碼,將注釋轉(zhuǎn)換為中文,并根據(jù)自己的理解作一些補(bǔ)充說(shuō)明,希望對(duì)大家有所幫助!
具體的程序代碼如下:
%-------------------------------------------------------------------------
% 程序Fun_ReadECGData 用于讀取ECG信號(hào)數(shù)據(jù),將原始的二值數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)
% 輸入?yún)?shù)及其示例:
% PATH= 'D:\MATLAB\R2007b\work\ECG Data'; % 指定數(shù)據(jù)的儲(chǔ)存路徑
% HEADERFILE= '117.hea'; % .hea 格式,頭文件,可用記事本打開
% DATAFILE='117.dat'; % .dat 格式,ECG 數(shù)據(jù)
% SAMPLES2READ=2048; % 指定需要讀入的樣本數(shù)
% % 若.dat文件中存儲(chǔ)有兩個(gè)通道的信號(hào):
% % 則讀入 2*SAMPLES2READ 個(gè)數(shù)據(jù)
% 輸出參數(shù):M —— 一個(gè)SAMPLES2READ行2列的數(shù)據(jù)矩陣,每列數(shù)據(jù)代表一個(gè)通道的信號(hào)值
%-------------------------------------------------------------------------
function M = Fun_ReadECGData(PATH,HEADERFILE,DATAFILE,SAMPLES2READ)
%------ LOAD HEADER DATA --------------------------------------------------
%------ 讀入頭文件數(shù)據(jù) -----------------------------------------------------
%
% 示例:用記事本打開的117.hea 文件的數(shù)據(jù)
%
% 117 2 360 650000
% 117.dat 212 200 11 1024 839 31170 0 MLII
% 117.dat 212 200 11 1024 930 28083 0 V2
% # 69 M 950 654 x2
% # None
%
%-------------------------------------------------------------------------
%-------------------------------------------------------------------------
% 【注】函數(shù) fprintf 的功能將格式化的數(shù)據(jù)寫入到指定文件中。
% 表達(dá)式:count = fprintf(fid,format,A,...)
% 在字符串'format'的控制下,將矩陣A的實(shí)數(shù)數(shù)據(jù)進(jìn)行格式化,并寫入到文件對(duì)象fid中。該函數(shù)返回所寫入數(shù)據(jù)的字節(jié)數(shù) count。
% fid 是通過函數(shù) fopen 獲得的整型文件標(biāo)識(shí)符。fid=1,表示標(biāo)準(zhǔn)輸出(即輸出到屏幕顯示);fid=2,表示標(biāo)準(zhǔn)偏差。
%-------------------------------------------------------------------------
fprintf(1,'\\n$> WORKING ON %s ...\n', HEADERFILE); % 在Matlab命令行窗口提示當(dāng)前工作狀態(tài)
signalh= fullfile(PATH, HEADERFILE); % 通過函數(shù) fullfile 獲得頭文件的完整路徑
fid1=fopen(signalh,'r'); % 打開頭文件,其標(biāo)識(shí)符為 fid1 ,屬性為'r'--“只讀”
z= fgetl(fid1); % 讀取頭文件的第一行數(shù)據(jù),字符串格式
A= sscanf(z, '%*s %d %d %d',[1,3]); % 按照格式 '%*s %d %d %d' 轉(zhuǎn)換數(shù)據(jù)并存入矩陣 A 中
nosig= A(1); % 信號(hào)通道數(shù)目
sfreq=A(2); % 數(shù)據(jù)采樣頻率
clear A; % 清空矩陣 A ,準(zhǔn)備獲取下一行數(shù)據(jù)
for k=1:nosig % 讀取每個(gè)通道信號(hào)的數(shù)據(jù)信息
z= fgetl(fid1);
A= sscanf(z, '%*s %d %d %d %d %d',[1,5]);
dformat(k)= A(1); % 信號(hào)格式; 這里只允許為 212 格式
gain(k)= A(2); % 每 mV 包含的整數(shù)個(gè)數(shù)
bitres(k)= A(3); % 采樣精度(位分辨率)
zerovalue(k)= A(4); % ECG 信號(hào)零點(diǎn)相應(yīng)的整數(shù)值
firstvalue(k)= A(5); % 信號(hào)的第一個(gè)整數(shù)值 (用于偏差測(cè)試)
end;
fclose(fid1);
clear A;
%------ LOAD BINARY DATA --------------------------------------------------
%------ 讀取 ECG 信號(hào)二值數(shù)據(jù) ----------------------------------------------
%
% 說(shuō)明:.dat 文件的數(shù)據(jù)格式
%
% 用 uint8 格式讀入 N 個(gè)樣本,存入矩陣 A 中,則 A 有 N 行、3列,每列一個(gè)字節(jié),
% 即每行用三個(gè)字節(jié)表示兩個(gè)數(shù)m1、m2,每個(gè)數(shù) 12 bits,故又稱為 212 格式
% m1的低8位存放在 A(:,1),m2的低8位存放在A(:,3),
% m1的高4位存放在A(:,2)的低4位,m2的高4位存放在A(:,2)的高4位
%
% 根據(jù)上述數(shù)據(jù)格式,可以用一系列移位、位與操作,提取出十進(jìn)制格式的雙通道信號(hào)數(shù)據(jù)
%
%-------------------------------------------------------------------------
if dformat~= [212,212], error('this script does not apply binary formats different to 212.'); end;
signald= fullfile(PATH, DATAFILE); % 讀入 212 格式的 ECG 信號(hào)數(shù)據(jù)
fid2=fopen(signald,'r');
A= fread(fid2, [3, SAMPLES2READ], 'uint8')'; % 矩陣A共有SAMPLES2READ行、3列,每列數(shù)據(jù)都是以u(píng)int8格式讀入,注意這時(shí)數(shù)據(jù)通過uint8的讀入方式已經(jīng)成為十進(jìn)制數(shù)了
fclose(fid2);
M2H= bitshift(A(:,2), -4); % 字節(jié)向右移四位,即取字節(jié)的高四位,屬于信號(hào)2的高4位
M1H= bitand(A(:,2), 15); % 取字節(jié)的低四位,屬于信號(hào)1的高4位
PRL=bitshift(bitand(A(:,2),8),9); % sign-bit 取出字節(jié)低四位中最高位,向左移九位
PRR=bitshift(bitand(A(:,2),128),5); % sign-bit 取出字節(jié)高四位中最高位,向左移五位
M( : , 1)= bitshift(M1H,8)+ A(:,1)-PRL; % 將M1H、M2H分別左移8位,即乘以2^8,再分別加上A(:,1),A(:,2),
M( : , 2)= bitshift(M2H,8)+ A(:,3)-PRR; % 由于左移時(shí)把符號(hào)位也移動(dòng)了,要減去符號(hào)位的值
M=M'; % 為了方便后期的數(shù)據(jù)處理,將輸出矩陣 M 轉(zhuǎn)置為2行SAMPLES2READ列
發(fā)表于 @ 2008年01月12日 23:55:00 | 評(píng)論( 50 ) | 編輯| 舉報(bào)| 收藏
舊一篇:推薦一款免費(fèi)的桌面搜索軟件 VistaGlance 1.2 ,按文件名稱建立索引! | 新一篇:推薦一些常用的中外學(xué)術(shù)文獻(xiàn)數(shù)據(jù)庫(kù)網(wǎng)站
查看最新精華文章 請(qǐng)?jiān)L問博客首頁(yè)相關(guān)文章 opal 發(fā)表于2008年1月16日 12:44:21 IP:舉報(bào)回復(fù)刪除
請(qǐng)問一下,我做心電信號(hào)的聚類分析,如果用心電信號(hào)的時(shí)間序列,是不是直接用M向量就可以了呢?chenyusiyuan 發(fā)表于2008年1月16日 13:01:45 IP:舉報(bào)回復(fù)刪除
你好,我認(rèn)為用于心電信號(hào)的聚類分析可以直接使用 rddata.m 文件得出的 M 向量,因?yàn)榫哂袑?shí)際意義的ECG數(shù)據(jù)值相對(duì)比較小,便于聚類分析。ygy 發(fā)表于2008年3月8日 14:22:15 IP:舉報(bào)回復(fù)刪除
樓主好,
為什么我使用時(shí)候matlab 中沒有fget1函數(shù)?
Error using ==> fgetl
Invalid file identifier.
我是6.5的,是不是必須在7.0上才可以用?謝謝ygy 發(fā)表于2008年3月8日 14:37:08 IP:舉報(bào)回復(fù)刪除
暈,我自己忘記設(shè)路徑了,已解決sunhuinan 發(fā)表于2008年3月13日 9:01:52 IP:222.171.23.*舉報(bào)回復(fù)刪除
為什么我使用時(shí)候matlab 中沒有fget1函數(shù)?出現(xiàn)下面錯(cuò)誤
Error using ==> fgetl
Invalid file identifier.
ygy 你好,你是怎么解決的,多謝了
sunhuinan 發(fā)表于2008年3月13日 9:06:47 IP:222.171.23.*舉報(bào)回復(fù)刪除
路徑我也設(shè)了,可是還不對(duì),請(qǐng)各位朋友給我指點(diǎn)。多謝了。sunhuinan 發(fā)表于2008年3月13日 9:35:54 IP:222.171.23.*舉報(bào)回復(fù)刪除
剛才的問題我已經(jīng)解決了,不過又出現(xiàn)了下面的問題,在 讀取每個(gè)通道信號(hào)的數(shù)據(jù)信息出現(xiàn):
Index exceeds matrix dimensions.
這個(gè)問題怎么決絕呀,多謝各位朋友。chenyusiyuan 發(fā)表于2008年3月13日 10:46:07 IP:222.200.105.*舉報(bào)回復(fù)刪除
sunhuinan,你好,把 Matlab 給出的具體錯(cuò)誤信息粘帖出來(lái)大家分析一下吧?另外你的Matlab版本是多少?chenyusiyuan 發(fā)表于2008年3月13日 10:47:37 IP:222.200.105.*舉報(bào)回復(fù)刪除
主要是看Index exceeds matrix dimensions.是哪個(gè)變量的數(shù)據(jù)讀取超限了。sunhuinan 發(fā)表于2008年3月13日 15:38:15 IP:222.171.23.*舉報(bào)回復(fù)刪除
樓主你好,很高興看見你給我留言了。我要研究的是受干擾的心電信號(hào)。它來(lái)自于MIT BIH/Noise Stress Test數(shù)據(jù)庫(kù)。我下載了118e00.dat,118e00.atr和118e00.hea
我按著你說(shuō)的編程如下:
>> clear all;
>> PATH= 'C:\Program Files\MATLAB71\work\ECG Noise data';
>> HEADERFILE= '118e00.hea';
ATRFILE= '118e00.atr';
DATAFILE='118e00.dat';
>> SAMPLES2READ=3000;
>> fprintf(1,'\\n{6}gt; WORKING ON %s ...\n', HEADERFILE);
\n{6}gt; WORKING ON 118e00.hea ...
>> signalh= fullfile(PATH, HEADERFILE);
>> fid1=fopen(signalh,'r');
>> z= fgetl(fid1);
>> A= sscanf(z, '%*s %d %d %d',[1,3]);
>> nosig= A(1);
>> sfreq=A(2);
>> clear A;
>> for k=1:nosig
z= fgetl(fid1);
A= sscanf(z, '%*s %d %d %d %d %d',[1,9]);
dformat(k)= A(1);
gain(k)= A(2);
bitres(k)= A(3);
zerovalue(k)= A(4);
firstvalue(k)= A(5);
end;
Index exceeds matrix dimensions.
希望樓主幫我看看,我很著急呀,我沒學(xué)過matlab,現(xiàn)在剛開始學(xué)一點(diǎn),所以有些看不懂呀。
sunhuinan 發(fā)表于2008年3月13日 15:39:55 IP:222.171.23.*舉報(bào)回復(fù)刪除
對(duì)了,我的matlab的版本是7.1的chenyusiyuan 發(fā)表于2008年3月13日 15:50:48 IP:222.200.105.*舉報(bào)回復(fù)刪除
應(yīng)該是這里出錯(cuò)了:
A= sscanf(z, '%*s %d %d %d %d %d',[1,9]);
數(shù)字‘9’應(yīng)改為‘5’ !sunhuinan 發(fā)表于2008年3月13日 15:53:24 IP:222.171.23.*舉報(bào)回復(fù)刪除
>> clear all;
>> PATH= 'C:\Program Files\MATLAB71\work\ECG Noise data';
>> HEADERFILE= '118e00.hea';
>> ATRFILE= '118e00.atr';
>> DATAFILE='118e00.dat';
>> SAMPLES2READ=3000;
>> fprintf(1,'\\n{6}gt; WORKING ON %s ...\n', HEADERFILE);
\n{6}gt; WORKING ON 118e00.hea ...
>> signalh= fullfile(PATH, HEADERFILE);
>> fid1=fopen(signalh,'r');
>> z= fgetl(fid1);
>> A= sscanf(z, '%*s %d %d %d',[1,3]);
>> nosig= A(1);
>> sfreq=A(2);
>> clear A;
>> for k=1:nosig
z= fgetl(fid1);
A= sscanf(z, '%*s %d %d %d %d %d',[1,5]);
dformat(k)= A(1);
gain(k)= A(2);
bitres(k)= A(3);
zerovalue(k)= A(4);
firstvalue(k)= A(5);
end;
Index exceeds matrix dimensions.
這個(gè)是我編的程序,總是出現(xiàn)這個(gè)錯(cuò)誤呀。chenyusiyuan 發(fā)表于2008年3月13日 15:54:46 IP:222.200.105.*舉報(bào)回復(fù)刪除
[1,5]分別對(duì)應(yīng)于'%*s %d %d %d %d %d',具體原因可查看Matlab的幫助文件有關(guān)‘sscanf’的說(shuō)明。
我的Email是
chenyusiyuan@126.com,可以發(fā)郵件方便討論。也可以點(diǎn)擊頁(yè)面上方的“聯(lián)系作者”通過csdn的郵件系統(tǒng)和我交流 ^_^孫會(huì)楠 發(fā)表于2008年3月13日 16:02:07 IP:222.171.23.*舉報(bào)回復(fù)刪除
我該為[1,5]了,可是還是不對(duì)su 發(fā)表于2008年3月22日 23:22:05 IP:舉報(bào)回復(fù)刪除
請(qǐng)問你會(huì)編寫The Creighton University Ventricular Tachyarrhythmia Database這個(gè)里面的數(shù)據(jù)嗎,我急需要謝謝請(qǐng)發(fā)郵件給我
sulan00@163.comnkj 發(fā)表于2008年3月25日 15:35:27 IP:舉報(bào)回復(fù)刪除
為什么我的matlab 中也沒有fget1函數(shù)?出現(xiàn)下面錯(cuò)誤
Error using ==> fgetl
Invalid file identifier.
ygy sunhuinan兩位樓主你們好,你們是怎么解決的,多謝了
chenyusiyuan 發(fā)表于2008年3月25日 16:05:26 IP:222.200.105.*舉報(bào)回復(fù)刪除
nkj,你好,可能你還沒設(shè)置好路徑吧,要先在命令行設(shè)置好下面幾個(gè)參數(shù):
% PATH= 'D:\MATLAB\R2007b\work\ECG Data'; % 指定數(shù)據(jù)的儲(chǔ)存路徑
% HEADERFILE= '117.hea'; % .hea 格式,頭文件,可用記事本打開
% DATAFILE='117.dat'; % .dat 格式,ECG 數(shù)據(jù)
% SAMPLES2READ=2048; % 指定需要讀入的樣本數(shù)nkj 發(fā)表于2008年3月26日 16:46:43 IP:218.2.216.*舉報(bào)回復(fù)刪除
版主你好,我都設(shè)置好了,還是不行!chenyusiyuan 發(fā)表于2008年3月26日 18:46:44 IP:222.200.105.*舉報(bào)回復(fù)刪除
有關(guān)下面這個(gè)錯(cuò)誤:
Error using ==> fgetl
Invalid file identifier.
我覺得問題還是在路徑的設(shè)置上,函數(shù) fgetl() 的代碼中有關(guān) Invalid file identifier 的錯(cuò)誤是這樣定義的:
if isempty(fopen(fid))
error ('MATLAB:fgetl:InvalidFID','Invalid file identifier.')
end
也就是說(shuō),如果 fopen 無(wú)法打開指定的文件,fopen(fid)則為空,從而出現(xiàn) Invalid file identifier 的錯(cuò)誤提示。所以要再仔細(xì)檢查一下路徑。nkj 發(fā)表于2008年3月27日 16:16:04 IP:舉報(bào)回復(fù)刪除
果然是!我的問題已解決!
非常感謝!zhangw 發(fā)表于2008年3月28日 16:06:34 IP:219.239.227.*舉報(bào)回復(fù)刪除
你們好,liu 發(fā)表于2008年5月2日 16:11:34 IP:舉報(bào)回復(fù)刪除
版主你好,請(qǐng)問通過上面的程序把心電圖數(shù)據(jù)讀入后它保存在哪里???是矩陣形式的嗎?讀進(jìn)來(lái)后對(duì)它進(jìn)行濾波怎么弄???liu 發(fā)表于2008年5月2日 16:14:06 IP:舉報(bào)回復(fù)刪除
還有,如果我要讀取一個(gè)通道的心電圖是不是把里面包含M( : , 2)的語(yǔ)句去掉就好了???chenyusiyuan 發(fā)表于2008年5月2日 19:46:42 IP:舉報(bào)回復(fù)刪除
liu 你好,讀入的心電數(shù)據(jù)存在矩陣M中,M是一個(gè)2*L的矩陣,其中L為心電數(shù)據(jù)的長(zhǎng)度;M的每一行存放一個(gè)通道的心電數(shù)據(jù)。liu 發(fā)表于2008年5月3日 9:24:53 IP:舉報(bào)回復(fù)刪除
謝謝版主了!呵呵liu 發(fā)表于2008年5月3日 9:53:58 IP:舉報(bào)回復(fù)刪除
好像不對(duì)啊,M是一個(gè)2*L的矩陣的話,為什么顯示程序里這樣寫呢:plot(TIME, M(:,1),'r'); 這里M(:,1)的話不是代表第一列嗎?這樣的話M還是一個(gè)2*L的矩陣吧?chenyusiyuan 發(fā)表于2008年5月3日 20:16:05 IP:舉報(bào)回復(fù)刪除
哦,不好意思,我這篇文章最后一行對(duì)M轉(zhuǎn)置成2*L,原來(lái)的程序里是L行2列的。我的郵箱是
chenyusiyuan@126.com,歡迎來(lái)信交流。kebi 發(fā)表于2008年5月5日 20:45:07 IP:222.200.105.*舉報(bào)回復(fù)刪除
師弟,不錯(cuò),不錯(cuò)!秀 發(fā)表于2008年5月16日 21:33:09 IP:舉報(bào)回復(fù)刪除
function M = Fun_ReadECGData(PATH,HEADERFILE,DATAFILE,SAMPLES2READ)
|
Error: Function definitions are not permitted at the prompt or in scripts.
請(qǐng)問這個(gè)怎么解決啊?mutusanshi 發(fā)表于2008年6月4日 14:34:08 IP:202.206.249.*舉報(bào)回復(fù)刪除
你好,我按你說(shuō)得打開
http://pickup.mofile.com/3497080791233097 ,然后輸入提取碼3497080791233097,怎么不能下載 rddata.m,謝謝幫忙!chenyusiyuan 發(fā)表于2008年6月4日 16:47:27 IP:222.200.105.*舉報(bào)回復(fù)刪除
關(guān)于rddata.m的下載,在打開
http://pickup.mofile.com/3497080791233097 后,下載鏈接是在“文件標(biāo)簽”和“文件介紹”之后的地方,夾在兩塊廣告圖片之間,共有3個(gè)鏈接:“推薦快車(flashget)高速下載文件 下載文件(IE瀏覽器) 下載文件(非IE瀏覽器)”,非常隱蔽,一般點(diǎn)擊中間的那個(gè)鏈接“下載文件(IE瀏覽器)”就會(huì)彈出保存對(duì)話框了。mutusanshi 發(fā)表于2008年6月17日 21:15:01 IP:202.206.249.*舉報(bào)回復(fù)刪除
樓主,非常感謝你,請(qǐng)問下rddata.m程序怎么使用才能把心電數(shù)據(jù)讀取并在matlab中顯示出心電波形,我剛接觸,謝謝你!給我詳細(xì)說(shuō)下過程!mutusanshi 發(fā)表于2008年6月17日 21:24:13 IP:202.206.249.*舉報(bào)回復(fù)刪除
樓主,非常感謝你,請(qǐng)問下rddata.m程序怎么使用才能把心電數(shù)據(jù)讀取并在matlab中顯示出心電波形,我剛接觸,謝謝你!給我詳細(xì)說(shuō)下過程!lylpf0122 發(fā)表于2008年9月7日 22:18:17 IP:舉報(bào)回復(fù)刪除
為什么程序執(zhí)行到這一句
if M(1,:) ~= firstvalue, error('inconsistency in the first bit values'); end;
出現(xiàn)這樣的錯(cuò)誤提示
inconsistency in the first bit values
這是什么錯(cuò)誤?????reachecg 發(fā)表于2008年10月13日 12:03:05 IP:舉報(bào)回復(fù)刪除
真強(qiáng),真的感謝?。。rhcf 發(fā)表于2008年12月21日 10:35:18 IP:舉報(bào)回復(fù)刪除
請(qǐng)問,圖形里面的兩條線分別是什么意思呀xrhcf 發(fā)表于2008年12月21日 10:36:26 IP:舉報(bào)回復(fù)刪除
我看不懂那個(gè)程序
但是,我想如果建立分類器的話,用哪條線才對(duì)呀xrhcf 發(fā)表于2008年12月21日 10:36:49 IP:舉報(bào)回復(fù)刪除
麻煩給解釋一下,不勝感激xrhcf 發(fā)表于2008年12月21日 11:02:29 IP:舉報(bào)回復(fù)刪除
我的郵箱:
xrhcf@163.com,麻煩給我解釋一下哈,謝謝。。。。。huinan2009 發(fā)表于2009年2月22日 14:42:47 IP:舉報(bào)回復(fù)刪除
心電信號(hào)有負(fù)值嗎
從數(shù)據(jù)庫(kù)中讀取的值是-2~+2
而用上面的程序讀出來(lái)的怎么不在這個(gè)范圍呀chenyusiyuan 發(fā)表于2009年2月24日 20:35:58 IP:舉報(bào)回復(fù)刪除
回復(fù) huinan2009:你好,文中的程序只是實(shí)現(xiàn)了部分功能,完整的程序代碼請(qǐng)下載‘rddata.m’,文中已給出下載鏈接
sdcxwlz6 發(fā)表于2009年2月24日 21:50:13 IP:舉報(bào)回復(fù)刪除
請(qǐng)問樓主 圖形里面的兩條線分別是什么意思呀?是兩個(gè)通道的信號(hào)么,要是的話有什么區(qū)別么?
謝謝 謝謝chenyusiyuan 發(fā)表于2009年2月24日 23:46:09 IP:舉報(bào)回復(fù)刪除
回復(fù) sdcxwlz6:應(yīng)該是雙通道信號(hào),具體每條信號(hào)代表什么我不清楚,我不是做心電處理。只是學(xué)習(xí)小波信號(hào)壓縮時(shí)用心電信號(hào)作為信號(hào)源而已。不好意思啊
lantian1124 發(fā)表于2009年3月17日 10:00:28 IP:舉報(bào)回復(fù)刪除
真不好意思,問個(gè)比較傻的問題哈,如果我想使用rddata.m讀取的信號(hào),并對(duì)它進(jìn)行處理應(yīng)該怎么用那,直接下載load rddata.m嗎lidss1234 發(fā)表于2010年1月28日 10:37:55 IP:舉報(bào)回復(fù)刪除
在心電自動(dòng)分析中,對(duì)QRS波群分類,在自動(dòng)分析中用DeMix方法如何實(shí)現(xiàn)。各位老大,請(qǐng)教一下。匿名用戶 發(fā)表于2010年3月9日 20:16:30 IP:舉報(bào)回復(fù)刪除
非常謝謝你的程序 我已經(jīng)能能夠取得很大的進(jìn)步micheal910 發(fā)表于2010年3月28日 18:36:04 IP:舉報(bào)回復(fù)刪除
LZ請(qǐng)問 用那個(gè)程序 怎么讀MIT-BIH數(shù)據(jù)啊 具體步驟 謝謝還有那個(gè)程序到MATlab2008b中為何出現(xiàn) ??? Error using ==> fgetl at 44 Invalid file identifier. Use fopen to generate a valid file identifier.的錯(cuò)誤 能解釋下嗎 謝謝zst610 發(fā)表于2010年4月10日 12:18:35 IP:舉報(bào)回復(fù)刪除
請(qǐng)問樓主有沒有關(guān)于用MATLAB讀取USB傳送的心電數(shù)據(jù)的程序?本人剛開始做這方面的東西,想學(xué)習(xí)學(xué)習(xí)···chenyusiyuan 發(fā)表于2010年4月11日 23:29:13 IP:舉報(bào)回復(fù)刪除
回復(fù) zst610:不好意思啊,專業(yè)所限,對(duì)心電數(shù)據(jù)讀取和處理了解并不多,僅限于相關(guān)的2篇博文,請(qǐng)見諒。不過具體編程細(xì)節(jié)問題歡迎來(lái)信討論,謝謝。
shinobifc 發(fā)表于2010年4月15日 16:01:43 IP:舉報(bào)回復(fù)刪除
你好,我剛剛做ECG方面的東西,對(duì)你的解釋有兩點(diǎn)疑問:1.在LOAD BINARY DATA中,A是以u(píng)int8形式讀取的,所以我感覺PRL和PRR的設(shè)置沒有必要(當(dāng)然,可以用于檢驗(yàn),健壯程序),因?yàn)樗麄兊闹刀际?;2.既然讀取的是8位,又何來(lái)M( : , 1),M( : , 2)中移動(dòng)8位的操作呢?我的認(rèn)為是有個(gè)盒子,就8個(gè)格,有效的數(shù)據(jù)在后四個(gè)格,你一下挪8位,豈不是把4位有效數(shù)據(jù)都移出去了?還是我理解錯(cuò)了,A是8位的,PRL、PRR、M等并沒有8位的限制?剛剛接觸,希望解惑!匿名用戶 發(fā)表于2010年4月19日 17:33:58 IP:舉報(bào)回復(fù)刪除
請(qǐng)問樓主RR-interval可用rddata.m 來(lái)實(shí)現(xiàn)嗎?發(fā)表評(píng)論