⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mylwtcoef.m

📁 此为基于二代提升小波的阈值压缩算法源码
💻 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 + -