📄 cw_sgnl.m
字号:
% cw_sgnl.m - prepares a periodic signal repeated 16 times% written by Nadav Levanon%for use with "cross_ambfn2.m" plotting codesig_flag=input(' Signal: Frank16=0, P4=1, Golomb15=2, sinusoidal-FM=3, triangular-FM=4, sawtooth-FM=5; = ? ' );if sig_flag==0 f1=[0 0 0 0 0 .5 1 -.5 0 1 0 1 0 -.5 1 .5]; elseif sig_flag==1 mp4=input(' code length = ? '); k=1:mp4; f1=-1/mp4*(k-1).^2+(k-1); elseif sig_flag==2 alfa=acos(-7/8); f1=[0 0 0 0 alfa alfa alfa 0 alfa alfa 0 0 alfa 0 alfa]./pi; mp4=15; elseif sig_flag==3 df_fm=input('Df/fm= ? '); mp4=input('frequency vector length = ? '); k=1:mp4; f1= 0.5/mp4*df_fm*sin(2*pi/mp4*(k-1)); % this is frequency not phase elseif sig_flag==4 df_tr=input('Df*Tr= ? '); mp4=input('frequency vector length (even) = ? '); k1=1:mp4/2; k2=mp4/2+1:mp4; f1_a=2/mp4^2*df_tr*(k1-mp4/4); f1_b=-2/mp4^2*df_tr*(k2-3*mp4/4); f1=[f1_a f1_b]; elseif sig_flag==5 df_tr=input('Df*Tr= ? '); mp4=input('frequency vector length (odd) = ? '); k1=1:mp4; f1=-1/mp4/(mp4-1)*df_tr*(-k1+(mp4+1)/2);endf4=[f1 f1 f1 f1];f4=[f4 f4 f4 f4]; % N=16lf=length(f4);lfsingle=length(f1);f4_3=[f4 f4 f4];u_amp0=zeros(size(f4));u_amp1=ones(size(f4_3));weight_flag=input(' Inter-period weight: uniform=0, Hamming=1, Hann=2; = ? ');if weight_flag==0 u_amp_mid=ones(1,lf);elseif weight_flag==1 u_amp_mid=hamming(lf)';elseif weight_flag==2 u_amp_mid=hann(lf)';endint_weight_flag=input(' Intra-period weight: uniform=0, Hamming=1, Hann=2; = ? ');if int_weight_flag==1 rw=hamming(lfsingle)'; rwn=[rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw]; u_amp_mid=u_amp_mid.*rwn;elseif int_weight_flag==2 rw=hann(lfsingle)'; rwn=[rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw]; u_amp_mid=u_amp_mid.*rwn;endu_amp_ref=[ u_amp0 u_amp_mid u_amp0];sig_trans=u_amp1.*exp(j*pi*f4_3);sig_ref=u_amp_ref.*exp(j*pi*f4_3);t_freq=0:length(f4_3)-1;if sig_flag==3 sig_trans=u_amp1; sig_ref=u_amp_ref;end% Adding doppler equivalent phase ramp in the reference phase slopedop_flag=input('Add Doppler compensation (no = 0, yes = 1) = ? ');if dop_flag==1 mult=input(' Dphi*M/pi = ? '); dphi=mult*pi/length(f1); num_phase_steps=0:length(f4_3)-1; phase_ramp=dphi*num_phase_steps; sig_ref=sig_ref.*exp(j*phase_ramp);enddisp(' ')disp(' Call "cross_ambfn2" ')disp(' For "signal elements" use "sig_trans" and for "2nd signal elements" use "sig_ref" ')disp(' If an FM signal: for freq coding use "f4_3" ')disp(' ')disp(' To plot two periods of the Periodic Cross Amb. Func. ')disp(' set maximal delay ... = 0.024 ')disp(' ')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -