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

📄 ddrefine.sci

📁 小波分解源代码
💻 SCI
字号:
function a2 = DDRefine(a,D,Filter,LEF,REF)
// DDRefine -- Deslauriers-Dubuc Refinement Scheme
//  Usage
//    fine = DDRefine(coarse,D,Filter,LEF,REF)
//  Inputs
//    coarse    1-d signal at a coarse scale: length(coarse)=n
//    D         D degree of polynomials used for interpolation
//    Filter    interpolating filter from MakeDDFilter(D)
//    LEF       Left Edge Boundary filter from MakeDDBdryFilter(D)
//    REF       Right Edge Boundary filter from MakeDDBdryFilter(D)
//  Outputs
//    fine      1-d signal at a fine scale: length(fine) = 2*n
//
//  Description
//    The Deslauriers-Dubuc Refinement scheme (symmetric
//    Lagrangian Interpolation of order D) is used to refine
//    data on a grid of n points to data on a grid of 2n points.
//    The odd samples 2*i-1 at the fine scale agree with samples i
//    at the coarse scale; the even samples 2*i are obtained by 
//    polynomial interpolation of the coarse samples near i.
//
//  See Also
//    DDDyadUp, DDDyadDown, FWT_DD, IWT_DD
//
//  Copyright Aldo I Maalouf

	n = length(a); n2 = 2*n; a2 = zeros(1,n2);
//
//  Filtering, at Heart of Interval
//
	ae = [ a; 0 .*a ]; ae = ae(:)'; 
	temp = conv(Filter,ae);
	a2((D):(n2-D+1)) = temp((2*D):(n2+1));
//
//  Boundary-Correction
//
	if D > 1,
	  a2(1:(D-1)) = (LEF * (waverow(a(1:(D+1)))'))';
	  a2((n2-D+2):n2) = reverse(REF * (reverse(a((n-D):n))'));
	end
 endfunction

⌨️ 快捷键说明

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