⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 meanfilter.m

📁 计算脑电信号非线性参数
💻 M
字号:
%本程序采用中值滤波实现去心电信号基线漂移%
%林宛华  中南大学生物医学工程医学图像与信号处理实验室   %
%E-mail: wanhualin01@163.com%
%2008年3月10日%
function ECG=meanfilter(L,k,n)%心电数据系列的长度,窗宽为2*k+1,n为滤波次数
load ECG2;
data2 = data2';
subplot(4,1,1),plot (data2, 'DisplayName', 'data2', 'YDataSource', 'data2'),title('原始信号'); figure(gcf);
tic
for i=1:n
data_extend_init = zeros(1,k); %初始化延拓函数
BL = zeros(1,L);%初始化基线
processed_data = zeros(1,L);%初始化处理结果
data_extend_left = data_extend_init+data2(1);
data_extend_right = data_extend_init+data2(L);
data_extend = [data_extend_left data2 data_extend_right];%得延拓函数
subplot(4,1,2),plot (data_extend, 'DisplayName', 'data_extend', 'YDataSource', 'data_extend'),title('延拓信号'); figure(gcf);
for i=1:L
    sort_data = data_extend(:,i:i+2*k);
    for m=1:2*k
        for n=m+1:2*k
            if(sort_data(m)>sort_data(n))
              p=sort_data(m);
              sort_data(m)=sort_data(n);
              sort_data(n)=p; 
            end
        end
    end
     BL(i)=sort_data(k);%取中间值
     processed_data(i)=data2(i)-BL(i);
end
subplot(4,1,3),plot (BL, 'DisplayName', 'data2', 'YDataSource', 'BL'),title('基线信号'); figure(gcf);
subplot(4,1,4),plot (processed_data, 'DisplayName', 'processed_data', 'YDataSource', 'processed_data'),title('滤波信号'); figure(gcf);
data2=processed_data;
end
toc

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -