小波分析在心电信号去噪中的应用程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%应用db5作为小波函数进行3层分解

%利用无偏似然估计阈值

%对100.dat from MIT-BIH-DB的单导联数据进行去噪处理clear;clc

load('D:/matlab/matlab7.2/work/M.mat');

E=M(:,2);

E=E';

n=size(E);

s=E(1:2000);

%小波分解

[C L]=wavedec(E,3,'db5');

% 从c中提取尺度3下的近似小波系数

cA3=appcoef(C,L,'db5',3);

%从信号c中提取尺度1,2,3下的细节小波系数

cD1=detcoef(C,L,1);

cD2=detcoef(C,L,2);

cD3=detcoef(C,L,3);

%使用stein的无偏似然估计原理进行选择各层的阈值

%cD1,cD2,cD3为各层小波系数,

%'rigrsure’为无偏似然估计阈值类型

thr1=thselect(cD1,'rigrsure');

thr2=thselect(cD2,'rigrsure');

thr3=thselect(cD3,'rigrsure');

%各层的阈值

TR=[thr1,thr2,thr3];

%'s'为软阈值;'h'硬阈值。

SORH='s';

%---------去噪----------------

%XC为去噪后信号

%[CXC,LXC]为的小波分解结构

%PERF0和PERF2是恢复和压缩的范数百分比。

%'lvd'为允许设置各层的阈值,

%'gbl'为固定阈值。

%3为阈值的长度

[XC,CXC,LXC,PERF0,PERF2]=wdencmp('lvd',E,

...'db5',3,TR,SORH);

%---------去噪效果衡量(SNR越大效果越好,

%MSE越小越好)------------------------

%选取信号的长度。

N=n(2);

x=E;

y=XC;

F=0;

M=0;

for ii=1:N

m(ii)=(x(ii)-y(ii))^2;

t(ii)=y(ii)^2;

f(ii)=t(ii)/m(ii);

F=F+f(ii);

M=M+m(ii);

end;

SNR=10*log10(F);

MSE=M/N;

SM=SNR/MSE;

%对比原始信号和除噪后的信号subplot(2,1,1);

plot(s(1:1000));

title('原始信号')

subplot(2,1,2);

plot(XC(1:1000));

title('除噪后的信号') SNR,MSE

相关文档
最新文档