心电信号去噪算法归纳

心电信号去噪算法归纳_第1张图片

目录

 一、小波变换

小波变换简介

傅里叶变换的不足:

STFT

 小波变换

 小波变换公式

 衰减的小波对于突变信号

 小波去噪效果(加入高斯白噪声)

代码:

 二、自适应滤波器

1、简介

2、如何检验自适应滤波器的性能

 三、自适应滤波器抽头系数调整算法


 一、小波变换

小波变换简介


        传统的信号理论,是建立在Fourier分析基础上的,而Fourier变换作为一种全局性的变化,其有一定的局限性,如不具备局部化分析能力、不能分析非平稳信号等。在实际应用中人们开始对Fourier变换进行各种改进,以改善这种局限性,如STFT(短时傅立叶变换)。由于STFT采用的的滑动窗函数一经选定就固定不变,故决定了其时频分辨率固定不变,不具备自适应能力,而小波分析很好的解决了这个问题。
小波变换的优点:
        小波变换与Fourier变换相比,是一个时间和频域的局域变换因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析,解决了Fourier变换不能解决的许多困难问题。


傅里叶变换的不足:

心电信号去噪算法归纳_第2张图片

 以快速傅里叶变换为例:
        最上边的是频率始终不变的平稳信号。而下边两个则是频率随着时间改变的非平稳信号,它们同样包含和最上信号相同频率的四个成分。做FFT后,我们发现这三个时域上有巨大差异的信号,频谱却非常一致。尤其是下边两个非平稳信号,我们从频谱上无法区分它们,因为它们包含的四个频率的信号的成分确实是一样的,只是出现的先后顺序不同。
        可见,傅里叶变换处理非平稳信号有天生缺陷。它只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的时刻并无所知。因此时域相差很大的两个信号,可能频谱图一样。

STFT

通过加窗解决FFT缺陷:分段做FFT

心电信号去噪算法归纳_第3张图片

 结果显示:

图上既能看到 10Hz, 25 Hz, 50 Hz, 100 Hz 四个频域成分,还能看到出现的时间。

心电信号去噪算法归纳_第4张图片

 但STFT也有局限性

心电信号去噪算法归纳_第5张图片

 小波变换

小波变换与STFT不同点:

STFT是给信号加窗,分段做FFT,而小波直接把傅里叶变换的基给换了,将无限长的三角函数的基换成了有限长的会衰减的小波基,这样不仅能够获取频率,还可以定位时间

 心电信号去噪算法归纳_第6张图片

 小波变换公式

心电信号去噪算法归纳_第7张图片

 •从公式可以看出,不同于傅里叶变换,变量只有频率w,小波变换有两个变量:尺度a 和平移量T 尺度a控制小波函数的伸缩,平移量T控制小波函数的平移。尺度就对应于频率(反比),平移量T就对应于时间。

心电信号去噪算法归纳_第8张图片

 衰减的小波对于突变信号

心电信号去噪算法归纳_第9张图片

 心电信号去噪算法归纳_第10张图片

 小波去噪效果(加入高斯白噪声)

心电信号去噪算法归纳_第11张图片

代码:

%%小波多种方法去噪和信噪比
clear
close all
clc

%% 产生一个长为2^10点,包含高斯白噪声的正弦信号,信噪比0.1。

sqrt_snr=2;

[x,xn]=wnoise(1,10,sqrt_snr);


figure
subplot(211)
plot(x)
title('原始信号')
subplot(212)
plot(xn)
title('染噪信号')
set(gcf,'Color',[1 1 1])

lev=5;
%% 用全局默认阈值进行去噪处理 
[thr,sorh,keepapp]=ddencmp('den','wv',x);         % 获取全局默认阈值 
xd=wdencmp('gbl',x,'dmey',lev,thr,sorh,keepapp);    %利用全局默认阈值对信号去噪

figure
subplot(311)
plot(x)
title('原始信号')
subplot(312)
plot(xn)
title('染噪信号')
subplot(313)
plot(xd)
title('dmey小波全局默认阈值去噪')
set(gcf,'Color',[1 1 1])
%% 启发式阈值,不随噪声水平变化
lev=5;
xd=wden(x,'heursure','s','one',lev,'sym3');

figure
subplot(311)
plot(x)
title('原始信号')
subplot(312)
plot(xn)
title('染噪信号')
subplot(313)
plot(xd)
title('sym3小波启发式SURE阈值去噪')
set(gcf,'Color',[1 1 1])
% 利用’sym8’小波对信号分解,在分解的第5层上,利用启发式SURE域值选择法对信号去噪。


%% 启发式阈值,根据第一层小波分解的噪声水平估计进行调整
xd=wden(x,'heursure','s','sln',lev,'haar'); 
figure
subplot(311)
plot(x)
title('原始信号')
subplot(312)
plot(xn)
title('染噪信号')
subplot(313)
plot(xd)
title('haar小波软SURE阈值去噪')
set(gcf,'Color',[1 1 1])
% 同上’sym8’小波对信号分解条件,但用软SURE域值选择算法对信号去噪。


%% 固定式阈值
xd=wden(x,'sqtwolog','s','sln',lev,'db3'); 
figure
subplot(311)
plot(x)
title('原始信号')
subplot(312)
plot(xn)
title('染噪信号')
subplot(313)
plot(xd)
title('db3小波固定式阈值去噪')
set(gcf,'Color',[1 1 1])

 二、自适应滤波器

1、简介

        自适应滤波器属于一种时变的非线性滤波器,能够自动估计系统输入信号和输出期望信号之间的统计特性,并采用预先设定的算法实时地调整滤波器参数。可以采用不同的结构设计自适应滤波器模型达到系统设计需求,其中有限冲激相应 FIR 滤波器和无限冲激响应 IIR 滤波器是两种主要的设计结构。
        通常 FIR 结构采用的是非递归的形式,而 IIR 结构使用递归的结构形式实现最终的功能效果。
        FIR 结构的横向滤波器,又被称为抽头延迟线滤波器,一般由单位延迟器、乘法器和加法器三个基本的组成单元构成。滤波器的抽头系数mw 代表的是每个抽头的权值,也称为自适应滤波器系数。

2、如何检验自适应滤波器的性能

心电信号去噪算法归纳_第12张图片

 三、自适应滤波器抽头系数调整算法

心电信号去噪算法归纳_第13张图片

 心电信号去噪算法归纳_第14张图片

 

你可能感兴趣的:(学习笔记,matlab,算法)