clear fsamp = 44100*4; %fsamp = 44100; duration_seconds = 8; duration_samples = duration_seconds * fsamp; f_slave = linspace(220,10*220,duration_samples/2); f_slave = [f_slave f_slave(end:-1:1)]; f_master = 220 * ones(1,duration_samples); period_slave_seconds = 1 ./ f_slave; period_master_seconds = 1 ./ f_master; v_low = -1; v_high = 1; v_pp = v_high - v_low; period_slave_samples = period_slave_seconds * fsamp; period_master_samples = period_master_seconds * fsamp; v_delta_slave = v_pp ./ period_slave_samples; v_delta_master = v_pp ./ period_master_samples; v_integ_slave = -1; v_integ_master = -1; waveform_slave = zeros(1,duration_samples); waveform_master = zeros(1,duration_samples); for n = 1:duration_samples, v_integ_slave = v_integ_slave + v_delta_slave(n); v_integ_master = v_integ_master + v_delta_master(n); if (v_integ_slave > v_high) v_integ_slave = v_low; end if (v_integ_master > v_high) v_integ_master = v_low; v_integ_slave = v_low; end waveform_slave(n) = v_integ_slave; waveform_master(n) = v_integ_master; end %resampled_slave = waveform_slave; %resampled_master = waveform_master; resampled_slave = resample(waveform_slave,1,4); resampled_master = resample(waveform_master,1,4);