📄 perform_lifting_transform_slow.m
字号:
function y = perform_lifting_transform_slow(x, step_type, step_param, Jmin, dir, options)
% perform_lifting_transform_slow - perform a lifting transform without relying on Mex file
%
% This is the Matlab non-optimized version of the function.
% See 'perform_lifting_transform' for the Mex version.
%
% y = perform_lifting_transform_slow(x, step_type, step_param, Jmin, dir, options);
%
% x: the 1D signal to transform in place.
% step_type: an integer array telling the succession of steps.
% 0 is for 'predict' step : detail channel is computed using
% predicted value from coarse scale.
% 1 is for 'update' step : coarse channel is computed using
% value from detail channel to enforce moment conservation.
% 2 is for 'scaling' step : coarse channel is multiplied by some
% 'zeta' factor, while coarse channel is divided by 'zeta'.
% 3 is for 'scaling' on details only.
% 4 is for 'scaling' on coarse only.
% 5 is for 'predict' without feedback
% 6 is for 'update' without feedback
% step_param : same length as step_types, 1 parameter for each step.
% Jmin: the coarsest scale. If Jmin=0, then it
% will perform a full transform (i.e. last coarse value is the mean).
% dir: +1 for forward transform (default), -1 for backward transform.
%
% 'options' is an (optional) structure that can contain:
% - 'verb' : control verbosity.
% - 'disc' : position of a discontinuity.
%
% Example of use :
% % the parameters of a 7/9 biorthgonal Wavelet
% alpha = -1.586134342;
% beta = -0.05298011854;
% gamma = 0.8829110762;
% delta = 0.4435068522;
% zeta = 1.149604398;
% step_types = [0,1,0,1,2];
% step_param = [alpha,beta,gamma,delta,zeta];
% x = sqrt(1:100);
% y = perform_lifting_transform_slow(x, step_type, step_param, 3);
%
% NB: if you don't understand lifting, don't use
% this function directly, but rather its
% wrappers like 'perform_lifting_transform_byname'.
%
% NB: After spliting coarse/detail the signal, i.e. x = [s,d]^T, the types of
% steps correspond to the matrix multiplications :
%
% Type 0 : |1 alpha*(1+z^-1)|
% |0 1 |
%
% Type 1 : |1 0|
% |beta*(1+z) 1|
%
% Type 2 : |zeta 0 |
% | 0 1/zeta|
%
% Type 3 : |1 0 |
% |0 zeta|
%
% Type 4 : |zeta 0|
% |0 1|
%
% Type 5 : |1 alpha+alpha'z^-1)|
% |0 1 |
%
% Type 6 : |1 0|
% |beta+beta'*z) 1|
%
% Copyright (c) 2005 Gabriel Peyr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -