detailmeyerproj.sci

来自「小波分解源代码」· SCI 代码 · 共 61 行

SCI
61
字号
function dpjf = DetailMeyerProj(alpha,j,n,deg)
// DetailMeyerProj -- Invert Meyer Transform, level j, 3 <= j <= J-2
//  Usage
//    dpjf = DetailMeyerProj(alpha,j,n,deg)
//  Inputs
//    alpha    Meyer Wavelet Coefficients, dyadic length 2^j
//    j        resolution level
//    n        length of signal vector (must be of the form 2^J)
//    deg      degree of Meyer window
//  Outputs	
//    dpjf     projection of signal onto approximation space V_C
//             (length(cpjf) = n)
//
//  See Also
//    UnfoldMeyer, dct_ii, dst_ii, SeparateCoeff, ExtendProj
//
//  Copyright Aldo I Maalouf
//
// *** Set end points.

	lendp = 2^(j-1); rendp = 2^j;
  
//*** Calculate trigonometric coefs from wavelet coefficients.

	[rtrigcoefs, itrigcoefs] = SeparateCoeff(alpha,'m');

// *** Calculate projection of real part of \hat f (even)
// Take DST-II of local sine coefficients.

	rtrigrec = dst_ii(rtrigcoefs);

// Unfold trigonometric reconstruction w/ (-,+) polarity.

	unflde = UnfoldMeyer(rtrigrec,[lendp,rendp],'mp','m',deg);

// Extend unfolded signal to integers -n/2+1 -> n/2 .

	eextproj = ExtendProj(unflde,n,'m',[lendp,rendp],'e');

// *** Calculate projection of imaginary part of \hat f (odd)
// Take DCT-II of local cosine coefficients.

	itrigrec = dct_ii(itrigcoefs);

// Unfold trigonometric reconstruction w/ (+,-) polarity.

	unfldo = UnfoldMeyer(itrigrec,[lendp,rendp],'pm','m',deg);

// Extend unfolded signal to integers -n/2+1 -> n/2 .

	oextproj = ExtendProj(unfldo,n,'m',[lendp,rendp],'o');

//*** Combine real and imaginary parts to yield coarse level
//*** projection of \hat f.

	dpjf = ( eextproj + %i .* oextproj ) ;

endfunction
//   
    

⌨️ 快捷键说明

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