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.
   175   176   177   178   179   180   181   182   183   184   185