<< Chapter < Page Chapter >> Page >
How we used the STFICA code in our project.

Stfica implementation

Dr. Scott Douglas, an SMU signals professor, wrote the STFICA code that is well known for its ability to determine demixing matrices that are not simple scalar additions. The key to analyzing audio recordings with the FastICA method is to implement convolutive matrices along with prewhitening—convolution is what occurs between the source and the microphone with the air and the soundwave. The benefit to prewhitening is that it allows us to prepare the recorded signal in such a fashion that they will more accurately fit the Fast ICA model assumptions. A prewhitening stage is already implemented in FastICA as part of the whole package but only in one stage, whereas the STFICA allows one to set as many prewhitening stages as one needs. Therefore, fastICA code was used except for the unmixing matrix algorithm, which we substituted with the one from Douglas’s STFICA. This carried the advantage of giving us more control over how many prewhitening stages we were able to implement and creating more elegant demixing matrices. There are some imperfections, however, because we do not understand the correlation between the number of prewhitening stages required to treat the recordings and the complexity of the recordings.

% Signal in this demonstration has a 440Hz tone and noise. % read the two filesa = wavread('demo3_mix1.wav'); % mixed signal 1 b = wavread('demo3_mix2.wav'); % mixed signal 2% truncate both signals to equal lengths if(length(a)>length(b)) a = a(1:length(b),1);else b = b(1:length(a),1);end y = [a';b']; % mixed signal matrix % perform stfical to demonstrate better success of noise removal% stfical does not prewhiten the signal beforehand so this must be done [E, D]=pcamat(y,1,2,'off','off'); [whitesig, whiteningMatrix, dewhiteningMatrix]= whitenv(y,E,D,'off'); [s, W]= stfical(whitesig,1,1); f2 = dewhiteningMatrix*W*s;

This code performs all of the necessary steps to implement the STFICA algorithm with one prewhitening stage.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Elec 301 projects fall 2008. OpenStax CNX. Jan 22, 2009 Download for free at http://cnx.org/content/col10633/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2008' conversation and receive update notifications?

Ask