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
Schönwalde-Glien - Aktuelle Nachrichten und Kommentare - MAZ
The Nikki Catsouras death - HERE the incredible photos | Horror Galore
Corgsky Puppies For Sale
Hallmark White Coat Ceremony Cards
Best Transmission Service Margate
Suriname vacancies - working in Paramaribo - Teleperformance
Arre St Wv Srj
Bingo Bling Promo Code 2023
Craigslist Richmond Ba
Seth Juszkiewicz Obituary
Clarita Amish Auction 2023
‘Sound of Freedom’ Is Now Streaming: Here’s Where to Stream the Controversial Crime Thriller Online for Free
Biz Buzz Inquirer
Timothy Warren Cobb Obituary
How Much Is Cvs Sports Physical
At 25 Years, Understanding The Longevity Of Craigslist
Babylon Alligator
M3Gan Showtimes Near Regal City North
라이키 유출
Maximise Your Funding: Key Insights on Accounting for Grants
Six Oaks Rv Park Mooresburg Tn
Hcpss Staff Hub Workday
Watch The Lovely Bones Online Free 123Movies
Softball History: Timeline & How it started
Theater X Orange Heights Florida
Lieu Gia Trang Houston Texas
11 Nightlife Spots To Experience In Salem, Oregon
Examination Policies: Finals, Midterms, General
Arapahoe Youth League Baseball
N33.Ultipro
209-929-1099
Devil May Cry 3: Dante's Awakening walkthrough/M16
2005 Volvo XC 70 XC90 V70 SUV Wagon for sale by owner - Banning, CA - craigslist
Stanley Steemer Medford Oregon
Unblocked Games 66E
Visit.lasd
Late Bloomers Summary and Key Lessons | Rich Karlgaard
One Person Dead In East Charlotte - WCCB Charlotte's CW
Sounder Mariners Schedule
Herbalism Guide Tbc
Josh Bailey Lpsg
Little League Coach Daily Themed Crossword
Directions To Truist Bank Near Me
General Kearny Inn Motel & Event Center
Smokingmeatforum
Roseberrys Obituaries
cGMP vs GMP: What's the Difference? | Ascendia Pharma
2015 | Ducati 1299 Panigale S Test
Xfiles Wiki
Fishing Report - Southwest Zone
Central routs Northland in Wisconsin volleyball tournament - Central College Athletics
Vox Machina Wiki
Latest Posts
Article information

Author: Lakeisha Bayer VM

Last Updated:

Views: 5588

Rating: 4.9 / 5 (69 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Lakeisha Bayer VM

Birthday: 1997-10-17

Address: Suite 835 34136 Adrian Mountains, Floydton, UT 81036

Phone: +3571527672278

Job: Manufacturing Agent

Hobby: Skimboarding, Photography, Roller skating, Knife making, Paintball, Embroidery, Gunsmithing

Introduction: My name is Lakeisha Bayer VM, I am a brainy, kind, enchanting, healthy, lovely, clean, witty person who loves writing and wants to share my knowledge and understanding with you.