480 likes | 2.53k Views
Modeling and Simulation of Phased Array Radar Systems. Michael G. Mulligan, Ph.D. Senior Application Engineering Manager MathWorks, USA. What Goes Into A Radar System. Radar systems are built by teams of engineers who focus on: Radio Frequency Electronics Signal Processing Algorithms
E N D
Modeling and Simulation of Phased Array Radar Systems Michael G. Mulligan, Ph.D. Senior Application Engineering Manager MathWorks, USA
What Goes Into A Radar System • Radar systems are built by teams of engineers who focus on: • Radio Frequency Electronics • Signal Processing Algorithms • Antenna Array Design • Digital Hardware Implementation • Statistical Analysis • Environmental Modeling • And that is just the signal processing – clearly it takes a skilled team with lots of varied expertise!
System Designer’s Challenges Rapid Innovation Standardized System Design API “I need to find innovative algorithmsand create a working system prototype very quickly.” “I often have to work with other engineers’ code and it takes me a long time to understand their code. If we could all use standardized APIs, code sharing and reuse would be much better.” Faster Simulations “I have to process large amounts of dataand test my simulations for several parameter value sets. Simulation speed is the biggest bottleneck.” Design Flow Gap “I need to rewrite my high-level MATLAB algorithm into low-level code like C/C++ for implementation purposes. I then need to verify that the rewritten code works the same way as the original MATLAB code.”
System ToolboxesAddress System Design Challenges Rapid Innovation Standardized System Design API “I need to find innovative algorithmsand create a working system prototype very quickly.” Pre-defined algorithms enable faster design iterations “I often have to work with other engineers’ code and it takes me a long time to understand their code. If we could all use standardized APIs, code sharing and reuse would be much better.” System objects offer standard reusable API Faster Simulations “I have to process large amounts of dataand test my simulations for several parameter value sets. Simulation speed is the biggest bottleneck.” Streaming techniques speed up simulations Design Flow Gap “I need to rewrite my high-level MATLAB algorithm into low-level code like C/C++ for implementation purposes. I then need to verify that the rewritten code works the same way as the original MATLAB code.” Algorithm support for fixed-point and C code generation enable design continuity in MATLAB
What are System Toolboxes? • A new set of products that spans between MATLAB and Simulink providing a more unified environment for design, analysis, and system simulation • System Toolboxes: • Contain a rich application-specific set of algorithms for simulation and design in both MATLAB and Simulink • Provide a standardized API and object oriented design methodology for reusable component design • Support both stream and batch processing in MATLAB and Simulink • Contain both fixed-point and floating point algorithm implementations • Support both MATLAB and Simulink based code generation
System Toolboxes:System Design in MATLAB and Simulink DSP System Toolbox Platform for Signal Processing System Design Communications System Toolbox Communications System Design LTE System Toolbox MATLAB-only LTE Physical Layer DesignPhased Array System Toolbox MATLAB-only Phased Array and Radar System Design Computer Vision System Toolbox Image Processing and Computer Vision
Phased Array System ToolboxAn open and extensible framework for design and simulation of Phased Array Systems
Phased Array System Toolbox • Model arrays, waveforms, targets, clutter, etc… • Simulate systems and analyze performance
Monostatic Radar System Example Accelerate Simulation Using MATLAB Coder %% System Simulation % Next, run the simulation for 100 pulses. During this simulation, four % time-scopes are used to observe the signals at various stages. The first % three scopes display the transmitted signal, received signal, and the % post-matched-filter and gain-adjusted signal for 10-pulses. Although the % transmitted signal is a high-power pulse train, scope 2 shows a much % weaker received signal due to propagation loss. This signal cannot be % detected using the preset detection threshold. Even after % matched-filtering and gain compensation, it is still challenging to % detect all three targets. % pre-allocation fast_time_grid = 0:1/fs:1/prf-1/fs; num_pulse_samples = numel(fast_time_grid); rx_pulses = complex(zeros(num_pulse_samples,num_pulse_int)); mf_pulses = complex(zeros(num_pulse_samples,num_pulse_int)); tsig = complex(zeros(num_pulse_samples,3)); rsig = complex(zeros(num_pulse_samples,3)); tgt_pos = zeros(3,3); tgt_vel = zeros(3,3); tgt_rng = zeros(3,3); tgt_ang = zeros(2,3); detect_pulse = zeros(num_pulse_samples,1); % simulation loop for m = 1:10*num_pulse_int x = step(myWaveform); % obtain waveform [s, tx_status] = step(myTx,x); % transmit [ant_pos, ant_vel] = step(... myAntennaPlatform,1/prf); % update antenna position for n = 1:3 % for each target [tgt_pos(:,n), tgt_vel(:,n)] = step(... myTargetPlatforms{n},1/prf); % update target position [tgt_rng(n), tgt_ang(:,n)] = rangeangle(... tgt_pos(:,n), ant_pos); % calculate range/angle tsig(:,n) = step(myTxAntenna,... s,tgt_ang(:,n)); % radiate tsig(:,n) = step(myTargetChannels{n},... tsig(:,n),ant_pos,tgt_pos(:,n),... ant_vel,tgt_vel(:,n)); % propagate rsig(:,n) = step(myTargets{n},tsig(:,n)); % reflect end rxsig = step(myRxAntenna,rsig,tgt_ang); % collect nn = mod(m-1,num_pulse_int)+1; rx_pulses(:,nn) = step(myRx,... rxsig,~(tx_status>0)); % receive mf_pulses(:,nn) = step(myMF,rx_pulses(:,nn)); % matched filtering mf_pulses(:,nn) = step(myTVG,mf_pulses(:,nn));% time varying gain ifnn == num_pulse_int% detection detect_pulse = pulsint(mf_pulses,'noncoherent'); end helperRadarStreamDisplay(s,abs(rx_pulses(:,nn)),... abs(mf_pulses(:,nn)),detect_pulse,... sqrt(threshold)*ones(num_pulse_samples,1)); end • System simulation • Transmit linear FM waveform • Reflect off 3 distinct targets • Include target dynamics • Collect and process received signal • Develop, explore, optimize your design using MATLAB code • Generate MEX-function for speed when running long simulations
Commonly Asked Questions • Can I model bistatic and multi-static radar architectures? • Does it support subarrays? • Can I model clutter? • Does it support polarization? • Can I model non-ideal arrays? • Can I import custom radiation patterns? • Can I model arbitrary geometry of arrays? • Does it support GPU? • Can I generate C code from it? YES!
New in Phased Array System Toolbox • R2013a (Major update 2.0) • Focus on design capabilities • R2013b (V 2.1) • Code generation for functions and objects • Visualization of element and array radiation patterns with arbitrary resolution • Plot response of multiple sets of weights for a single frequency • New default frequency limits for antenna and microphone elements • R2014a (V 2.2) • Grating lobe diagrams • Visualization of element and array directivity • Arbitrary geometry and custom element support in the Sensor Array Analyzer app
Automatic Translation of MATLAB to C With MATLAB Coder, design engineers can • Maintain one design in MATLAB • Design faster and get to C/C++ quickly • Test more systematically and frequently • Spend more time improving algorithms in MATLAB
aictest albersheim ambgfun aperture2gain az2broadside azel2phitheta azel2phithetapat azel2uv azel2uvpat azelaxes beat2range billingsleyicm broadside2az cart2sphvec cbfweights circpol2pol dechirp delayseq depressionang dop2speed dopsteeringvec effearthradius espritdoa fspl gain2aperture global2localcoord grazingang horizonrange lcmvweights local2globalcoord mdltest mvdrweights noisepow npwgnthresh phitheta2azel phitheta2azelpat phitheta2uv phitheta2uvpat physconst pol2circpol polellip polloss polratio polsignature pulsint radareqpow radareqrng radareqsnr radarvcd radialspeed range2beat range2bw range2time rangeangle rdcoupling rocpfa rocsnr rootmusicdoa rotx roty rotz sensorcov sensorsig shnidman speed2dop sph2cartvec spsmooth steervec stokes stretchfreq2rng surfacegamma surfclutterrcs systemp time2range unigrid uv2azel uv2azelpat uv2phitheta uv2phithetapat val2ind Phased Array Code Generation Support: 80+ functions
phased.CosineAntennaElement phased.CrossedDipoleAntennaElement phased.CustomAntennaElement phased.CustomMicrophoneElement phased.IsotropicAntennaElementIsotropic phased.OmnidirectionalMicrophoneElement phased.ShortDipoleAntennaElement phased.ULA phased.URA phased.ConformalArray phased.PartitionedArray phased.ReplicatedSubarray phased.SteeringVector phased.ArrayGain phased.ArrayResponse phased.ElementDelay phased.Collector phased.Radiator phased.WidebandCollector phased.LinearFMWaveformLinear phased.PhaseCodedWaveform phased.RectangularWaveform phased.SteppedFMWaveform phased.FMCWWaveform phased.MatchedFilter phased.Transmitter phased.ReceiverPreamp phased.PhaseShiftBeamformer phased.LCMVBeamformer phased.MVDRBeamformer phased.SubbandPhaseShiftBeamformer phased.FrostBeamformer phased.TimeDelayBeamformer phased.TimeDelayLCMVBeamformer phased.SteeringVector phased.SumDifferenceMonopulseTracker phased.SumDifferenceMonopulseTracker2D phased.BeamscanEstimator phased.BeamscanEstimator2D phased.MVDREstimator phased.MVDREstimator2D phased.RootMUSICEstimator phased.RootWSFEstimator phased.ESPRITEstimator phased.BeamspaceESPRITEstimator phased.STAPSMIBeamformer phased.DPCACanceller phased.ADPCACanceller phased.AngleDopplerResponse phased.CFARDetector phased.MatchedFilter phased.RangeDopplerResponse phased.StretchProcessor phased.TimeVaryingGain phased.FreeSpace phased.RadarTarget phased.ConstantGammaClutter phased.BarrageJammer phased.Platform Phased Array Code Generation Support:50+ System objects
Accelerating Algorithm Execution User’s code Optimize MATLAB code Parallel computing System objects MATLAB to C Custom code using MEX
Sensor Array Analyzer Analyze beam pattern of linear, planar, and conformal sensor arrays • Element definition • Array geometry definition • Array shading/tapers • Array steering • Radiation patterns in different forms
Radar Waveform Analyzer Analyze performance of pulsed, frequency modulated, and phase coded waveforms • Waveform parameters • Multi-domain visualizations • Range and Doppler characteristics • Generation of report and MATLAB code
Radar Equation Calculator Estimate maximum range, peak power and SNR of a radar system • Monostatic and bistatic configurations • Report generation • MATLAB code generation
Heterogeneous and Taper Support for Sensor Arrays • Taper support: • Tapers are a property of the array object • Taper values can be complex to allow for amplitude and phase tapering • Assign individual tapers by setting the Taper property • Heterogenous array support: • Different element patterns assigned to different sensors • Enablessimulation of coupling effect or pattern perturbation • Set the Element property to be a cell array of N patterns • Map each element to one of the N patterns using the ElementTypeMap property. System: phased.URA Properties: Element: {1x2 cell} Size: [13 10] ElementSpacing: [0.5 0.5] Lattice: 'Rectangular' ElementTypeMap: [1x130 double] Taper: [130x1 double]
Wideband Custom Antenna Support frequency dependent pattern in custom antenna
PolarimetricBistatic Radar System Model platform dynamics and transmit/receive array polarization • Polarized dipole antennas • Transmit, propagate, reflect and receive polarized signal • Specify target scattering matrix • Simulate platform motion • View Range-Doppler Map
Examples • Array Analysis • Antenna Array Analysis with Custom Radiation Pattern • Subarrays in Phased Array Antennas • Phased Array Gallery • Array Signal Processing • Direction of Arrival Estimation with Beamscan and MVDR • Conventional and Adaptive Beamformers • Introduction to Space-Time Adaptive Processing • Array System Modeling • Simulating a BistaticPolarimetric Radar • Automotive Adaptive Cruise Control Using FMCW Technology • Acoustic Beamforming Using a Microphone Array