PearsonICAdemo: Demonstration of the Pearson-ICA algorithm

Description Usage Arguments Value Note Author(s) References See Also Examples

Description

Displays source signals, mixed signals and signals separated by Pearson-ICA.

Usage

1
PearsonICAdemo(numsig = 4, signal_length = 5000)

Arguments

numsig

number of source signals

signal_length

length of signal

Value

Displays a demonstration.

Note

The R code is based on the MATLAB code by Juha Karvanen, Jan Eriksson and Visa Koivunen.

Author(s)

Juha Karvanen

References

Karvanen J., Koivunen V. 2002. Blind separation methods based on Pearson system and its extensions, Signal Processing 82(4), 663–673.

Karvanen J., Eriksson J.,Koivunen V. 2000, Pearson system based method for blind separation, Proceedings of Second International Workshop on Independent Component Analysis and Blind Signal Separation (ICA2000), Helsinki, Finland, 585–590.

See Also

PearsonICA

Examples

1

Example output

This is a demonstration of the Pearson-ICA algorithm in work.
Pearson-ICA performs independent component analysis using nonlinearities from the Pearson system.

Rayleigh distributed source signals are generated:
Number of signals is  4 
Number of observations (signal length) is  5000 
100  observations from the beginning of the signals will be plotted in the graphs.

 A sequence of zeros (signal means) of length  25 is substituted to
every source signal such that the indices do not overlap. This is
done in order to visualize the separation result. If the final
separation is succesful, the same constant sequences should be again
visible.

Plotting the beginning of the source signals.

Press enter to continue...


The source signals are linearily mixed together using the matrix
       [,1]   [,2]   [,3]   [,4]
[1,] 0.7396 0.9084 0.2994 0.3089
[2,] 0.4898 0.2980 0.5771 0.4108
[3,] 0.1096 0.7808 0.8361 0.4669
[4,] 0.4199 0.8799 0.2706 0.7467
dev.new(): using pdf(file="Rplots1.pdf")

Now we will try to recover original signals from the
mixture only using the Pearson-ICA algorithm.
Press enter to begin...
Centering
Whitening
Estimated 3rd and 4th moment:
             mu3      mu4
[1,]  0.22553189 3.109900
[2,] -0.08240056 2.934262
[3,]  0.36275080 3.111076
[4,]  0.42363309 3.244264
Iteration 1 tol = 0.1080743 
Estimated 3rd and 4th moment:
            mu3      mu4
[1,] -0.4150744 3.146035
[2,]  0.3365956 3.028968
[3,] -0.5432650 3.297563
[4,] -0.5284590 3.208949
Iteration 2 tol = 0.07787545 
Estimated 3rd and 4th moment:
            mu3      mu4
[1,]  0.5788397 3.131572
[2,] -0.5645924 3.124653
[3,]  0.6253326 3.330878
[4,]  0.6101010 3.200418
Iteration 3 tol = 0.007085482 
Estimated 3rd and 4th moment:
            mu3      mu4
[1,] -0.5868236 3.129269
[2,]  0.5837348 3.132208
[3,] -0.6298051 3.297711
[4,] -0.6092976 3.199577
Iteration 4 tol = 0.000147184 
Estimated 3rd and 4th moment:
            mu3      mu4
[1,]  0.5867330 3.129301
[2,] -0.5846273 3.133010
[3,]  0.6287947 3.291671
[4,]  0.6089504 3.196917
Iteration 5 tol = 1.778841e-06 
           [,1]       [,2]        [,3]       [,4]
[1,] -0.1945489 -0.2635165 -0.30496575 -0.4831285
[2,]  0.4893520  0.3254718  0.08288945  0.2847634
[3,] -0.1812923 -0.3651280 -0.53266173 -0.1591383
[4,] -0.5970790 -0.1984948 -0.51882765 -0.5847795
dev.new(): using pdf(file="Rplots2.pdf")

Press enter to continue...


In order to compare directly the results, the sign and the permutation 
indeterminency must be resolved. This is done by selecting the largest 
absolute row values (and the corresponding signs) from 
the "result matrix" W*A. 

 The signals must have the same scale. This is done
    by normalizing the sources and the separation results. 

Plotting the beginning of the normalized signals.
dev.new(): using pdf(file="Rplots3.pdf")

PearsonICA documentation built on May 2, 2019, 4:36 a.m.