function [vMod] = generateRFFrequencyVector(fList, Nmodi, DD) % generateRFFrequencyVector generates the RF frequency vetor % required by the initial Optickle call % % Example vMod = generateRFFrequencyVector([11.25e6, 45e6], 4, 1) % % fList: A list of modulation frequencies % Nmodi: Maximum order of higher harmonic % DD (optional): If set to 1, double demodulation is assumed. % So, sub-sidebands are generated. % %% Default options try DD; catch DD = 0; end vMod1=[fList(1)]; Order1=[0]; for ii=2:length(fList) vMod2=[fList(ii)]; Order2=[0]; for jj=1:length(vMod1) vMod2 = [vMod2, vMod1(jj)+fList(ii), vMod1(jj)-fList(ii)]; Order2 = [Order2, Order1(jj)+1, Order1(jj)+1]; end vMod1 = [vMod1, vMod2]; Order1 = [Order1, Order2]; end vMod = []; for ii = 1:length(vMod1) sbOrder = Nmodi - Order1(ii); if sbOrder >= 0 vMod = [vMod, [-sbOrder:sbOrder]*vMod1(ii)]; end end vMod = unique(vMod)';