Getting started
This package provides multiple algorithms for Blind Source Separation. At this time the user can choose between JADE, Shibbs and Picard.
How to use the datatype SensorData
Key to using the package is the SensorData datatype. The user can either create a SensorData instance by loading it from disk using the readdataset() function, or he can construct his own by provididing an array of timestamps of length N and a corresponding matrix of size NxM, where M is the amount of sensors in the dataset. When the user has created a SensorData instance, he can pass it to the whitening function, plot it or perform the Blind Source separation using the performseparation function.
Code Example
Load a dataset from disk
x = read_dataset("data/foetal_ecg.dat")
Perform whitening on the dataset
x = whiten_dataset(x)
Plot dataset
plot_dataset(x)
Prepare JADE algorithm
algo = Jade(size(x.data, 2))
Prepare Shibbs algorithm
algo = Shibbs(2, 1000)
Prepare Picard algorithm
algo = Picard(3, 200, 1e-6, 1e-2, 10, true)
Run source separation
x = perform_separation(x, algo)
Plot again
plot_dataset(x)
Complete example:
This example plots the original whitened data, as well as the results of Jade, Shibbs and Picard algorithm.
x = read_dataset("data/foetal_ecg.dat")
x = whiten_dataset(x)
plot_dataset(x)
algo = Jade(size(x.data, 2))
y = perform_separation(x, algo)
plot_dataset(y)
algo = Shibbs(2, 1000)
z, _ = perform_separation(x, algo)
plot_dataset(z)
algo = Picard(3, 200, 1e-6, 1e-2, 10, true)
r = perform_separation(x, algo)
plot_dataset(r)