“Method of optimal directions for frame design“, written by K. Engan, S.O. Aase, and J.H. Husfy, appeared in the IEEE International Conference on Acoustics, Speech, and Signal Processing, 1999.
Data an nXN matrix that contins N signals (Y), each of dimension n.
param structure that includes all required
parameters for the K-SVD execution.
Required fields are:
K, … the number of dictionary elements to train
numIteration,… number of iterations to perform.
errorFlag… if =0, a fix number of coefficients is
used for representation of each signal. If so, param.L must be
specified as the number of representing atom. if =1, arbitrary number
of atoms represent each signal, until a specific representation error
is reached. If so, param.errorGoal must be specified as the allowed
(optional, see errorFlag) L,… maximum coefficients to use in OMP coefficient calculations.
(optional, see errorFlag) errorGoal, … allowed representation error in representing each signal.
InitializationMethod,… mehtod to initialize the dictionary, can
be one of the following arguments:
* ‘DataElements’ (initialization by the signals themselves), or:
* ‘GivenMatrix’ (initialization by a given matrix param.initialDictionary).
(optional, see InitializationMethod) initialDictionary,… if the initialization method
is ‘GivenMatrix’, this is the matrix that will be used.
preserveDCAtom, … =1 for a DC atom (in which all entries are equal) to be generated, and
not changed throughout the training.
(optional) TrueDictionary, … if specified, in each
iteration the difference between this dictionary and the trained one
is measured and displayed.
displayProgress, … if =1 progress information is displyed. If param.errorFlag==0,
the average repersentation error (RMSE) is displayed, while if
param.errorFlag==1, the average number of required coefficients for
representation of each signal is displayed.