📄 myilwt.m
字号:
%**************************************************************************
% 函数功能:一维提升小波反变换
% 输入参数:a为低频系数向量;d为高频系数向量,LS为使用的提升方案
% 返回值:返回重构向量x
%**************************************************************************
function x = myilwt(a,d,LS)
firstIdxAPP = 1; firstIdxDET = 1+mod(firstIdxAPP,2);
x = zeros(1,length(a)+length(d));
x(firstIdxAPP:2:end) = a;
x(firstIdxDET:2:end) = d;
if (size(a,1)>1) || (size(d,1)>1) , x = x'; end
clear a d
if ischar(LS) , LS = liftwave(LS); end
% Splitting.
lx = length(x);
idxAPP = firstIdxAPP:2:lx;
idxDET = firstIdxDET:2:lx;
lenAPP = length(idxAPP);
lenDET = length(idxDET);
%===================%
% LIFTING ALGORITHM %
%===================%
NBL = size(LS,1);
LStype = LS{NBL,3};
% Normalization.
if isempty(LStype)
x(idxAPP) = x(idxAPP)/LS{NBL,1};
x(idxDET) = x(idxDET)/LS{NBL,2};
end
% Reverse Lifting.
for k = NBL-1:-1:1
liftTYPE = LS{k,1};
liftFILT = -LS{k,2};%反变换时符号取反即可
DF = LS{k,3};
switch liftTYPE
case 'p'
x(idxAPP) = x(idxAPP) + forecastupdate(x(idxDET),liftFILT,DF,lenAPP,LStype);
case 'd'
x(idxDET) = x(idxDET) + forecastupdate(x(idxAPP),liftFILT,DF,lenDET,LStype);
end
end
%=========================================================================%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -