资源简介
胎儿心电信号的预处理以及胎儿心率的提取算法,基于matlab代码实现
代码片段和文件信息
% Mother & Fetus hearbeat detection example - Med2011
% By Igal
%% Init
% clear all; close all;
Fs = 4e3;
Time = 40;
NumSamp = Time * Fs;
load Hd;
%% Mom‘s Heartbeat
% In this example we shall simulate the shapes of the electrocardiogram
% for both the mother and fetus. The following commands create an
% electrocardiogram signal that a mother‘s heart might produce assuming
% a 4000 Hz sampling rate. The heart rate for this signal is approximately
% 89 beats per minute and the peak voltage of the signal is 3.5 millivolts.
x1 = 3.5*ecg(2700).‘; % gen synth ECG signal
y1 = sgolayfilt(kron(ones(1ceil(NumSamp/2700)+1)x1)021); % repeat for NumSamp length and smooth
n = 1:Time*Fs‘;
del = round(2700*rand(1)); % pick a random offset
mhb = y1(n + del)‘; %construct the ecg signal from some offset
t = 1/Fs:1/Fs:Time‘;
subplot(331); plot(tmhb);
axis([0 2 -4 4]);
grid;
xlabel(‘Time [sec]‘);
ylabel(‘Voltage [mV]‘);
title(‘Maternal Heartbeat Signal‘);
%% Fetus Heartbeat
% The heart of a fetus beats noticeably faster than that of its mother
% with rates ranging from 120 to 160 beats per minute. The amplitude of the
% fetal electrocardiogram is also much weaker than that of the maternal
% electrocardiogram. The following series of commands creates an electrocardiogram
% signal corresponding to a heart rate of 139 beats per minute and a peak voltage
% of 0.25 millivolts.
x2 = 0.25*ecg(1725);
y2 = sgolayfilt(kron(ones(1ceil(NumSamp/1725)+1)x2)017);
del = round(1725*rand(1));
fhb = y2(n + del)‘;
subplot(332); plot(tfhb‘m‘);
axis([0 2 -0.5 0.5]);
grid;
xlabel(‘Time [sec]‘);
ylabel(‘Voltage [mV]‘);
title(‘Fetal Heartbeat Signal‘);
%% The measured signal
% The measured fetal electrocardiogram signal from the abdomen of the mother is
% usually dominated by the maternal heartbeat signal that propagates from the
% chest cavity to the abdomen. We shall describe this propagation path as a linear
% FIR filter with 10 randomized coefficients. In addition we shall add a small
% amount of uncorrelated Gaussian noise to simulate any broadband noise sources
% within the measurement. Can you determine the fetal heartbeat rate by looking
% at this measured signal?
Wopt = [0 1.0 -0.5 -0.8 1.0 -0.1 0.2 -0.3 0.6 0.1];
%Wopt = rand(110);
d = filter(Wopt1mhb) + fhb + 0.02*randn(size(mhb));
subplot(333); plot(td‘r‘);
axis([0 2 -4 4]);
%axis tight;
grid;
xlabel(‘Time [sec]‘);
ylabel(‘Voltage [mV]‘);
title(‘Measured Signal‘);
%% Measured Mom‘s heartbeat
% The maternal electrocardiogram signal is obtained from the chest of the mother.
% The goal of the adaptive noise canceller in this task is to adaptively remove the
% maternal heartbeat signal from the fetal electrocardiogram signal. The canceller
% needs a reference signal generated from a maternal electrocardiogram to perform this
% task. Just like the fetal electrocardiogram signal the maternal electrocardiogram
%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 73509 2012-02-26 17:27 FECG_hdl_fix1.mdl
文件 1583 2012-02-26 17:27 Hd.mat
文件 1325 2012-02-26 10:34 license.txt
文件 5854 2012-02-26 17:27 mom_and_fetus.m
- 上一篇:matlab生成菲涅尔透镜
- 下一篇:雷克子波程序
评论
共有 条评论