quasidst.sci

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

SCI
35
字号
function s = QuasiDST(x,dir)
// QuasiDST -- Nearly Discrete Sine Transform of Type I.
//   Usage
//    s = QuasiDST(x,dir)
//  Inputs
//    x     signal of dyadic length
//    dir   string direction indicator 'f' forward ; 'i' inverse 
// Outputs
//    s     discrete sine transform, type I, of x
//
// See Also
//    CoarseMeyerProj
//  Copyright Aldo I Maalouf

	n = length2(x)+1;

// Modifications of signal and sampling of transform are
// different for forward and inverse Meyer wavelet transforms.

	if ( dir == 'f' ),
	  rx  = matrix( [ zeros(1,n-1) ; x ],1,(2*n-2) );
	  y   = [ 0 rx zeros(1,2*n+1) ];
	  w   = (-1).*imag(mtlb_fft(y));
	  s   = sqrt(2/n)*w(3:2:n+1);
	
	elseif ( dir == 'i' ),
	  rx   = matrix( [ zeros(1,n-1) ; x ],1,(2*n-2) );
	   y   = [ 0 rx 0];
	   w   = (-1).*imag(mtlb_fft(y));
	   s   = sqrt(2/n)*w(2:n);
	
	end

endfunction

⌨️ 快捷键说明

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