diff aim-mat/tools/@signal/genam.asv @ 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/aim-mat/tools/@signal/genam.asv	Fri May 20 12:32:31 2011 +0100
@@ -0,0 +1,55 @@
+% method of class @signal
+% function sig=genam(sig,fcar,fmod,modgrad)
+%
+%   INPUT VALUES:
+%       sig: original @signal with length and samplerate 
+%       fcar: carrier frequency (Hz)
+%       fmod: modulation frequency (Hz)
+%       modgrad: modulation depth in (0-1)
+% 
+%   RETURN VALUE:
+%       sig:  @signal 
+%
+% (c) 2003, University of Cambridge, Medical Research Council 
+% Stefan Bleeck (stefan@bleeck.de)
+% http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual
+% $Date: 2003/01/25 12:47:43 $
+% $Revision: 1.4 $
+
+function sig=genam(sig,fc,f_mod,modgrad,modphase,amplitude)
+
+if nargin<6
+    amplitude=1;
+end
+if nargin<6
+    modphase=0;
+end
+if nargin<6
+    modgrad=1;
+end
+
+
+sr=getsr(sig);
+len=getlength(sig);
+
+sin1=sinus(len,sr,fc,1,0);
+sin2=sinus(len,sr,f_mod,1,modphase);
+
+sig=amplitude(modgrad*sin1+1)*sin2;
+
+
+% f1=fc-f_mod;
+% f2=fc;
+% f3=fc+f_mod;
+% sin1=sinus(len,sr,f1,modgrad/2,0);
+% sin2=sinus(len,sr,f2,1,0);
+% sin3=sinus(len,sr,f3,modgrad/2,0);
+% sig=sin1;
+% sig=sig+sin2;
+% sig=sig+sin3;
+
+name=sprintf('AM: modulation: %3.1f Hz, carrier: %4.1f kHz, modgrad: %2.1f',f_mod,fc/1000,modgrad);
+sig=setname(sig,name);
+sig=scaletomaxvalue(sig,1);
+% sig=RampAmplitude(sig,0.01); % baue eine Rampe
+