%Matlab 小波一维去基线函数
function y = DeBaseline_Wavelet(x)
s = x;
maxlev=7; %分解6尺度
wavename = 'db6'; %小波函数名称(需根据信号定)
[C,L] = wavedec(s,maxlev,wavename);
%提取分解后逼近系数和细节系数
A7=appcoef(C,L,wavename,7);
D1=detcoef(C,L,1);
D2=detcoef(C,L,2);
D3=detcoef(C,L,3);
D4=detcoef(C,L,4);
D5=detcoef(C,L,5);
D6=detcoef(C,L,6);
D7=detcoef(C,L,7);
%将第一尺度置零
D1= zeros(1,length(D1))'; %去掉高频噪声
D2= zeros(1,length(D2))';
A7=zeros(1,length(A7));
C2 = [A7,D7',D6',D5',D4',D3',D2',D1']; %新的系数
y = (waverec(C2,L,wavename))'; %重构去基线后信号
小波去基线函数
最新推荐文章于 2024-03-25 15:03:29 发布