weight_param

PURPOSE ^

Compute alpha,beta, and epsilon to update weights as

SYNOPSIS ^

function [alpha beta epsilon] = weight_param(rwt_mode,itr,varargin)

DESCRIPTION ^

 Compute alpha,beta, and epsilon to update weights as 
 w(i) = tau/alpha/(beta*abs(x(i)) + epsilon)
 Inputs:
 rwt_mode
 iteration number
 varargin - x : running signal estimate
            M : number of measurements

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [alpha beta epsilon] = weight_param(rwt_mode,itr,varargin)
0002 % Compute alpha,beta, and epsilon to update weights as
0003 % w(i) = tau/alpha/(beta*abs(x(i)) + epsilon)
0004 % Inputs:
0005 % rwt_mode
0006 % iteration number
0007 % varargin - x : running signal estimate
0008 %            M : number of measurements
0009 
0010 switch rwt_mode
0011     case 1
0012         % Increase alpha and beta in such a way that beta > alpha > 1
0013         % This way weights decrease on all the indices, but they decrease
0014         % at a faster rate on the active set.
0015         alpha = sqrt(itr); beta = z; epsilon = 1;
0016     case 2
0017         st_wt = 2; alpha = st_wt+itr; beta = 2.5*st_wt+itr; epsilon = 0.1;
0018     case 3
0019         st_wt = 5; alpha = st_wt+itr; beta = 2*st_wt+itr; epsilon = 0.1;
0020     case 4
0021         % Fixed alpha and beta (boring)
0022         alpha = 1; beta = 1; epsilon = 0.1;
0023     case 5
0024         % Increase weights if solution becomes dense (L1/L2 norm as a proxy
0025         % for the support size, note that \|x\|_2 \le \|x\|_1 \|
0026         % sqrt(K)\|x\|_2
0027         % Decrease the weights when M is large.
0028         % Update beta at every reweighting iteration according to the
0029         % solution.
0030         x = varargin{1};
0031         M = varargin{2};
0032         alpha = 1; beta = M*(norm(x,2)/norm(x,1))^2; epsilon = 1;
0033 end

Generated on Mon 10-Jun-2013 23:03:23 by m2html © 2005