www.pudn.com > RadarSignals.rar > steplfm_gui.m
% steplfm_gui.m - stepped train of LFM pulses with GUI
% written by Eli mozeson and Nadav Levanon
% creates signal for use with ambiguity function plotting program
% create the signal parameters input figure
steplfmfig=figure;
set(steplfmfig,'Position',[460 51 520 390],'MenuBar','none','visible','on');
% set default values for the steplfm signal
tpdf=3;
tpb=18;
trovertp=10;
nn=8;
rv=-1;
cost=0;
% create tpdf input slider
y_tpdf = 175;
sli_tpdf = uicontrol(steplfmfig,'Style','Slider','sliderstep',[0.01 0.1],...
'Position',[125 y_tpdf 300 20],'Min',0,'Max',60,'Value',tpdf,'Callback',[...
'set(tpdf_cur,''String'',',...
'num2str(get(sli_tpdf,''Val''))),',...
'tpdf=get(sli_tpdf,''Val'');']);
tpdf_cur = uicontrol(steplfmfig,'style','edit','Pos',[ 425 y_tpdf 50 20 ],...
'String',num2str(get(sli_tpdf,'Value')),'Callback',[...
'set(sli_tpdf,''Val'',',...
'str2num(get(tpdf_cur,''String''))),',...
'tpdf=get(sli_tpdf,''Val'');']);
tpdf_lbl = uicontrol(steplfmfig,'style','Text',...
'Pos',[ 25 y_tpdf 100 20 ],'String','Txdf');
% create tpB input slider
y_tpB = 225;
sli_tpB = uicontrol(steplfmfig,'Style','Slider','sliderstep',[0.01 0.1],...
'Position',[125 y_tpB 300 20],'Min',0,'Max',60,'Value',tpb,'Callback',[...
'set(tpB_cur,''String'',',...
'num2str(get(sli_tpB,''Val''))),',...
'tpb=get(sli_tpB,''Val'');']);
tpB_cur = uicontrol(steplfmfig,'style','edit','Pos',[ 425 y_tpB 50 20 ],...
'String',num2str(get(sli_tpB,'Value')),'Callback',[...
'set(sli_tpB,''Val'',',...
'str2num(get(tpB_cur,''String''))),',...
'tpb=get(sli_tpB,''Val'');']);
tpB_lbl = uicontrol(steplfmfig,'style','Text',...
'Pos',[ 25 y_tpB 100 20 ],'String','TxB');
% create trovertp input slider
y_trovertp = 275;
sli_trovertp = uicontrol(steplfmfig,'Style','Slider','sliderstep',[0.01 0.1],...
'Position',[125 y_trovertp 300 20],'Min',0,'Max',60,'Value',trovertp,'Callback',[...
'set(trovertp_cur,''String'',',...
'num2str(get(sli_trovertp,''Val''))),',...
'trovertp=get(sli_trovertp,''Val'');']);
trovertp_cur = uicontrol(steplfmfig,'style','edit','Pos',[ 425 y_trovertp 50 20 ],...
'String',num2str(get(sli_trovertp,'Value')),'Callback',[...
'set(sli_trovertp,''Val'',',...
'str2num(get(trovertp_cur,''String''))),',...
'trovertp=get(sli_trovertp,''Val'');']);
trovertp_lbl = uicontrol(steplfmfig,'style','Text',...
'Pos',[ 25 y_trovertp 100 20 ],'String','Tr/T');
% create nn input slider
y_nn = 325;
sli_nn = uicontrol(steplfmfig,'Style','Slider','sliderstep',[0.01 0.1],...
'Position',[125 y_nn 300 20],'Min',1,'Max',30,'Value',trovertp,'Callback',[...
'set(nn_cur,''String'',',...
'num2str(floor(get(sli_nn,''Val'')))),',...
'nn=floor(get(sli_nn,''Val''));']);
nn_cur = uicontrol(steplfmfig,'style','edit','Pos',[ 425 y_nn 50 20 ],...
'String',num2str(get(sli_nn,'Value')),'Callback',[...
'set(sli_nn,''Val'',',...
'floor(str2num(get(nn_cur,''String'')))),',...
'nn=floor(get(sli_nn,''Val''));']);
trovertp_lbl = uicontrol(steplfmfig,'style','Text',...
'Pos',[ 25 y_nn 100 20 ],'String','n');
% create reverse slope push botton
y_rv=125;
rv_on = uicontrol(steplfmfig,'Style','radio',...
'Pos',[425 y_rv 20 20 ],'Value',(rv+1)/2,'Callback',[...
'set(rv_on,''value'',get(rv_on,''value'')),'...
'rv=2*get(rv_on,''value'')-1;']);
rv_text = uicontrol(steplfmfig,'Style','text',...
'String','Reverse slope','Position',[125 y_rv 300 20]);
% create linear / costas push botton
y_cost=75;
cost_on = uicontrol(steplfmfig,'Style','radio',...
'Pos',[425 y_cost 20 20 ],'Value',cost,'Callback',[...
'set(cost_on,''value'',get(cost_on,''value'')),'...
'cost=get(cost_on,''value'');']);
cost_text = uicontrol(steplfmfig,'Style','text',...
'String','Linear (=0) or Costas (=1) steps','Position',[125 y_cost 300 20]);
% create calculate and draw signal parameters push button
pushtocalculatestplfm=uicontrol(steplfmfig,'Style','Push','Position',[140 23 312 20 ],...
'String','Cal. Sig. Amplitude and Frequency ','Callback',[...
'sigflag=0;'...
'steplfm_cal;',...
'set(u_amp_text,''String'',num2str(u_amp));',...
'set(u_amp_on,''Value'',acode);',...
'set(u_phase_text,''String'',num2str(u_phase));',...
'set(u_phase_on,''Value'',pcode);',...
'set(freq_text,''String'',num2str(f_basic));',...
'set(freq_on,''Value'',fcode);']);