📄 swt1d_recon.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -