swt1d_recon.m

来自「编程实现基于小波变换尺度相关性去噪算法」· M 代码 · 共 55 行

M
55
字号
function s = swt1d_recon(a,d,n,h,g)%UNTITLED1 Summary of this function goes here%  Detailed explanation goes here% Preserve initial size.l = length(a(:,1));max_n = size(a,2);pow = 2^n;        % 设置 DWT_Mode 为 'per',即周期延拓modeDWT = 'per';% 一系列参数的初始化操作.si = 1;evenoddVal = 1;  %用于控制滤波器的上/下抽样s(:,si) = a(:,max_n); %初始化重构矩阵%初始化滤波器for i=1:max_n-1    g = dyadup(g,evenoddVal);    h = dyadup(h,evenoddVal);endfor k = max_n:-1:max_n-n+1   %开始逐级计算重构%     shift=ceil(2^(k-1)-0.5); %shift用于抵消 平移的误差    if(k==1)        shift = 0;    else        shift = -1;    end    % 延拓    lfh = length(h);    lfg = length(g);%     size(s(:,si))    aa = wextend('1D',modeDWT,s(:,si),round(lfh/2));    dd  = wextend('1D',modeDWT,d(:,k),round(lfg/2));        % 重构.逼近矩阵%     size(aa)    aa = wkeep(wconv('1D',aa,h),l,floor(lfh-shift)); % a*h          % 重构. 水平细节信息矩阵d1     dd= wkeep(wconv('1D',dd,g),l,floor(lfg-shift));  % d1*(g,l)    aa = aa + dd;        aa = aa./2;        si = si+1;    s(:,si) = aa;    % 对滤波器进行下抽样    g = dyaddown(g,1-evenoddVal);    h = dyaddown(h,1-evenoddVal);end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?