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)

FAQs

How do you solve a matrix inversion in Matlab? ›

One way to solve the equation is with x = inv(A)*b . A better way, from the standpoint of both execution time and numerical accuracy, is to use the matrix backslash operator x = A\b . This produces the solution using Gaussian elimination, without explicitly forming the inverse.

What is the sample matrix inversion algorithm? ›

Sample matrix inversion algorithm is discontinuous adaptive algorithms. Sample matrix is a Time average estimate of the array correlation matrix using k-time samples. For ergodic random process, the time average estimate will be equal the actual correlatio n matrix.

What is the best algorithm for inverting a matrix? ›

Gaussian elimination is a useful and easy way to compute the inverse of a matrix. To compute a matrix inverse using this method, an augmented matrix is first created with the left side being the matrix to invert and the right side being the identity matrix.

Why is matrix inversion important? ›

The inverse of a matrix can be useful for solving equations, when you need to solve the same equations with different right hand sides. It is overkill if you only want to solve the equations once.

What is the rule for matrix inversion? ›

The inverse of a matrix is another matrix that, when multiplied by the given matrix, yields the multiplicative identity. For a matrix A, its inverse is A-1. And A.A-1 = I, where I is denoted as the identity matrix.

How do you flip a matrix upside down in Matlab? ›

B = flipud( A ) returns A with its rows flipped in the up-down direction (that is, about a horizontal axis). If A is a column vector, then flipud(A) returns a vector of the same length with the order of its elements reversed. If A is a row vector, then flipud(A) simply returns A .

How do you reverse the direction of a matrix in Matlab? ›

B = flip( A , dim ) reverses the order of the elements in A along dimension dim . For example, if A is a matrix, then flip(A,1) reverses the elements in each column, and flip(A,2) reverses the elements in each row.

How to do an inverse function in Matlab? ›

g = finverse( f ) returns the inverse of function f , such that f(g(x)) = x . If f contains more than one variable, use the next syntax to specify the independent variable. g = finverse( f , var ) uses the symbolic variable var as the independent variable, such that f(g(var)) = var .

How do you find the inverse of a matrix? ›

The Method for Finding the Inverse of a Matrix
  1. Write the augmented matrix [A|In].
  2. Write the augmented matrix in step 1 in reduced row echelon form.
  3. If the reduced row echelon form in 2 is [In|B], then B is the inverse of A.
Jul 17, 2022

Top Articles
The incredible reinvention of Ireland's 'awful' tourist town
Courses that Fulfill General Education Requirements
Mountain Dew Bennington Pontoon
80 For Brady Showtimes Near Marcus Point Cinema
Chris wragge hi-res stock photography and images - Alamy
Dr Doe's Chemistry Quiz Answer Key
Jonathan Freeman : "Double homicide in Rowan County leads to arrest" - Bgrnd Search
Okatee River Farms
Nyuonsite
Tanger Outlets Sevierville Directory Map
Whiskeytown Camera
What is IXL and How Does it Work?
Employeeres Ual
Catsweb Tx State
My.doculivery.com/Crowncork
8 Ways to Make a Friend Feel Special on Valentine's Day
George The Animal Steele Gif
Ppm Claims Amynta
The EyeDoctors Optometrists, 1835 NW Topeka Blvd, Topeka, KS 66608, US - MapQuest
Dragonvale Valor Dragon
Miltank Gamepress
Drug Test 35765N
Yonkers Results For Tonight
Southland Goldendoodles
Booknet.com Contract Marriage 2
City Of Durham Recycling Schedule
Jesus Revolution Showtimes Near Regal Stonecrest
They Cloned Tyrone Showtimes Near Showbiz Cinemas - Kingwood
130Nm In Ft Lbs
Log in to your MyChart account
The Posturepedic Difference | Sealy New Zealand
Used Safari Condo Alto R1723 For Sale
Swgoh Boba Fett Counter
Puretalkusa.com/Amac
Makemkv Key April 2023
Muma Eric Rice San Mateo
Afspraak inzien
Shoreone Insurance A.m. Best Rating
Case Funeral Home Obituaries
Timberwolves Point Guard History
Cpmc Mission Bernal Campus & Orthopedic Institute Photos
11526 Lake Ave Cleveland Oh 44102
Live Delta Flight Status - FlightAware
Pike County Buy Sale And Trade
Az Unblocked Games: Complete with ease | airSlate SignNow
26 Best & Fun Things to Do in Saginaw (MI)
Aurora Southeast Recreation Center And Fieldhouse Reviews
Legs Gifs
Myapps Tesla Ultipro Sign In
Skyward Login Wylie Isd
303-615-0055
King Fields Mortuary
Latest Posts
Article information

Author: Ouida Strosin DO

Last Updated:

Views: 5988

Rating: 4.6 / 5 (76 voted)

Reviews: 83% of readers found this page helpful

Author information

Name: Ouida Strosin DO

Birthday: 1995-04-27

Address: Suite 927 930 Kilback Radial, Candidaville, TN 87795

Phone: +8561498978366

Job: Legacy Manufacturing Specialist

Hobby: Singing, Mountain biking, Water sports, Water sports, Taxidermy, Polo, Pet

Introduction: My name is Ouida Strosin DO, I am a precious, combative, spotless, modern, spotless, beautiful, precious person who loves writing and wants to share my knowledge and understanding with you.