Mercurial > hg > aimmat
view aim-mat/tools/@signal/complexfilter.m @ 0:74dedb26614d
Initial checkin of AIM-MAT version 1.5 (6.4.2011).
author | tomwalters |
---|---|
date | Fri, 20 May 2011 12:32:31 +0100 |
parents | |
children | 20ada0af3d7d |
line wrap: on
line source
% method of class @signal % INPUT VALUES: % RETURN VALUE: % sig: @signal % % (c) 2003-2008, University of Cambridge, Medical Research Council % Maintained by Tom Walters (tcw24@cam.ac.uk), written by Stefan Bleeck (stefan@bleeck.de) % http://www.pdn.cam.ac.uk/cnbh/aim2006 % $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $ % $Revision: 585 $ function sig=complexfilter(sig,formant_fre,formant_fre_width,formant_amp) % creates an vocal by filtering the signal (wich probably is a clicktrain) % in different formants nr_formants=length(formant_fre); for i=1:nr_formants fre=formant_fre(i); wid=formant_fre_width(i); fsig(i)=bandpass(sig,fre-wid,fre+wid,wid/10); % play(fsig(i)); end % plot(powerspectrum(fsig(1)),[10,13000],'b') % hold on % plot(powerspectrum(fsig(2)),[10,13000],'r') % plot(powerspectrum(fsig(3)),[10,13000],'g') % plot(powerspectrum(fsig(4)),[10,13000],'c') sumsig=fsig(1)*formant_amp(1); for i=2:nr_formants sumsig=sumsig+fsig(i)*formant_amp(i); end % plot(powerspectrum(sumsig),[10,13000],'k') sig=sumsig;