www.pudn.com > level_set_methods_1.1.zip > biorh11.m, change:2005-09-13,size:974b


function f=biorh1(c,d);%实现二次样条的一维重构,f是重构信号,c是分解后的低频系数,d是分解后的高频系数(乔世杰) 
h1=sqrt(2)*[-0.0061 0.0869 -0.5798 -0.5798 0.0869 -0.0061]; 
g1=sqrt(2)*[0 -0.1250 0.3750 -0.3750 0.1250 0]; 
n1=size(c); 
N=n1(2);%N是c的长度 
n2=size(d); 
L1=size(h1); 
L2=size(g1); 
if n1(2)==n2(2)%只针对低频系数与高频系数长度相等的情况 
    for n=0:2*n2(2)-1 
        t=0; 
        s=0; 
        for k=ceil((n-3)/2):floor(n/2+1)%mallat算法中,由h和g的支撑长度算出的参与计算的低频系数和高频系数的下标范围 
            if k<0 
                tt=c(-k); %低频左边界关于0半样本对称延拓 
                ss=-d(-k); 
            elseif k>N-1  
                tt=c(2*N-k); %低频右边界关于N-1半样本对称延拓 
                ss=-d(2*N-k); 
            else tt=c(k+1); 
                ss=d(k+1); 
            end 
            t=t+tt*h1(n-2*k+3) %低频部分对应项相乘 
            s=s+ss*g1(n-2*k+3) %高频部分对应项相乘 
        end 
        f(n+1)=t+s 
    end 
end