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
|