annotate aim-mat/tools/@signal/genam.m @ 4:537f939baef0 tip

various bug fixes and changed copyright message
author Stefan Bleeck <bleeck@gmail.com>
date Tue, 16 Aug 2011 14:37:17 +0100
parents 20ada0af3d7d
children
rev   line source
tomwalters@0 1 % method of class @signal
tomwalters@0 2 % function sig=genam(sig,fcar,fmod,modgrad)
tomwalters@0 3 %
tomwalters@0 4 % INPUT VALUES:
tomwalters@0 5 % sig: original @signal with length and samplerate
tomwalters@0 6 % fcar: carrier frequency (Hz)
tomwalters@0 7 % fmod: modulation frequency (Hz)
tomwalters@0 8 % modgrad: modulation depth in (0-1)
tomwalters@0 9 %
tomwalters@0 10 % RETURN VALUE:
tomwalters@0 11 % sig: @signal
tomwalters@0 12 %
bleeck@3 13 % This external file is included as part of the 'aim-mat' distribution package
bleeck@3 14 % (c) 2011, University of Southampton
bleeck@3 15 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 16 % download of current version is on the soundsoftware site:
bleeck@3 17 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 18 % documentation and everything is on http://www.acousticscale.org
bleeck@3 19
tomwalters@0 20
tomwalters@0 21 function sig=genam(sig,fc,f0,modgrad)
tomwalters@0 22
tomwalters@0 23
tomwalters@0 24 sr=getsr(sig);
tomwalters@0 25 len=getlength(sig);
tomwalters@0 26
tomwalters@0 27 f1=fc-f0;
tomwalters@0 28 f2=fc;
tomwalters@0 29 f3=fc+f0;
tomwalters@0 30
tomwalters@0 31
tomwalters@0 32 sin1=sinus(len,sr,f1,modgrad/2,0);
tomwalters@0 33 sin2=sinus(len,sr,f2,1,0);
tomwalters@0 34 sin3=sinus(len,sr,f3,modgrad/2,0);
tomwalters@0 35
tomwalters@0 36
tomwalters@0 37 sig=sin1;
tomwalters@0 38 sig=sig+sin2;
tomwalters@0 39 sig=sig+sin3;
tomwalters@0 40
tomwalters@0 41 name=sprintf('AM: modulation: %3.1f Hz, carrier: %4.1f kHz, modgrad: %2.1f',f0,fc/1000,modgrad);
tomwalters@0 42 sig=setname(sig,name);
tomwalters@0 43 sig=scaletomaxvalue(sig,1);
tomwalters@0 44 % sig=RampAmplitude(sig,0.01); % baue eine Rampe
tomwalters@0 45