Sei sulla pagina 1di 10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

DesigningaBasicMonostaticPulseRadar
Thisexampleshowshowtodesignamonostaticpulseradartoestimate
OpenScript
thetargetrange.Amonostaticradarhasthetransmittercolocatedwith
thereceiver.Thetransmittergeneratesapulsewhichhitsthetargetand
producesanechoreceivedbythereceiver.Bymeasuringthelocationoftheechoesintime,wecanestimatethe
rangeofatarget.
Thisexamplefocusesonapulseradarsystemdesignwhichcanachieveasetofdesignspecifications.Itoutlinesthe
stepstotranslatedesignspecifications,suchastheprobabilityofdetectionandtherangeresolution,intoradar
systemparameters,suchasthetransmitpowerandthepulsewidth.Italsomodelstheenvironmentandtargetsto
synthesizethereceivedsignal.Finally,signalprocessingtechniquesareappliedtothereceivedsignaltodetectthe
rangesofthetargets.

DesignSpecifications
Thedesigngoalofthispulseradarsystemistodetectnonfluctuatingtargetswithatleastonesquaremeterradar
crosssection(RCS)atadistanceupto5000metersfromtheradarwitharangeresolutionof50meters.Thedesired
performanceindexisaprobabilityofdetection(Pd)of0.9andprobabilityoffalsealarm(Pfa)below1e6.Since
coherentdetectionrequiresphaseinformationand,thereforeismorecomputationallyexpensive,weadopta
noncoherentdetectionscheme.Inaddition,thisexampleassumesafreespaceenvironment.
pd=0.9;%Probabilityofdetection
pfa=1e6;%Probabilityoffalsealarm
max_range=5000;%Maximumunambiguousrange
range_res=50;%Requiredrangeresolution
tgt_rcs=1;%Requiredtargetradarcrosssection

MonostaticRadarSystemDesign
Weneedtodefineseveralcharacteristicsoftheradarsystemsuchasthewaveform,thereceiver,thetransmitter,and
theantennausedtoradiateandcollectthesignal.
Waveform
Wechoosearectangularwaveforminthisexample.Thedesiredrangeresolutiondeterminesthebandwidthofthe
waveform,which,inthecaseofarectangularwaveform,determinesthepulsewidth.
Anotherimportantparameterofapulsewaveformisthepulserepetitionfrequency(PRF).ThePRFisdeterminedby
themaximumunambiguousrange.
prop_speed=physconst('LightSpeed');%Propagationspeed
pulse_bw=prop_speed/(2*range_res);%Pulsebandwidth
pulse_width=1/pulse_bw;%Pulsewidth
prf=prop_speed/(2*max_range);%Pulserepetitionfrequency
fs=2*pulse_bw;%Samplingrate
waveform=phased.RectangularWaveform(...
'PulseWidth',1/pulse_bw,...
'PRF',prf,...
'SampleRate',fs);
Notethatwesetthesamplingrateastwicethebandwidth.
ReceiverNoiseCharacteristics

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

1/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

Weassumethattheonlynoisepresentatthereceiveristhethermalnoise,sothereisnoclutterinvolvedinthis
simulation.Thepowerofthethermalnoiseisrelatedtothereceiverbandwidth.Thereceiver'snoisebandwidthisset
tobethesameasthebandwidthofthewaveform.Thisisoftenthecaseinrealsystems.Wealsoassumethatthe
receiverhasa20dBgainanda0dBnoisefigure.
noise_bw=pulse_bw;
receiver=phased.ReceiverPreamp(...
'Gain',20,...
'NoiseFigure',0,...
'SampleRate',fs,...
'EnableInputPort',true);
Notethatbecausewearemodelingamonostaticradar,thereceivercannotbeturnedonuntilthetransmitterisoff.
Therefore,wesettheEnableInputPortpropertytotruesothatasynchronizationsignalcanbepassedfromthe
transmittertothereceiver.
Transmitter
Themostcriticalparameterofatransmitteristhepeaktransmitpower.Therequiredpeakpowerisrelatedtomany
factorsincludingthemaximumunambiguousrange,therequiredSNRatthereceiver,andthepulsewidthofthe
waveform.Amongthesefactors,therequiredSNRatthereceiverisdeterminedbythedesigngoalofPdandPfa,as
wellasthedetectionschemeimplementedatthereceiver.
TherelationbetweenPd,PfaandSNRcanbebestrepresentedbyareceiveroperatingcharacteristics(ROC)curve.
WecangeneratethecurvewherePdisafunctionofPfaforvaryingSNRsusingthefollowingcommand
snr_db=[inf,0,3,10,13];
rocsnr(snr_db,'SignalType','NonfluctuatingNoncoherent');

TheROCcurvesshowthattosatisfythedesigngoalsofPfa=1e6andPd=0.9,thereceivedsignal'sSNRmust
exceed13dB.Thisisafairlyhighrequirementandisnotverypractical.Tomaketheradarsystemmorefeasible,we
canuseapulseintegrationtechniquetoreducetherequiredSNR.Ifwechoosetointegrate10pulses,thecurvecan
begeneratedas

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

2/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

num_pulse_int=10;
rocsnr([035],'SignalType','NonfluctuatingNoncoherent',...
'NumPulses',num_pulse_int);

Wecanseethattherequiredpowerhasdroppedtoaround5dB.FurtherreductionofSNRcanbeachievedby
integratingmorepulses,butthenumberofpulsesavailableforintegrationisnormallylimitedduetothemotionofthe
targetortheheterogeneityoftheenvironment.
TheapproachabovereadsouttheSNRvaluefromthecurve,butitisoftendesirabletocalculateonlytherequired
value.Forthenoncoherentdetectionscheme,thecalculationoftherequiredSNRis,intheory,quitecomplex.
Fortunately,therearegoodapproximationsavailable,suchasAlbersheim'sequation.UsingAlbersheim'sequation,the
requiredSNRcanbederivedas
snr_min=albersheim(pd,pfa,num_pulse_int)
snr_min=
4.9904
OnceweobtaintherequiredSNRatthereceiver,thepeakpoweratthetransmittercanbecalculatedusingtheradar
equation.Hereweassumethatthetransmitterhasagainof20dB.
Tocalculatethepeakpowerusingtheradarequation,wealsoneedtoknowthewavelengthofthepropagatingsignal,
whichisrelatedtotheoperatingfrequencyofthesystem.Herewesettheoperatingfrequencyto10GHz.
tx_gain=20;
fc=10e9;
lambda=prop_speed/fc;
peak_power=radareqpow(lambda,max_range,snr_min,pulse_width,...
'RCS',tgt_rcs,'Gain',tx_gain)

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

3/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

peak_power=
5.2265e+03
Notethattheresultingpowerisabout5kw,whichisveryreasonable.Incomparison,ifwehadnotusedthepulse
integrationtechnique,theresultingpeakpowerwouldhavebeen33kw,whichishuge.
Withallthisinformation,wecanconfigurethetransmitter.
transmitter=phased.Transmitter(...
'Gain',tx_gain,...
'PeakPower',peak_power,...
'InUseOutputPort',true);
Again,sincethisexamplemodelsamonostaticradarsystem,theInUseOutputPortissettotruetooutputthestatus
ofthetransmitter.Thisstatussignalcanthenbeusedtoenablethereceiver.
RadiatorandCollector
Inaradarsystem,thesignalpropagatesintheformofanelectromagneticwave.Therefore,thesignalneedstobe
radiatedandcollectedbytheantennausedintheradarsystem.Thisiswheretheradiatorandthecollectorcomeinto
thepicture.
Inamonostaticradarsystem,theradiatorandthecollectorsharethesameantenna,sowewillfirstdefinethe
antenna.Tosimplifythedesign,wechooseanisotropicantenna.Notethattheantennaneedstobeabletoworkatthe
operatingfrequencyofthesystem(10GHz),sowesettheantenna'sfrequencyrangeto515GHz.
Weassumethattheantennaisstationary.
antenna=phased.IsotropicAntennaElement(...
'FrequencyRange',[5e915e9]);
sensormotion=phased.Platform(...
'InitialPosition',[0;0;0],...
'Velocity',[0;0;0]);
Withtheantennaandtheoperatingfrequency,wedefineboththeradiatorandthecollector.
radiator=phased.Radiator(...
'Sensor',antenna,...
'OperatingFrequency',fc);
collector=phased.Collector(...
'Sensor',antenna,...
'OperatingFrequency',fc);
Thiscompletestheconfigurationoftheradarsystem.Inthefollowingsections,wewilldefineotherentities,suchas
thetargetandtheenvironmentthatareneededforthesimulation.Wewillthensimulatethesignalreturnandperform
rangedetectiononthesimulatedsignal.

SystemSimulation
Targets
Totestourradar'sabilitytodetecttargets,wemustdefinethetargetsfirst.Letusassumethatthereare3stationary,
nonfluctuatingtargetsinspace.Theirpositionsandradarcrosssectionsaregivenbelow.
tgtpos=[[2024.66;0;0],[3518.63;0;0],[3845.04;0;0]];
tgtvel=[[0;0;0],[0;0;0],[0;0;0]];
tgtmotion=phased.Platform('InitialPosition',tgtpos,'Velocity',tgtvel);
tgtrcs=[1.62.21.05];
target=phased.RadarTarget('MeanRCS',tgtrcs,'OperatingFrequency',fc);
https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

4/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

PropagationEnvironment
Tosimulatethesignal,wealsoneedtodefinethepropagationchannelbetweentheradarsystemandeachtarget.
channel=phased.FreeSpace(...
'SampleRate',fs,...
'TwoWayPropagation',true,...
'OperatingFrequency',fc);
Becausethisexampleusesamonostaticradarsystem,thechannelsaresettosimulatetwowaypropagationdelays.
SignalSynthesis
Wearenowreadytosimulatetheentiresystem.
Thesynthesizedsignalisadatamatrixwiththefasttime(timewithineachpulse)alongeachcolumnandtheslow
time(timebetweenpulses)alongeachrow.Tovisualizethesignal,itishelpfultodefineboththefasttimegridand
slowtimegrid.
fast_time_grid=unigrid(0,1/fs,1/prf,'[)');
slow_time_grid=(0:num_pulse_int1)/prf;
Thefollowingloopsimulates10pulsesofthereceivesignal.
Wesettheseedforthenoisegenerationinthereceiversothatwecanreproducethesameresults.
receiver.SeedSource='Property';
receiver.Seed=2007;
%Preallocatearrayforimprovedprocessingspeed
rxpulses=zeros(numel(fast_time_grid),num_pulse_int);
form=1:num_pulse_int
%Updatesensorandtargetpositions
[sensorpos,sensorvel]=sensormotion(1/prf);
[tgtpos,tgtvel]=tgtmotion(1/prf);
%Calculatethetargetanglesasseenbythesensor
[tgtrng,tgtang]=rangeangle(tgtpos,sensorpos);
%Simulatepropagationofpulseindirectionoftargets
pulse=waveform();
[txsig,txstatus]=transmitter(pulse);
txsig=radiator(txsig,tgtang);
txsig=channel(txsig,sensorpos,tgtpos,sensorvel,tgtvel);
%Reflectpulseoffoftargets
tgtsig=target(txsig);
%Receivetargetreturnsatsensor
rxsig=collector(tgtsig,tgtang);
rxpulses(:,m)=receiver(rxsig,~(txstatus>0));
end

RangeDetection
DetectionThreshold

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

5/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

Thedetectorcomparesthesignalpowertoagiventhreshold.Inradarapplications,thethresholdisoftenchosenso
thatthePfaisbelowacertainlevel.Inthiscase,weassumethenoiseiswhiteGaussianandthedetectionis
noncoherent.Sincewearealsousing10pulsestodothepulseintegration,thesignalpowerthresholdisgivenby
npower=noisepow(noise_bw,receiver.NoiseFigure,...
receiver.ReferenceTemperature);
threshold=npower*db2pow(npwgnthresh(pfa,num_pulse_int,'noncoherent'));
Weplotthefirsttworeceivedpulseswiththethreshold
num_pulse_plot=2;
helperRadarPulsePlot(rxpulses,threshold,...
fast_time_grid,slow_time_grid,num_pulse_plot);

Thethresholdinthesefiguresisfordisplaypurposeonly.Notethatthesecondandthirdtargetreturnsaremuch
weakerthanthefirstreturnbecausetheyarefartherawayfromtheradar.Therefore,thereceivedsignalpowerisrange
dependentandthethresholdisunfairtotargetslocatedatdifferentranges.
MatchedFilter
Thematchedfilteroffersaprocessinggainwhichimprovesthedetectionthreshold.Itconvolvesthereceivedsignal
withalocal,timereversed,andconjugatedcopyoftransmittedwaveform.Therefore,wemustspecifythetransmitted
waveformwhencreatingourmatchedfilter.Thereceivedpulsesarefirstpassedthroughamatchedfiltertoimprove
theSNRbeforedoingpulseintegration,thresholddetection,etc.
matchingcoeff=getMatchedFilter(waveform);
matchedfilter=phased.MatchedFilter(...
'Coefficients',matchingcoeff,...
'GainOutputPort',true);
[rxpulses,mfgain]=matchedfilter(rxpulses);
Thematchedfilterintroducesanintrinsicfilterdelaysothatthelocationsofthepeak(themaximumSNRoutput
sample)arenolongeralignedwiththetruetargetlocations.Tocompensateforthisdelay,inthisexample,wewill
movetheoutputofthematchedfilterforwardandpadthezerosattheend.Notethatinrealsystem,becausethedata
getsconnectedcontinuously,thereisreallynoendofit.

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

6/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

matchingdelay=size(matchingcoeff,1)1;
rxpulses=buffer(rxpulses(matchingdelay+1:end),size(rxpulses,1));
Thethresholdisthenincreasedbythematchedfilterprocessinggain.
threshold=threshold*db2pow(mfgain);
Thefollowingplotshowsthesametwopulsesaftertheypassthroughthematchedfilter.
helperRadarPulsePlot(rxpulses,threshold,...
fast_time_grid,slow_time_grid,num_pulse_plot);

Afterthematchedfilterstage,theSNRisimproved.However,becausethereceivedsignalpowerisdependentonthe
range,thereturnofaclosetargetisstillmuchstrongerthanthereturnofatargetfartheraway.Therefore,asthe
abovefigureshows,thenoisefromacloserangebinalsohasasignificantchanceofsurpassingthethresholdand
shadowingatargetfartheraway.Toensurethethresholdisfairtoallthetargetswithinthedetectablerange,wecan
useatimevaryinggaintocompensatefortherangedependentlossinthereceivedecho.
Tocompensatefortherangedependentloss,wefirstcalculatetherangegatescorrespondingtoeachsignalsample
andthencalculatethefreespacepathlosscorrespondingtoeachrangegate.Oncethatinformationisobtained,we
applyatimevaryinggaintothereceivedpulsesothatthereturnsareasiffromthesamereferencerange(the
maximumdetectablerange).
range_gates=prop_speed*fast_time_grid/2;
tvg=phased.TimeVaryingGain(...
'RangeLoss',2*fspl(range_gates,lambda),...
'ReferenceLoss',2*fspl(max_range,lambda));
rxpulses=tvg(rxpulses);
Nowlet'splotthesametwopulsesaftertherangenormalization
helperRadarPulsePlot(rxpulses,threshold,...
fast_time_grid,slow_time_grid,num_pulse_plot);
https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

7/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

Thetimevaryinggainoperationresultsinarampinthenoisefloor.However,thetargetreturnisnowrange
independent.Aconstantthresholdcannowbeusedfordetectionacrosstheentiredetectablerange.
Noticethatatthisstage,thethresholdisabovethemaximumpowerlevelcontainedineachpulse.Therefore,nothing
canbedetectedatthisstageyet.Weneedtoperformpulseintegrationtoensurethepowerofreturnedechoesfrom
thetargetscansurpassthethresholdwhileleavingthenoisefloorbelowthebar.Thisisexpectedsinceitisthepulse
integrationwhichallowsustousethelowerpowerpulsetrain.
NoncoherentIntegration
WecanfurtherimprovetheSNRbynoncoherentlyintegrating(videointegration)thereceivedpulses.
rxpulses=pulsint(rxpulses,'noncoherent');
helperRadarPulsePlot(rxpulses,threshold,...
fast_time_grid,slow_time_grid,1);

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

8/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

Afterthevideointegrationstage,thedataisreadyforthefinaldetectionstage.Itcanbeseenfromthefigurethatall
threeechoesfromthetargetsareabovethethreshold,andthereforecanbedetected.
RangeDetection
Finally,thethresholddetectionisperformedontheintegratedpulses.Thedetectionschemeidentifiesthepeaksand
thentranslatestheirpositionsintotherangesofthetargets.
[~,range_detect]=findpeaks(rxpulses,'MinPeakHeight',sqrt(threshold));
Thetruerangesandthedetectedrangesofthetargetsareshownbelow:
true_range=round(tgtrng)
range_estimates=round(range_gates(range_detect))
true_range=
202535193845

range_estimates=
202535253850
Notethattheserangeestimatesareonlyaccurateuptotherangeresolution(50m)thatcanbeachievedbytheradar
system.

Summary
Inthisexample,wedesignedaradarsystembasedonasetofgivenperformancegoals.Fromtheseperformance
goals,manydesignparametersoftheradarsystemwerecalculated.Theexamplealsoshowedhowtousethe
designedradartoperformarangedetectiontask.Inthisexample,theradarusedarectangularwaveform.Interested
readerscanrefertoWaveformDesigntoImprovePerformanceofanExistingRadarSystemforanexampleusinga
chirpwaveform.

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

9/10

10/23/2016

DesigningaBasicMonostaticPulseRadarMATLAB&SimulinkExampleMathWorksIndia

https://in.mathworks.com/help/phased/examples/designingabasicmonostaticpulseradar.html

10/10