Используйте ATM для извлечения .mat , как описано Kamtal (теперь известный Rashid).Тем не менее, обратите внимание, что для просмотра файла .info в некоторых случаях необходимо щелкнуть стрелку
![enter image description here](https://i.stack.imgur.com/U1w4H.png)
После того, как я перенес это на разработчиков здесь , мы получили улучшения в документации здесь в разделе 4.
Если все они являются целыми числами в диапазоне [-2 ^ N, 2 ^ N-1] или [0, 2 ^ N], они, вероятно, цифровые.Сравните значения, чтобы увидеть, находятся ли они в ожидаемом физиологическом диапазоне анализируемого вами сигнала.Например, если в заголовке указано, что сигнал представляет собой ЭКГ, хранящуюся в милливольтах, который обычно имеет амплитуду около 2 мВ, сигнал целых чисел в диапазоне от -32000 до 32000, вероятно, не даст вам физическую ЭКГ в милливольтах ...
Если они не являются целыми числами, то они физические.Еще раз вы можете быстро сравнить значения, чтобы увидеть, находятся ли они в ожидаемом физиологическом диапазоне анализируемого вами сигнала.
0-9-10 wfdb - физические единицы
Мы говорим, что сигналы находятся в «физических единицах», когда значения используются для максимально точного представления реальных реальных значений, хотя, очевидно, все на компьютере является цифровым и дискретным, а не аналоговым и непрерывным.Это включает в себя наши драгоценные 64-битные значения с плавающей запятой двойной точности, но это настолько близко, насколько мы можем получить, и уже очень близко к фактическим физическим значениям, поэтому мы называем их «физическими».*
Например, если 15-битный сигнал собирается через устройство захвата, Physionet, скорее всего, сохранит его как 16-битный сигнал.Каждый 16-битный блок хранит целочисленное значение между -2 ^ 15 и 2 ^ 15-1, и, используя усиление и смещение, указанные в заголовке для каждого канала, исходный физический сигнал может быть отображен для обработки.
Единицами по умолчанию теперь являются физические единицы, где должны быть добавлены база и усиление, указанные в заголовке для каждого канала, поэтому физический сигнал может быть отображен для обработки.
% rawUnits
% A 1x1 integer (default: 0). Returns tm and signal as vectors
% according to the following values:
% rawUnits=0 - Uses Java Native Interface to directly fetch data, returning signal in physical units with double precision.
% rawUnits=1 -returns tm ( millisecond precision only! ) and signal in physical units with 64 bit (double) floating point precision
% rawUnits=2 -returns tm ( millisecond precision only! ) and signal in physical units with 32 bit (single) floating point precision
% rawUnits=3 -returns both tm and signal as 16 bit integers (short). Use Fs to convert tm to seconds.
% rawUnits=4 -returns both tm and signal as 64 bit integers (long). Use Fs to convert tm to seconds.
rawUnits=1
, rawUnits=2
используют также физические единицы.rawUnits=3
, rawUnits=4
используйте затем снова аналоговые / цифровые устройства, где вам нужно убрать базу и усиление.Если вы используете rawUnits=1
или rawUnits=2
, вам нужно отрегулировать базу и усиление, где base = 1024
и gain = 200
# Kamtal's method in considering base and gain
load('201m.mat');
val = (val - 1024)/200; % you have to remove "base" and "gain"
ECGsignal = val(1,16:950); % select the lead (Lead I)
См. Ниже файл .info, где вы можете получить base
и gain
.Существует также единица mV
, которая предполагает, что значения должны быть около 2
после операций с базовым усилением.
<0-9-9 wfdb - аналоговые / цифровые единицы, поэтому база и усиление по умолчанию;теперь только <code>rawUnits=3,4 для аналоговых устройств
После выбора банкомата вы сможете увидеть список, в котором вы можете выбрать файл .info после экспорта, как описано в ответе Kamtal.Файл .info предписывает удалить так называемые base и усиление из данных перед использованием
Source: record mitdb/201 Start: [00:02:10.000]
val has 2 rows (signals) and 3600 columns (samples/signal)
Duration: 0:10
Sampling frequency: 360 Hz Sampling interval: 0.002777777778 sec
Row Signal Gain Base Units
1 MLII 200 1024 mV
2 V1 200 1024 mV
To convert from raw units to the physical units shown
above, subtract 'base' and divide by 'gain'.
Сравнение неправильных ответов здесь![Устарело]
Kamtal (теперь называется Rashid) ответ о старой системе wfdb, которая использовала цифровые блоки без удаления базы и усиления
# Kamtal's method in considering base and gain
load('201m.mat');
val = (val - 1024)/200; % you have to remove "base" and "gain"
ECGsignal = val(1,16:950); % select the lead (Lead I)
# Method without considering base and gain
load('201m.mat');
ECGsignal2 = val(1,16:950);
# http://www.mathworks.com/matlabcentral/fileexchange/10502-image-overlay
imshow(imoverlay(ECGsignal, ECGsignal2, uint8([255,0,0])))
, и вы получаете разницу между моим методом иего метод
![enter image description here](https://i.stack.imgur.com/5qjS6.png)