function accel = generate_time_history_wavelet_table_q_fast(f,amp,~,td,t,wl,wu,alpha,beta)
nt = numel(t);
last = numel(f);
accel = zeros(1,nt);

for i = 1:last
    idx = wl(i):wu(i);
    tx  = t(idx) - td(i);
    % fused sin products are vectorized and transposed once
    accel(idx) = accel(idx) + amp(i) * sin(alpha(i)*tx).*sin(beta(i)*tx);
end
accel = accel(:);
end
