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

📄 meyerpartition.m

📁 完整的curvelet变换(2.0)实现
💻 M
字号:
function y = MeyerPartition(xhat, L, deg)
% MeyerPartition: Partitions a signal into a series of disjoint scales
%  Usage:
%     y = MeyerPartition(xhat, L, deg);
%  Inputs: 
%    xhat   Input signal
%    L      Coarsest Scale
%    deg    Degree of the polynomial
%  Outputs:
%    y     Vector of length 2*n
%  Description
%    Decomposes the Fourier transform of an object into dyadic
%    subbands by smooth windowing with orthonormal Meyer windows
%
% By Emmanuel candes, 2003-2004


        n = length(xhat);
	J = log2(n);
	y = zeros(1,2*n);
% 
%  Compute Partition at Coarse Level.
%

	[index, window] = CoarseMeyerWindow(L-1,deg);
	left_index = reverse(n/2 + 1 - index);
	left = xhat(left_index).* reverse(window);
	right_index = n/2 + index;
	right = xhat(right_index).* window;
	y(1:2^(L+1)) = [left right];
	
%
%  Loop to Get Partition for  j = L - 1, ..., J - 3.
%
	for j = L-1:(J-3),
	  dyadic_points = [2^j 2^(j+1)];
	  [index, window] = DetailMeyerWindow(dyadic_points,deg); 
	  left_index = reverse(n/2 + 1 - index);
	  left = xhat(left_index).* reverse(window);
	  right_index = n/2 + index;
	  right = xhat(right_index).* window; 
	  y((2^(j+2)+1):(2^(j+3))) = [left right]; 
	end

%
%  Finest Subband (for j = J - 2).
%
        
        j = J - 2;
        [index, window] = FineMeyerWindow(j,deg);
	left_index = reverse(n/2 + 1 - index);
	left = xhat(left_index).* reverse(window);
	right_index = n/2 + index;
	right = xhat(right_index).* window; 
	y((2^(j+2)+1):(2^(j+3))) = [left right]; 
	

	
	
	
	
	









⌨️ 快捷键说明

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