mylwtcoef.m
来自「此为基于二代提升小波的阈值压缩算法源码」· M 代码 · 共 56 行
M
56 行
%**************************************************************************
% 函数功能:提取或重构一维提升小波变换的系数
% 输入参数:type的有效选择如下:
% - 'a' 提取重构的低频
% - 'd' 提取重构的高频
% - 'ca' 提取低频系数
% - 'cd' 提取高频系数
% xDEC是由提升方案LS得到的尺度为level层的分解;levEXT指定提取的层数
% 返回值:返回由xDEC提取的尺度为levEXT的系数或重构系数
%**************************************************************************
function OUT = mylwtcoef(type,xDEC,LS,level,levEXT)
firstIdxAPP = 1;
firstIdxDET = 1+mod(firstIdxAPP,2);
DELTA = firstIdxAPP-1;
indCFS = [1:length(xDEC)];%系数的编号向量
indEXT = (1-DELTA)*ones(1,levEXT);
switch type
case {'a','ca'}
case {'d','cd'} , indEXT(levEXT) = DELTA;
end
% 计算提取系数的序号
for k=1:levEXT
first = 2-indEXT(k);
indCFS = indCFS(first:2:end);
end
switch type
case {'a','d'}%重构尺度系数和小波系数
OUT = zeros(size(xDEC));
OUT(indCFS) = xDEC(indCFS);
for i=1:level
lx = length(OUT);
idxAPP = firstIdxAPP:2:lx;
idxDET = firstIdxDET:2:lx;
a = OUT(idxAPP);
d = OUT(idxDET);
OUT = myilwt(a,d,LS);
end
case {'ca','cd'}%提取尺度系数和小波系数
OUT = xDEC(indCFS);
if isequal(type,'ca') & (level>levEXT)
for i=1:level-levEXT
lx = length(OUT);
idxAPP = firstIdxAPP:2:lx;
idxDET = firstIdxDET:2:lx;
a = OUT(idxAPP);
d = OUT(idxDET);
OUT = myilwt(a,d,LS);
end
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?