山东大学软件学院创新实训——项目记录(三)

基于多模态数据的脑卒中病人健康评估与预测系统

数据处理流程
1.将光密度转换为血氧浓度数据

将采集到的原始光强数据转换为氧合血红蛋白(Oxy-Hb),脱氧血红蛋白(Deoxy-Hb)和总的血红蛋白(Total-Hb),转换过程主要使用朗伯-比尔定律。

2.滤波

对数据滤波是一个常规的操作,目的就是去掉不需要的频率信号并保留属于fNIRS的频率信号。对血氧浓度数据进行巴特沃斯滤波,使用了matlab的工具包Butterworth Filters中的带阻滤波函数bandstop_butterworth()

在这里插入图片描述

3.小波去噪
(1)wden

传统的傅里叶分析中,信号是完全在频域展开,不包含任何时域信息。而小波变换具有多分辨率的特点,在时域和频域上都有表征局部信息的能力,时间窗和频率窗都可以根据信号的具体形态动态调整,在低频部分采用较低的时间分辨率,提高频率的分辨率,在高频情况下,采用较低的频率分辨率来获得精确的时间定位。

小波变换被广泛地应用在诸多领域,在信号分析方面主要用于滤波、去噪、压缩和传递等方面。

使用Matlab Wavelet Toolbox中的函数进行去噪操作。
wden函数是一种用小波进行一维信号的消噪或压缩的函数
此处使用了四种信号处理函数:

xdH=wden(x,'heursure',SORH,SCAL,N,'sym6');  %heursure阈值信号处理;
xdR=wden(x,'rigrsure',SORH,SCAL,N,'sym6');  %rigrsure阈值信号处理;
xdS=wden(x,'sqtwolog',SORH,SCAL,N,'sym6');  %sqtwolog阈值信号处理;
xdM=wden(x,'minimaxi',SORH,SCAL,N,'sym6');  %minimaxi阈值信号处理;

处理结果如下:

在这里插入图片描述
这是37个通道中的第3个通道,对所有通道进行相同的操作,将得到的数据保存起来。后面的函数也均以此通道为例展示。

(2)dwt和idwt

dwt和idwt是一维离散小波(反)变换。其中,小波变换的参数ca1是”大概信号”,也就相对于低频,ad1是“细节信号”,也就相对于高频。

[ca1,ad1]=dwt(x,'db2');
s=idwt(ca1,ad1,'db2');
err=norm(x-s);

处理结果如下:

在这里插入图片描述

(3)wavedec和wrcoef

wavedec函数和wrcoef函数也比较常用,wavedec函数是用于小波变换的多层次重构。wrcoef函数是用于对小波系数进行重构。

wavedec函数:多层次单尺度一维小波分解
wrcoef函数:对一维小波系数进行单支重构

wname='db1';
N=3;   %进行3尺度小波分解

%%% wrcoef函数:对一维小波系数进行单支重构
%%% s=wrcoef('type',C,L,'wname',N)   含N表示对N进行重构
%%% s=wrcoef('type',C,L,Lo_R,Hi_R,N)

type='a';   %a是大概approximation(低频);d是细节detail(高频)                
[C,L]=wavedec(x,N,wname);
sa=wrcoef(type,C,L,wname,N);               %N不加,默认为3
sd=wrcoef('d',C,L,wname);

处理结果如下:

在这里插入图片描述

(4)upwlev

upwlev就是将尺度往上返回了一级,其实与手动将wavedec中的N系数减一是等效的。

下图的结果体现了这一点,同时也对比了不同尺度上的低频(高频)的信号重构。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)wpdec和wprec

wpdec和wprec这两个函数是对一维小波包进行分解和重构。

wpt=wpdec(x,3,'db2');
rex=wprec(wpt);

处理结果如下:

在这里插入图片描述

参考资料:
1.小波变换(matlab)-常见脚本函数 https://blog.csdn.net/QWER306306/article/details/121847610
包含了上面过程的完整代码,处理自己的数据时不必生成随机含噪信号,把x替换为自己的数据即可。

2.MATLAB小波变换工具箱 Wavelet Toolbox 实际操作与训练 https://blog.csdn.net/qq_24598387/article/details/84977504

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值