|
|
Algorithm parameters
Using matlab command window to separate your own mixtures:
To separate a mixture, you need to define the following variables:
x |
Observation signals: matrix of size (number of sensors)x(number of samples) |
Param |
Parameters: structure array variable which controls the options of separation. To assist you in setting the structure variable, type: Param = GenerateParamStruct;
|
FreqCycl |
(optional) Cyclic frequencies: vector list of cyclic frequencies. For stationnary signals, set: FreqCycl = []; |
The separation by a deflation method is then performed with:
[Source,Contribution,W] = Deflation(x,Param,FreqCycl);
and the outputs are respectively:
Source |
Estimated sources: matrix of size (number of sources)x(number of samples) |
Contribution |
Contribution of the sources on the sensors: 3D array. Contribution(i,j,:) is the contribution of source i on sensor j. |
W |
Separating system: 3D array. (to be used as an input argument for the function MIMOfilt). |
Possibilities specific to the method with cyclo-stationnary sources:
The toolbox offers the following additionnal possibilities. Whenever they are used, it is assumed that the sources are not stationnary but cyclo-stationnary.
- Estimation of the cyclic frequencies: for more information, you can use the
help.
You need then to create an array containing the positive cyclic frequencies. Let's call it FreqCycl
- If you deal with stationary signals, or if you are not able to estimate the cyclic frequencies, just write
FreqCycl=[]; in the matlab command window.
- If you want to estimate the cyclic frequencies, you can calculate a criterion which pics are at the cyclic frequencies:
EstimateCyclicFrequencies(x)
see help for more information.
- Performing the separation:
- If you think that you are dealing with an instantaneous mixture, you can use the following command:
[Source,Contribution] = Deflation(x,InstantaneousMixtureParameters,FreqCycl); % x is the mixture
- If you think that you are dealing with a convolutive mixture, you can use the following command:
[Source,Contribution] = Deflation(x,ConvolutiveMixtureParameters,FreqCycl); % x is the mixture
|