📄 signalgen.m
字号:
function Umnnoise = signalgen(radarp,position,motionp,sposition,db,sv)%
% Generates radar echo transfer function given radar parameters.
%% radarp is radar parameter composed as% radarp(1)=bandwidth% radarp(2)=carrier frequency% radarp(3)=pulse repetion frequency% radarp(4)=number of bursts% radarp(5)=number of pulses% radarp(6)=speed of light.%% position is position of scatterers in x-y plane.%% motionp is target motion parameter defined as% motionp(1)=velocity of translational motion% motionp(2)=acceleration of translational motion% motionp(3)=jerk of translational motion% motionp(4)=angular velocity% motionp(5)=angular acceleration.%% sposition is position of target referenced to LOS% sposition(1)=rotated position using radian% sposition(2)=initial range.%% db is noise in db.%% sv is 'saved' or 'none'.% 'saved' saves generated data to Adata.mat.
% bandw=radarp(1); carf=radarp(2); prf=radarp(3); mm=radarp(4); nn=radarp(5); cc=radarp(6); vnot=motionp(1); anot=motionp(2); jnot=motionp(3); rv=motionp(4); ra=motionp(5); theta=sposition(1); rangn=sposition(2); delf=bandw/(nn-1); xposition=position(:,1); yposition=position(:,2); thetaxis=pi/2+theta; numscat=size(position,1);
ddb=10^(db/10); deviat=sqrt(1/ddb); randn('state',sum(100*clock)); rgauss=randn(mm,nn); rgaus=rgauss.*deviat; randn('state',sum(100*clock)); igauss=randn(mm,nn); igaus=igauss.*deviat; fm=tranfreqm(mm,nn,carf,bandw); tt=timegen(prf,mm,nn); tta=tt.^2; ttj=tt.^3; rmn=rangn+vnot*tt+0.5*anot*tta+1/6*jnot*ttj; thetamn=thetaxis+rv*tt+0.5*ra*tta; pmn=2*(fm/cc).*sin(thetamn); qmn=2*(fm/cc).*cos(thetamn); Hmn=0; for num=1:numscat hmn=exp(i*2*pi*(pmn.*xposition(num)+qmn.*yposition(num))); Hmn=Hmn+hmn; end Umn=exp(i*4*pi/cc*fm.*rmn).*Hmn; Ichannel=real(Umn)+rgaus; Qchannel=imag(Umn)+igaus; Umnnoise=Ichannel+i*Qchannel; if strcmp(sv,'saved') == 1 save Adata.mat Umnnoise; end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -