Mercurial > hg > aimmat
view aim-mat/tools/@signal/generatesinus.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 % function sig=generatesinus(sig,[fre],[amplitude],[phase]) % INPUT VALUES: % sig: original @signal with length and samplerate % fre: frequency (Hz) [1000] % amplitude: [1] % phase: startphase [0] % phases must be in degrees! % 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=generatesinus(sig,fre,amplitude,phase) if nargin < 4 phase=0; end if nargin < 3 amplitude=1; end if nargin < 2 fre=1000; end nr_points=getnrpoints(sig); sr=getsr(sig); length=getlength(sig); von=0+phase; periode=1/fre; bis=2*pi*length/periode + phase; temp=linspace(von,bis,nr_points); data=sin(temp); data=data*amplitude; sig=signal(data); sig=setsr(sig,sr); sig=setname(sig,sprintf('Sinus %4.2f kHz',fre/1000));