Mercurial > hg > aimmat
view aim-mat/tools/@signal/genfm.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=genfm(sig,fc,f_mod,modindex,amplitude) % % INPUT VALUES: % sig: original @signal with length and samplerate % fc: carrier frequency (Hz) % fmod: modulation frequency (Hz) % modindex: modulation index b = % maximum carrier frequency deviation / modulation frequency % modulation depth = % % RETURN VALUE: % sig: @signal % % (c) 2007 ISVR University of Southampton % Stefan Bleeck (bleeck@gmail.com) % $Date: 2003/01/25 12:47:43 $ % $Revision: 1.4 $ function sig=genfm(sig,fc,f_mod,modindex,amplitude) if nargin<5 amplitude=1; end if nargin<4 modindex=0.1; end if nargin<3 f_mod=100; end if nargin<2 fc=1000; end sr=getsr(sig); len=getlength(sig); d=getvalues(sig); d=zeros(size(d)); t=0:1/sr:len-1/sr; fm=amplitude*cos(2*pi*fc.*t + modindex*sin(2*pi*f_mod.*t)); sig=setvalues(sig,fm); % 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('FM: modulation: %3.1f Hz, carrier: %4.1f kHz, mod index: %2.1f',f_mod,fc/1000,modindex); sig=setname(sig,name); % sig=scaletomaxvalue(sig,1); % sig=RampAmplitude(sig,0.01); % baue eine Rampe