% steplfm - stepped train of LFM pulses % creates stepped-LFM signal for use with ambiguity function plotting % programs tpdf=input(' T*Df (typ. = 0 or 5) = ? '); tpb=input(' T*B (typ. = 0 or 12.5) = ? '); trovertp=input('Tr/T (typ. = 4) (Using 1 implies contiguous pulses) = ? '); nn=input(' Number of pulses (integer, typ. = 3, 4, 8 or 16) = ? '); mm=50; mm2=mm/2-1; ufm=ones(1,mm); ddf=tpb/mm^2; ffm=ddf*(-mm2:mm2+1)-ddf/2; mtr=(trovertp-1)*mm; space1=zeros(1,mtr); u_step1=[ufm space1]; f_step1=[ffm space1]; f1=-(nn-1)/2; u_step=u_step1; f_step=f_step1; f_add=[f1*u_step1]; reverse=input(' Alternating slopes (yes=1, no=0) = ? '); if reverse==1 rv=-1; else rv=1; end cost=input('Linear (=0) or Costas (=1) steps = ? '); if cost ==1; if nn==16 qq=[6 14 2 3 10 8 11 15 9 1 13 12 5 7 4] ; elseif nn==8 qq=[7 2 5 1 6 4 3]; elseif nn==4 qq=[2 3 1]; elseif nn==3 qq=[2 1]; end end if cost==0 % linear steps qq=[1:nn-1]; end for q= qq u_step=[u_step u_step1]; f_step=[f_step (rv)^q*f_step1]; f_add=[f_add (f1+q)*u_step1]; end f_total=f_step+(tpdf/mm)*f_add; disp('') disp(' In ambfn1 ') disp(' use "u_step" as Signal elements and "f_total" as Frequency coding') disp(' ') disp(' In ambfn7 ') disp(' use "u_amp = u_step;" and "f_basic = f_total;" ') disp(' ')