ecg1.m
来自「matlab的小波对一个心电信号进行去噪处理」· M 代码 · 共 47 行
M
47 行
clear;
%正常人心律信号
fid=fopen('2.txt','r');
x=fscanf(fid,'%f %f %f',[600 3]);
fclose(fid);
N=length(x);
for i=0:N/3-1
t(i+1)=x(3*i+1);
sig1(i+1)=x(3*i+2);
sig2(i+1)=x(3*i+3);
end
s=sig1+0.5*randn(1,length(sig1));
%时域信号
figure(1);
subplot(2,1,1);plot(t,s,'LineWidth',2);xlabel('时间 t/s');ylabel('电压 V/mV');
title('含噪的ECG信号');
%选用小波函数
wavelet='db5';
%分解级数
level=5;
%压缩参数
alpha=1.5;
%阈值类型
sorh='h';
%小波分解
[c,l]=wavedec(s,level,wavelet);
%计算阈值
[thr,nkeep]=wdcbm(c,l,alpha);
%使用硬阈值压缩信号
[xc,cxc,lxc,perf0,perf12]=wdencmp('lvd',c,l,wavelet,level,thr,sorh);
subplot(2,1,2);plot(t,xc,'LineWidth',2);xlabel('时间 t/s');ylabel('电压 V/mV');
title('重构的ECG信号');
%对系数编码
cC=encode(cxc);
%传输的系数
tC=cC;
%传输的系数向量长度
tL=length(tC);
%零系数的百分比
pzeros=perf0;
%保留的能量大小
pnormen=perf12;
%编码的压缩比
compratio=length(s)/length(tC);
pzeros
pnormen
compratio
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?