Page 180 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 180
4. Selected Applications 169
7.3 M-program for Denoising
___________________________________________________________
noiseicagv.m
a=wavread('C:\MATLAB7\work\audio\revsam\ram1.wav');
b=rand(length(a),1);
m=min(length(a),length(b));
a=a(1:1:m);
b=b(1:1:m);
mixed1=0.7*a+0.3*b;
mixed2=0.3*a+0.7*b;
mixed=[mixed1'; mixed2'];
[signal]=fastica(mixed);
figure
subplot(2,1,1)
plot(mixed1)
title('Mixed signal1')
subplot(2,1,2)
plot(mixed2)
title('Mixed signal2')
figure
subplot(2,1,1)
plot(a)
title('speech signal')
subplot(2,1,2)
plot(b)
title('noise signal')
figure
subplot(2,1,1)
plot(signal(1,:))
title('Retrieved speech signal obtained using ICA')
subplot(2,1,2)
plot(signal(2,:))
title('Retrived noise signal obtained using ICA')
Note that the signal b(n) in the above program is another speech signal in
case of speech signal separation. The rests of the program remains same.