当前位置:
文档之家› 小波去噪阈值的确定和分解层数的确定
小波去噪阈值的确定和分解层数的确定
小波包阈值去噪的过程
4 Reconstruction Compute wavelet packet reconstruction based on the original approximation coefficients at level N and the modified coefficients.(根据计算后的小 波包系数重构原信号。)
1
0.5
0
-0.5
获得单个阈值,对所有的高频小波系数进行处理。
-1
-1.5
0
50
100
150
200
250
300
350
400
450
软阈值去噪 1.5
1
0.5
0
-0.5
-1
-1.5
0
50
100
150
200
250
300
350
400
450
小波去噪阈值的几种方法
1.5 1
小波包分解和重构去噪
[c,l]=wavedec(x,level,wname); ca3=appcoef(c,l,wname,3); cd3=detcoef(c,l,3); cd2=detcoef(c,l,2); cd1=detcoef(c,l,1); xd4=wrcoef('a',c,l,wname,level);
小波包阈值去噪的过程
1 Decomposition For a given wavelet, compute the wavelet packet decomposition of signal x at level N.(计算信号x在N层小波包分解的系数) 2 Computation of the best tree For a given entropy, compute the optimal wavelet packet tree. Of course, this step is optional. The graphical tools provide a Best Tree button for making this computation quick and easy.(以熵为准则,计算最佳树,当然 这一步是可选择的。) 3 Thresholding of wavelet packet coefficients For each packet (except for the approximation), select a threshold and apply thresholding to coefficients.(对于每一个小波包分解系数,选择阈值 并应用于去噪) The graphical tools automatically provide an initial threshold based on balancing the amount of compression and retained energy. This threshold is.(工具箱会根据压缩量和剩余能量提供一个初始化的阈值,不过仍需要不 断测试来选择阈值优化去噪效果) a reasonable first approximation for most cases. However, in general you will have to refine your threshold by trial and error so as to optimize the results to fit your particular analysis and design criteria.
小波去噪阈值的几种方法
[xd5,cd,xd]=wden(x,'rigrsure','s','sln',level,wname); 函数调用模板: [XD,CXD,LXD] = wden(X,TPTR,SORH,SCAL,N,'wname') 对一维信号使用小波进行自动去噪处理。 TPTP决定了阈值去噪准则 rigrsure阈值,是一种基于Stein的无偏似然估计原理的自适应阈值选择; sqtwolog阈值,采用的是一种固定的阈值形式,它所产生的阈值为 2log(length(x)) heursure阈值,是前两种阈值法的综合,所选择的是最优预测变量阈值, 当信噪比很小,阈值估计有很大噪声时就需要采用这种固定的阈值形式 minimax阈值
-1
0.5
-0.5
0
0
-0.5
0.5
-1
1
-1.5
1.5 自适应小波去噪
0
50
100
150
200
250
300
350
400
450
sqtwolog
自适应小波去噪 1.5
1.5
minimaxi
自适应小波去噪 1
1
0.5
0.5
0
0
-0.5
-0.5
-1
-1
-1.5
-1.5
-2 0
50
100
150
200
250
300
*
14* 8
例:
50 10(20) 3(11) 1* 2* 7(12) 3* 4* 22 11(13) 5* 6* 7
*
14* 8
小波包初始分解树——300HZ正弦信号/8000HZ采样频率
小波包最佳分解树——300HZ正弦信号/8000HZ采样频率
小波去噪阈值的几种方法
1 0.8 0.6
• • • • • • • • •
选择步骤:
(1)将代表信息代价的数字写在树的结点里。 (2)从最下层开始,为在每个代表结点的框中的代价函数 值都标上*号。
(3)将最低层的信息代价作为一个初始值,称上层结点为父结点, 下层结点为子结点,若父结点的信息代价比子结点低,那么就标记父 结点,否则不标记,将该值加上括号且把两个子结点的和值写在括号 外,如此上推,直到顶层。
小波去噪阈值的几种方法
[xd5,cd,xd]=wden(x,'rigrsure','s','sln',level,wname); 函数调用模板: [XD,CXD,LXD] = wden(X,TPTR,SORH,SCAL,N,'wname') 对一维信号使用小波进行自动去噪处理。 Scal决定了阈值尺度。 输入参数Scal规定了阈值处理随噪声水平的变化:
350
400
450
小波包阈值选取
wpt1=wpdec (x, level, wname); for i=1:1:M p=wpcoef (wpt1,[level,i-1]);%依次提取各频段小波系数 t(i)=length(p); for j=1:1:t(i) if abs(p(j))<thr2(i) p(j)=0; else p(j)=p(j);%/abs(p(j))*(abs(p(j))-thr2(i)); end end nd =leaves(wpt1); wpt1=write(wpt1,'cfs',nd(i),p); xd1=wprec (wpt1);
分解尺度的选择
不同信号,不同信噪比下都存在一个去噪效果最好或接近最好 的分解层数。分解层数对于消噪效果的影响很大, 通常分解 层数过多, 而且对所有的各层小波空间的系数都进行阈值处 理会造成信号的信息丢失严重, 消噪后的信噪比反而下降, 同 时导致运算量增大, 使处理变慢。分解层数过少则消噪效果 不理想, 信噪比提高不多, 但不会出现信噪比下降的情况。
Scal=‘one’,不随噪声水平变化。
Scal=‘sln’,根据第一层小波分解的系数估计各层阈值。 Scal=‘mln’,根据每一层小波分解的系数估计阈值。
rigrsure
0 -2 50 100 150 200 250 300 350 400 450
1.5
heursure
自适应小波去噪 1
-1.5
常用代价函数:
1、数列中大于给定门限的系数的个数。即预先给 定一门限值 0 ,并计数数列中绝对值大于 的 元素的个数。
2、范数。
M ({xk }) {xk } 通常选, {xk } =( x kp )
k 1 p
p0
(范数愈小,能量愈集 中。)
常用代价函数:
3、熵
M ({xk }) | xk |2 log | xk |2
最优小波包分解树的选择
在对函数或信号进行小波包分解时,由于Wj有不同的分解方式, 我们面临“最优分解树”的选择问题。
代价函数M:
定义一个序列的代价函数,、寻找使代价函数最 小的分解树 ,对一个给定向量来说,代价最小 就是最有效的表示,此基便为“最优树”。 代价函数的基本要求: 1.单调性。 2.可加性(次可加性)
0.5
0
-0.5
-1
-1.5
0
50
100
150
200
250
300
350
400
450
对某个小波系数进行单支重构,得到原信号在该系数对应的尺度 下的信号分量,其长度与原信号一致。 实际动作:循环做补零升采样、与重构滤波器卷积。直到回到第 1层,也就是跟原信号一样长。单支重构与普通的小波逆变换原 理一样.
t=0:1/8000:0.05; f=300; y=sin(2*pi*f*t); m=length(y); signal=y+0.3*wgn(1,m,1); x=signal; level=3; wname='db6'; [c,l]=wavedec(x,level,wname);
0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 50 100 150 200 250 300 350 400 450