--- Saving session to: ECE481_08-Apr-2003.txt --- startup.m processed OK --- ; ; ; ; ; ; edit fm5 fm5 fm5 type fm5 %function fm4(fc,h,mi) % FM synthesis demo #5: Cascade FM (Moore p. 332) fs=40e3; dur=3; tt=0:1/fs:dur; % parameters fc = 60; %carrier frequency fm1 = sqrt(2)*fc; %modulating frequency fm2 = pi*fm1; mi1 = 2; %modulation index mi2 = 4; % amplitude envelope a=gen4([0 0 -10; 0.01 1 -1; 1 0 0],dur,fs); % I1 envelope p6=sqrt(2); i1=gen4([0 1*p6 1; 0.045 12*p6 -2; 1 0.5*p6 0],dur,fs); % I2 envelope p7=pi; i2=gen4([0 1*p7 1; 0.03 8*p7 -1; 1 1*p7 0],dur,fs); % output waveform y = a.*sin(2*pi*fc*tt + i1.*sin(2*pi*fm1*tt + i2.*sin(2*pi*fm2*tt))); calspec(y,512,fs) if 0 [b,f,t]=specgram(y,[],fs); imagesc(t,f/1000,abs(b)) axis('xy') xlabel('time (s)') ylabel('frequency (kHz)') title(sprintf('FM: fc=%dHz, H=%d, I=%d',fc,h,mi)) end sound(y,fs) wavwrite(y,fs,16,'\temp\junk.wav') exit