home

=**Thomas Eriksson's publicly available software**=

All software on this page is free to use for any purpose (except IT++, which has its own licensing). If you find it useful, I would be glad to be referenced.

=MAGIC=

**GHz Centre**
The GigaHertz Centre (GHz Centre) is a joint research and innovation centre between Chalmers University of Technology and industrial partners. The mission of GHz Centre is to carry out collaborative leading research in selected high-frequency technologies and to bring the results from Chalmers to an industrial exploitation phase primarily through its company partners. GHz Centre is part of the VINN Excellence Centre program run year 2007-2016 by the Swedish Governmental Agency for Innovation Systems (VINNOVA). Some software related to my research in GHz Centre can be found here.

=Digital predistortion=

The power series quantizer (PSQ) [1]
The power series quantizer is a powerful memory-based vector quantizer. It can be shown [1] that most other memory based VQs (such as predictive quantization, finite-state quantization, etc.) are special cases of the PSQ. We believe that the PSQ is currently the best-performing memory-based algorithm in the literature, for the range of problems that it can solve (i.e., for a dimensionality and rate where the PSQ algorithm is not too complex). math c_n^{(i)}=\sum_{k=0}^{M} a_k^{(i)} x_{n-1}^k math : Encodes a vector x using a PSQ. : Decodes an index i using a PSQ. : Designs a PSQ from a database.

Closest point search in lattices [3]
In [3], we analyze and compare several algorithms for finding the closest point in a lattice to an arbitrary point. Further, we describe how to implement the most efficient algorithm, the Schnorr-Euchner (1995) variation of the Pohst (1981) method. : The closest point search algorithm (the DECODE algorithm from [3]). You can also download an example to test the algorithm.

SPCLAB
SPCLAB is a MATLAB tool to visualize, process and listen to speech signals. SPCLAB home page

SPLIB
SPLIB is a signal processing library for C++. It should compile under most C++ compilers with support for templates. SPLIB is slightly biased towards processing of speech signals, but it also contains a lot of general signal processing classes and functions. The functions are written to be as similar to MATLAB as possible, with the same function names and parameters. SPLIB is not developed any longer; it is replaced by IT++ (see below). Documentation The library

IT++
IT++ is a C++ library of mathematical, signal processing, speech processing, and communications classes and functions. The origin of IT++ is an old unnamed signal processing library of mine, designed during my PhD studies in the early and mid 90's. The same unnamed library was also the origin of SPLIB above. Later, Tony Ottosson and Pål Frenger, also working at the department of information theory, took over the development and came up with the name IT++, from the name of the department we worked at. While departments come and go, IT++ got a life of its own, and has been developed into the library we see today. [|IT++ home page]

Miscannellous MATLAB programs
VQ training. Expectation Maximization for training GMM's, diagonal covariances. Requires vqtrain.m to have a good initialization. Expectation Maximization for training GMM's, full covariances. Requires vqtrain.m to have a good initialization. Computes the likelihood of a vector using a GMM. Computes Mel Frequency Cepstrum Coefficients (MFCC). Estimation of the differential entropy of a database. Estimation of the mutual information between two sources (databases). entropyestimate.m is required.