📄 mylwtcoef.m
字号:
%**************************************************************************
% 函数功能:提取或重构一维提升小波变换的系数
% 输入参数: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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -