信号处理基础知识-2 小波变换去噪

1. 小波介绍

1.1 频域变换分析与小波变换分析

        信号分析一般是为了获得时间和频率域之间的相互关系。

        傅立叶理论:一个信号可表示成一系列正弦和余弦函数的和,称为傅立叶展开式。其可以确定信号中包含的所有频率,提供了有关频率域的信息,不能确定具有这些频率的信号出现在什么时间,时间方面的局部化信息基本丢失。

       数字滤波器在信号和噪声的频带相互重叠的情况下,往往效果较差,小波变换则具有良好的时频局部化特性,在此类情况中具有独特的优势。 

        Q: 什么是信号的三大变换?

        信号三大变换是时间域变换、频率域变换和小波变换。它们之间的关系如下:

        1.时间域变换: 将信号在时间轴上进行变换,可以得到信号的时域特性,例如信号的幅度、相位、波形等。常见的时间域变换包括傅里叶级数、傅里叶变换和拉普拉斯变换。

        2.频率域变换: 将信号在频率轴.上进行变换,可以得到信号的频域特性,例如信号的频谱、频率分量等。常见的频率域变换包括傅里叶变换和功率谱密度估计。

        3.小波变换: 将信号在时频域上进行变换,可以得到信号的局部时频特性,例如信号的瞬时频率、瞬时幅度等。小波变换可以在不同尺度上对信号进行分解和重构,因此被广泛应用于信号处理领域。

        这三种变换之间存在- -定的联系和转换 关系,例如傅里叶变换可以通过拉普拉斯变换推导出来,小波变换也可以看作是- -种特殊的傅里叶变换。同时,不同变换之间也可以相互转换,例如可以通过傅里叶变换得到信号的频谱, 再通过逆傅里叶变换将其转换回时域。

1.2 小波的概念

 1.3 离散小波变换

        因为实际项目处理的信号很多都是离散信号,故只介绍离散小波变换当作备忘。

2. 去噪问题描述

        设长度为 的信号 被噪声 所污染,所测得的含噪数据

​​​​​​        根据小波变换的线性特性可以得到,变化后的含噪数据 为信号 和噪声 小波变换的之和。因此,对含噪数据 进行多尺度小波变换后,在各尺度下抑制噪声 的小波系数,保留信号 的小波系数,最后重构即可实现去噪目的。

Ref.  孙延奎. 小波变换与图像、图形处理技术[M].  清华大学出版社,2012.

3. 小波阈值收缩法去噪

       利用小波阈值收缩法实现对信号的保留和噪声的抑制,是小波变化去噪中使用最广泛的方法,该方法可以实现在最小均方差意义达到近似最优。其主要理论依据是,经过小波分解后,信号的小波系数幅值要大于噪声的幅值。因此可以设定一个阈值,使幅值低于阈值的小波系数置零,高于阈值的小波系数保留或作收缩处理,最后进行小波重构即可完成去噪。

        在实际信号处理中,小波分解和阈值处理两个步骤往往需要确定相关的参数:

        a. 小波分解:小波基的选择与分解层数的确定

        小波基的选择和分解层数的确定是小波分解中的需要确定的参数。对于小波基的选择标准,往往通过不同小波的支撑长度、对称性、正则性、与信号波形的相似性等方面考虑。

        LINK:有关小波的几个术语及常见的小波基介绍

        对于分解层数的选择,往往根据奈奎斯特采样定理可得在进行第 层分解时,各个频段的范围与实际要求综合确定。分解层数越多虽然噪声和信号的分离程度越明显,但是信号重构后的失真程度也越严重。

        各个频段的分解范围下限值  如下式所示:

式中 为信号的采样频率。

举例:语音信号分解项目,

        语音信号频率范围和小波分解的频率分布决定了小波分解的层数。

        语音信号在经过四级小波分解之后,在第四级的低频部分(离散逼近信号)的频率范围为0~500Hz。语音信号的频率范围一般为300~3400Hz,因此若再做一次分解,那么第五级的低频部分的频率范围将是0~250Hz,显然己低于语音信号的频率范围的下限。对于这一部分的处理将失去意义。所以,对采样率为8kHz 的语音信号一般只做四级小波分解,若采样频率发生变化,则对语音信号的小波分解级数也将相应地发生变化。

 Ref. 邓玉娟. 基于小波变换的语音阈值去噪算法研究[D]. 重庆大学,2009.

        b. 阈值处理:阈值的选取和阈值函数的选择

        阈值处理步骤通过阈值和阈值函数抑制含噪信号的小波系数。

        阈值主要有四种选择:固定阈值(sqtwolog)、无偏似然估计阈值(rigrsure)、极大极小阈值(minimaxi)和启发式阈值(heursure)。sqtwolog阈值和heursure阈值去噪效果相对另外两种阈值更彻底,但是也可能会把有用的信号去除。

        阈值函数有硬阈值(Hard threshold)和软阈值(Soft threshold)两种阈值函数。硬阈值对于信号细节的信息保留的较为完整,但也存在部分噪声残留;软阈值处理的信号较为平滑,也使得部分细节信号遗失。

Ref.  孙延奎. 小波变换与图像、图形处理技术[M].  清华大学出版社,2012.

  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您可以使用MATLAB小波变换函数来对MIT心电信号进行去噪。首先,您需要加载MIT心电信号数据,并应用小波变换。 以下是一个简单的示例代码,演示如何使用MATLAB进行小波变换去噪: ```matlab % 加载MIT心电信号数据 load mit_ecg_data.mat; % 载入小波库 load wavelets.mat; % 选择一个小波函数 waveletName = 'db4'; % 小波变换去噪参数 level = 6; % 小波分解的层数 threshold = 0.4; % 阈值 % 对每个心电信号应用小波变换去噪 denoised_signals = zeros(size(ecg_signals)); for i = 1:size(ecg_signals, 1) % 对当前心电信号应用小波变换 [C, L] = wavedec(ecg_signals(i,:), level, waveletName); % 计算软阈值 thr = threshold*sqrt(2*log(length(ecg_signals(i,:)))); % 应用软阈值 C_den = wthresh(C, 's', thr); % 重构去噪后的心电信号 denoised_signals(i,:) = waverec(C_den, L, waveletName); end % 绘制原始和去噪后的心电信号 figure; subplot(2,1,1); plot(ecg_signals(1,:)); title('原始心电信号'); subplot(2,1,2); plot(denoised_signals(1,:)); title('去噪后的心电信号'); ``` 请确保您已经将MIT心电信号数据保存在名为`mit_ecg_data.mat`的MAT文件,并将小波库保存为名为`wavelets.mat`的MAT文件。 注意:此示例使用了db4小波函数,您可以根据需要选择其他小波函数。另外,阈值的选择也可能需要根据具体情况进行调整。 希望这可以帮助您进行MIT心电信号小波变换去噪。如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EA电子异术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值