Sample Matrix Inversion Beamformer - MATLAB & Simulink - MathWorks 中国 (2024)

Sample Matrix Inversion Beamformer

When to Use the SMI Beamformer

In situations where an airborne radar system needs to suppressclutter returns and jammer interference, the system needs a more sophisticatedalgorithm than a DPCA pulse canceller can provide. One option is thesample matrix inversion (SMI) algorithm. SMI is the optimum STAP algorithmand is often used as a baseline for comparison with other algorithms.

The SMI algorithm is computationally expensive and assumes astationary environment across many pulses. If you need to suppressclutter returns and jammer interference with less computation, orin a rapidly changing environment, consider using an ADPCA pulse cancellerinstead.

The phased.STAPSMIBeamformer object implementsthe SMI algorithm. In particular, the object lets you specify:

  • The number of training cells. The algorithm uses trainingcells to estimate the interference. In general, a larger number oftraining cells leads to a better estimate of interference.

  • The number of guard cells close to the target cells.The algorithm recognizes guard cells to prevent target returns fromcontaminating the estimate of the interference.

Sample Matrix Inversion Beamformer

Open Live Script

This scenario is identical to the one presented in Adaptive DPCA Pulse Canceller To Reject Clutter and Interference. You can run the code for both examples to compare the ADPCA pulse canceller with the SMI beamformer. The example details and code are repeated for convenience.

To repeat the scenario for convenience, the airborne radar platform is a six-element ULA operating at 4 GHz. The array elements are spaced at one-half the wavelength of the 4 GHz carrier frequency. The radar emits ten rectangular pulses two μs in duration with a PRF of 5 kHz. The platform is moving along the array axis with a speed equal to one-half the product of the element spacing and the PRF. The target has a nonfluctuating RCS of 1 square meter and is moving with a constant velocity vector of (15,15,0). A stationary broadband barrage jammer is located at (3.5e3,1e3,0). The jammer has an effective radiated power of 1 kW.

PRF = 5e3;fc = 4e9;fs = 1e6;c = physconst('LightSpeed');antenna = phased.IsotropicAntennaElement... ('FrequencyRange',[8e8 5e9],'BackBaffled',true);lambda = c/fc;array = phased.ULA(6,'Element',antenna,'ElementSpacing',lambda/2);waveform = phased.RectangularWaveform('PulseWidth', 2e-6,... 'PRF',PRF,'SampleRate',fs,'NumPulses',1);radiator = phased.Radiator('Sensor',array,... 'PropagationSpeed',c,... 'OperatingFrequency',fc);collector = phased.Collector('Sensor',array,... 'PropagationSpeed',c,... 'OperatingFrequency',fc);vy = (array.ElementSpacing * PRF)/2;transmitterplatform = phased.Platform('InitialPosition',[0;0;3e3],... 'Velocity',[0;vy;0]);% Load simulated constant gamma clutterload clutterdatatarget = phased.RadarTarget('MeanRCS',1,... 'Model','Nonfluctuating','OperatingFrequency',fc);targetplatform = phased.Platform('InitialPosition',[5e3; 5e3; 0],... 'Velocity',[15;15;0]);% add jammer signal with 200 samples per frame and an ERP of 1000 W.jamsig = sqrt(1000)*randn(200,1);jammerplatform = phased.Platform(... 'InitialPosition',[3.5e3; 1e3; 0],'Velocity',[0;0;0]);channel = phased.FreeSpace('OperatingFrequency',fc,... 'TwoWayPropagation',false,'SampleRate',fs);receiverpreamp = phased.ReceiverPreamp('NoiseFigure',0,... 'EnableInputPort',true,'SampleRate',fs,'Gain',40);transmitter = phased.Transmitter('PeakPower',1e4,... 'InUseOutputPort',true,'Gain',40);

Propagate the ten rectangular pulses to and from the target and collect the responses at the array. Compute clutter echoes using the constant gamma model with a gamma value corresponding to wooded terrain. Also, propagate the jamming signal from the jammer location to the airborne ULA.

NumPulses = 10;wav = waveform();M = fs/PRF;N = array.NumElements;rxsig = zeros(M,N,NumPulses);%csig = zeros(M,N,NumPulses);jsig = zeros(M,N,NumPulses);fasttime = unigrid(0,1/fs,1/PRF,'[)');rangebins = (c*fasttime)/2;clutter.SeedSource = 'Property';clutter.Seed = 40543;jammer.SeedSource = 'Property';jammer.Seed = 96703;receiverpreamp.SeedSource = 'Property';receiverpreamp.Seed = 56113;jamloc = jammerplatform.InitialPosition;for n = 1:NumPulses [txloc,txvel] = transmitterplatform(1/PRF); % move transmitter [tgtloc,tgtvel] = targetplatform(1/PRF); % move target [~,tgtang] = rangeangle(tgtloc,txloc); % get angle to target [txsig,txstatus] = transmitter(wav); % transmit pulse %csig(:,:,n) = clutter(txsig(abs(txsig)>0)); % collect clutter txsig = radiator(txsig,tgtang); % radiate pulse txsig = channel(txsig,txloc,tgtloc,... txvel,tgtvel); % propagate pulse to target txsig = target(txsig); % reflect off target txsig = channel(txsig,tgtloc,txloc,... tgtvel,txvel); % propagate to array rxsig(:,:,n) = collector(txsig,tgtang); % collect pulse %jamsig = jammer(); % generate jammer signal [~,jamang] = rangeangle(jamloc,txloc); % angle from jammer to transmitter jamsig = channel(jamsig,jamloc,txloc,... [0;0;0],txvel); % propagate jammer signal jsig(:,:,n) = collector(jamsig,jamang); % collect jammer signal rxsig(:,:,n) = receiverpreamp(... rxsig(:,:,n) + csig(:,:,n) + jsig(:,:,n),... ~txstatus); % receive pulse plus clutter return plus jammer signal end

Determine the target's range, range gate, and two-way Doppler shift.

sp = radialspeed(tgtloc, targetplatform.Velocity, ... txloc, transmitterplatform.Velocity);tgtdoppler = 2*speed2dop(sp,lambda);tgtLocation = global2localcoord(tgtloc,'rs',txloc);tgtazang = tgtLocation(1);tgtelang = tgtLocation(2);tgtrng = tgtLocation(3);tgtcell = val2ind(tgtrng,c/(2 * fs));

Construct an SMI beamformer object. Use 100 training cells, 50 on each side of the target range gate. Use four guard cells, two range gates in front of the target cell and two range gates beyond the target cell. Obtain the beamformer response and weights.

tgtang = [tgtazang; tgtelang];beamformer = phased.STAPSMIBeamformer('SensorArray',array,... 'PRF',PRF,'PropagationSpeed',c,... 'OperatingFrequency',fc,... 'Direction',tgtang,'Doppler',tgtdoppler,... 'WeightsOutputPort',true,... 'NumGuardCells',4,'NumTrainingCells',100);[y,weights] = beamformer(rxsig,tgtcell);

Plot the resulting array output after beamforming.

plot([tgtrng,tgtrng],[0 5e-6],'-.',rangebins,abs(y))axis tighttitle('SMI Beamformer Output')xlabel('Range (meters)')ylabel('Magnitude')

Sample Matrix Inversion Beamformer- MATLAB & Simulink- MathWorks 中国 (1)

Plot the angle-Doppler response with the beamforming weights.

response = phased.AngleDopplerResponse('SensorArray',array,... 'OperatingFrequency',4e9,'PRF',PRF,... 'PropagationSpeed',physconst('LightSpeed'));plotResponse(response,weights)title('Angle-Doppler Response with SMI Beamforming Weights')

Sample Matrix Inversion Beamformer- MATLAB & Simulink- MathWorks 中国 (2)

MATLAB 命令

您点击的链接对应于以下 MATLAB 命令:

 

请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。

Sample Matrix Inversion Beamformer- MATLAB & Simulink- MathWorks 中国 (3)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

Europe

Asia Pacific

Contact your local office

Sample Matrix Inversion Beamformer
- MATLAB & Simulink
- MathWorks 中国 (2024)
Top Articles
Control Tutorials for MATLAB and Simulink
Control Tutorials for MATLAB and Simulink
Evil Dead Movies In Order & Timeline
Kem Minnick Playboy
Mcgeorge Academic Calendar
Nco Leadership Center Of Excellence
Tyson Employee Paperless
Apex Rank Leaderboard
Shorthand: The Write Way to Speed Up Communication
What Auto Parts Stores Are Open
Kostenlose Games: Die besten Free to play Spiele 2024 - Update mit einem legendären Shooter
New Day Usa Blonde Spokeswoman 2022
Bernie Platt, former Cherry Hill mayor and funeral home magnate, has died at 90
A.e.a.o.n.m.s
Methodist Laborworkx
Housework 2 Jab
Vanessa West Tripod Jeffrey Dahmer
Roll Out Gutter Extensions Lowe's
SF bay area cars & trucks "chevrolet 50" - craigslist
Healthier Homes | Coronavirus Protocol | Stanley Steemer - Stanley Steemer | The Steem Team
Diakimeko Leaks
Azur Lane High Efficiency Combat Logistics Plan
Elbert County Swap Shop
Spiritual Meaning Of Snake Tattoo: Healing And Rebirth!
Pensacola Tattoo Studio 2 Reviews
Mikayla Campinos: Unveiling The Truth Behind The Leaked Content
Craigslist Comes Clean: No More 'Adult Services,' Ever
Tottenham Blog Aggregator
Worthington Industries Red Jacket
Kamzz Llc
How Much Is An Alignment At Costco
Street Fighter 6 Nexus
Frommer's Belgium, Holland and Luxembourg (Frommer's Complete Guides) - PDF Free Download
Mg Char Grill
Memberweb Bw
Iban's staff
To Give A Guarantee Promise Figgerits
The Blackening Showtimes Near Regal Edwards Santa Maria & Rpx
Emerge Ortho Kronos
How to Draw a Sailboat: 7 Steps (with Pictures) - wikiHow
Boone County Sheriff 700 Report
Vision Source: Premier Network of Independent Optometrists
Timberwolves Point Guard History
Letter of Credit: What It Is, Examples, and How One Is Used
11 Best Hotels in Cologne (Köln), Germany in 2024 - My Germany Vacation
War Room Pandemic Rumble
Unit 11 Homework 3 Area Of Composite Figures
Graduation Requirements
Ark Silica Pearls Gfi
683 Job Calls
One Facing Life Maybe Crossword
Syrie Funeral Home Obituary
Latest Posts
Article information

Author: Terence Hammes MD

Last Updated:

Views: 5563

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Terence Hammes MD

Birthday: 1992-04-11

Address: Suite 408 9446 Mercy Mews, West Roxie, CT 04904

Phone: +50312511349175

Job: Product Consulting Liaison

Hobby: Jogging, Motor sports, Nordic skating, Jigsaw puzzles, Bird watching, Nordic skating, Sculpting

Introduction: My name is Terence Hammes MD, I am a inexpensive, energetic, jolly, faithful, cheerful, proud, rich person who loves writing and wants to share my knowledge and understanding with you.