function eval_lfo() L = 10000; fs = 44100; fstart = 44; fend = 400; df = (fend-fstart)/L; ip = 0 % phase of the first output sample in radians % Init % Loop f = fstart; fchg = 1; y1=sin(ip-f*pi / fs); y2=sin(ip-2*f*pi / fs); for n=1:L, if fchg == 1, b1 = 2.0 * cos(f*pi / fs); fchg = 1000; end; y0 = b1*y1 - y2; y2 = y1; y1 = y0; fchg = fchg - 1; lfo(n) = y0; f = f + df; close all end; figure; plot(1:L, lfo); grid; wavwrite(0.5*lfo, fs, 'lfo.wav');