📄 program_17_04_special.m
字号:
clear;
%正常人心律信号
fid=fopen('normalecg.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=4;
%压缩参数
alpha=1.5;
%阈值类型
sorh='h';
%小波分解
[c,l]=wavedec(s,level,wavelet);
%计算阈值
[thr,nkeep]=wdcbm(c,l,alpha);
%使用硬阈值压缩信号
[xc,cxc,lxc,perf0,perfl2]=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=perfl2
%编码的压缩比
compratio=length(s)/length(tC)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -