资源简介

1,包括lms自适应提取胎儿心电的算法。 2,一个心电的数据。

资源截图

代码片段和文件信息

clear all ;
load foetal_ecg.dat 
abdominal =foetal_ecg(:2:6); %loading  abdominal signals  
thoraic =foetal_ecg(:7:9) ; %loading  thoraic signals 
d= mean(abdominal2); %Average of abdominal signals
x=mean(thoraic2); %Average of thoraic signals
M=2500; %数据长度
N = 8; %order of the filter
mu = .0000006; %value of step size
iter=length(x); %迭代次数默认为输入信号长度
w=zeros(NM); %每一行代表一个加权参量,每一列代表一次迭代,初始为 0
e=zeros(M1); %误差序列, e(k) 表示第 k 次迭代时预期输出与实际输入的误差
%将 y 信号右移 N位,以便进行迭代时的加权运算
x1=zeros(N1);
for i=N+1:(N+M-1)
x1(i)=x(i+1-N);
end
%调整滤波器系数的 LMS算法
for n=2:iter;
x2=x1(n:1:n+N-1);
y(n)=w(:n-1).‘*x2; %每次取 N个参考信号与权系数相乘得到噪声估计
e(n)=d(n)-y(n); %噪声抵消的输出
w(:n)=w(:n-1)+2*mu*x2*e(n); %权矢量迭代
end ;
%最后稳定后的胎儿心电信号
for n=2:iter;
x2=x1(n:1:n+N-1);
y(n)=w(:end).‘*x2; %每次取 N个参考信号与最后稳定权系数相乘得到噪声估计
e(n)=d(n)-y(n); %噪声抵消的输出
end 
%输出三个心电波形
figure(1);
subplot(311);
plot(x);
title( ‘ 母亲心电信号 ‘ );
subplot(312);
plot(d);
title( ‘ 混合心电信号 ‘ );
subplot(313)
plot(e);
title( ‘ 滤波后的胎儿心电信号 ‘ );

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     227500  2018-08-30 09:27  LMS FECG\foetal_ecg.dat

     文件       1212  2018-08-30 09:27  LMS FECG\yxj_lms.m

     目录          0  2018-09-21 09:45  LMS FECG

----------- ---------  ---------- -----  ----

               228712                    3


评论

共有 条评论