Unrar the file kalman_cross.rar into mixture.wav and Cross.Kalman.llb
This program uses 2 cross-coupled Kalman filters to separate a mixture of two speech signals
which have been mixed via an unknown linear mixing process. The technique is known as blind
source separation and in the past two cross-coupled LMS algorithms have been used. Here I am trying
Kalman filters as the parameter (weight) estimators. The separated outputs are played via teh sound card
1 channel at a time, so have the speakers on when running.
Q0,R are the process and additive noise variances, Po is the initial (diagonal) error covariance matrix.
There are no references for this one except that you could look up teh cross-coupled LMS papers as the nearest
in theory. Use the attached stereo wav file mixture.wav as a test file.
Same idea but with using LMS is in this oldish reference and many more! G. Mirchandani, R. L. Zinser, Jr., and J. B. Evans,
"A new adaptive noise cancellation scheme in the presence of crosstalk [speech signals],
" Circuits and Systems II: Analog and Digital Signal Processing,
IEEE Transactions on, vol. 39, pp. 681-694, 1992.
Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.