view aim-mat/tools/@signal/genam.asv @ 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 74dedb26614d
children
line wrap: on
line source
% 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