
%%%%%%%%%%%%%%%Birge-Massart策略阈值降噪
%基于小波变换的心电信号的降噪
ecg=fopen('100.dat','r')% 调用心电数据库 r为只读,ecg是打开文件的识别符
N=1201%常数赋值,要读数据个数
data=fread(ecg,N,'int16')%从一个流中读N个数据,数据格式是int16,16进制整数
data=data/10000%数据缩小10000倍
fclose(ecg)%关闭打开的文件
x=data%把数据转赋给x变量
wavename='db5'%db5是小波名
level=4%4级分解
[c,l]=wavedec(x,level,wavename)%4级小波分解,c保存各级分解系数,l是薄记矩阵,保存各级的系数的个数
alpha=1.5%1.5用于信号压缩,3用于降噪
sorh='h'%为硬阈值
[thr,nkeep]=wdcbm(c,l,alpha)%使用Birgé-Massart策略计算一维小波分解或压缩的阈值thr和各级的系数个数nkeep
[xc,cxc,lxc,perf0,perfl2]=wdencmp('lvd',c,l,wavename,level,thr,sorh)%小波压缩重构后的图像
t1=0:0.004:(length(x)-1)*0.004%一行数据
figure(4)%打开一个图形窗口
subplot(211)%子图1
plot(t1,x)%画图形
title('从人体采集的原始的ECG信号')%加上子图名称
subplot(212)%子图2
plot(t1,xc)%画图形
title('Birge-Massart策略阈值降噪后的ECG信号(wname=db5 level=4)')%加上子图名称
把你的图像存成“prefix+数字.格式”的形式, 例如“IMG1.jpg,IMG2.jpg". Threshold是阈值,随你设从0~255之间就可以。假如你有100张图,存为C:\IMG1.jpg~C:\IMG100.jpg,运行
findeye(100,'C:\IMG','jpg,50)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)