This page offers a free download of matlab/C++
codes developed by Petr Tichavsky and his co-workers that are cited in
his/their publications. We only ask for a registration of any user,
using the codes for educational purposes only, and for properly citing
of the papers/web page.
Exact location of the codes will be send to the interested users by
automatically generated e-mail, containing (hopefully) all necessary details.
A feedback on the codes is highly appreciated.
Registration
If you do not receive any e-mail after your registration, please send me
an e-mail and I will respond immediately and send you the requested codes.
(The system is under reconstruction.)
The list of the downloadable software
- Estimating the Mutual Information
- Optimum Pairing
- Approximate Joint Diagonalization Algorithms
- WASOBI - A BSS algorithm based on the spectral diversity
- BGSEP - A BSS algorithm based on the signal nonstationarity
- BARBI - A BSS algorithm based on the signal nonstationarity and
the spectral diversity
- Algorithms COMBI and MULTI-COMBI - BSS algorithms based on combination of
the signal non-Gaussianity and
the spectral diversity
- Generator of a Generalized Gaussian distributed matrices
- FicaCPLX - A BSS algorithm for separating complex-valued signals based
on non-Gaussianity, with optimalized suppression of the additive noise
- Tensor Factorization Algorithms
More detailed description of the software
1. Estimating the Mutual Information
Matlab code for estimating the mutual information of
N independent
observations of
d random variables
based on adaptive partitioning of the observation space.
2. Optimum Pairing
Matlab implementation of the Kuhn-Munkres algorithm for maximum
matching in a bipartite graph published in the IEEE Signal Processing
Letters in January 2004. A new version with
augmented
comments
provided by Bill Baxter.
The code can be used for application
in pairing of independent signal components separated by blind
techniques.
3. Approximate Joint Diagonalization Algorithms
This toolbox contains four approximate joint diagonalization
algorithms. The first three are described in the paper
P. Tichavsky and A. Yeredor,
"Fast Approximate Joint Diagonalization Incorporating Weight Matrices", IEEE Tr. on Signal Processing, vol. 57, no.3, pp. 878-891, March 2009.
- UWEDGE - Uniformly Weighted Exhaustive Diagonalization with
Gauss itErations
- WEDGE - Weighted Exhaustive Diagonalization with
Gauss itErations (with user-provided weight matrices)
- BG-WEDGE - it is WEDGE with special choice of the weight matrices
that correspond to joint diagonalization of covariance matrices
in blind source separation of Block-wise stationary Gaussian signals.
It represents a fast alternative to the Pham's algorithm "jadiag".
- UWEDGE_C - Complex version (version for complex-valued matrices and
complex-valued mixing) of the algorithm UWEDGE
Another WEDGE-like algorithm is used in WASOBI, see the next toolbox.
4. WASOBI - A BSS algorithm based on the spectral diversity
This algorithm serves for blind separation of instantaneous mixture of stationary random processes with spectral diversity.
The algorithm is asymptotically optimum (attaining corresponding Cramer-Rao lower bound), if the original signals are Gaussian autoregressive random processes.
The algorithm is built on approximate joint diagonalization of a set of time-lagged covariance matrices of the signals via WEDGE algorithm
with specially selected weight matrices.
5. BGSEP - A BSS algorithm based on the signal nonstationarity
This algorithm is used e.g. in the time-domain blind separation of convolutive mixtures by
Koldovsky and Tichavsky.
Basically, it computes sample covariance matrices of the multichannel signal on a partitioning to non-overlapping intervals of an equal size,
and applies an algorithm for approximate joint diagonalization with appropriate weights (BGWEDGE).
6. Algorithm BARBI.
BARBI= Block AR Blind Identification algorithm.
It is a generalization of IWASOBI algorithm to multiple blocks.
It includes, as special cases, alternative implementations of IWASOBI
and BG_WEDGE.
7. Algorithms COMBI and MULTI-COMBI.
A matlab implementation of algorithms COMBI and MULTI-COMBI
that are hybrid of algorithms
of algorithm EFICA and WASOBI, utilizing strong features of both
algorithms
8. Generator of generalized Gaussian distributed matrices
This simle utility serves to generate random matrices with i.i.d
random variables with the generalized Gaussian distribution with zero mean, unit variance and shape parameter alpha.
Method: numerical inversion of the corresponding
probability distribution function
at points that are uniformly distributed in [0,1].
9. Algorithm FicaCPLX
Algorithm FicaCPLX that is a variant of the algorithm FastICA
for blind separation of complex-valued sources, implementing a new test
of saddle points and an one-unit refinement
for each component. As a reference, please cite Zbynek's and my paper
presented at ICA'07 in London, see Publications.
10. Tensor Factorization Algorithms
Three tensor factorization algorithms are presented, to perform an unconstrained parallel factor analysis of three way tensors:
GN/ELS, LM1 and LM2.
The algorithm is described in a manuscript P. Tichavsky, Z. Koldovsky, "Simultaneous Search for All Modes in Multilinear Models", ICASSP 2010,
March 14-19,2010, Dallas, TX, USA.