# Documentation

## Barrage Jammer

### Support for Modeling Barrage Jammer

The phased.BarrageJammer object models a broadband jammer. The output of phased.BarrageJammer is a complex white Gaussian noise sequence. The modifiable properties of the barrage jammer are:

• ERP — Effective radiated power in watts

• SamplesPerFrameSource — Source of number of samples per frame

• SamplesPerFrame — Number of samples per frame

• SeedSource — Source of seed for random number generator

• Seed — Seed for random number generator

The real and imaginary parts of the complex white Gaussian noise sequence each have variance equal to 1/2 the effective radiated power in watts. Denote the effective radiated power in watts by P. The barrage jammer output is:

$w\left[n\right]=\sqrt{\frac{P}{2}}x\left[n\right]+j\sqrt{\frac{P}{2}}y\left[n\right]$

In this equation, x[n] and y[n] are uncorrelated sequences of zero-mean Gaussian random variables with unit variance.

### Model Barrage Jammer Output

This example examines the statistical properties of the barrage jammer output and how they relate to the effective radiated power (ERP). Create a barrage jammer using an effective radiated power of 5000 watts. Generate output at 500 samples per frame. Then call the step function once to generate a single frame of complex data. Using the histogram function, show the distribution of barrage jammer output values. The BarrageJammer System object uses a random number generator. In this example, the random number generator seed is fixed for illustrative purposes and can be removed.

rng default sJam = phased.BarrageJammer('ERP',5000,... 'SamplesPerFrame',500); y = step(sJam); subplot(2,1,1) histogram(real(y)) title('Histogram of Real Part') subplot(2,1,2) histogram(imag(y)) title('Histogram of Imaginary Part') xlabel('Watts') 

The mean values of the real and imaginary parts are

mean(real(y)) mean(imag(y)) 
ans = -1.0961 ans = -2.1671 

which are effectively zero. The standard deviations of the real and imaginary parts are

std(real(y)) std(imag(y)) 
ans = 50.1950 ans = 49.7448 

which agree with the predicted value of .

### Model Effect of Barrage Jammer on Target Echo

This example demonstrates how to simulate the effect of a barrage jammer on a target echo.

First, create the required objects. You need an array, a transmitter, a radiator, a target, a jammer, a collector, and a receiver. Additionally, you need to define two propagation paths: one from the array to the target and back, and the other path from the jammer to the array.

hula = phased.ULA(4); Fs = 1e6; fc = 1e9; hwav = phased.RectangularWaveform('PulseWidth',100e-6,... 'PRF',1e3,'NumPulses',5,'SampleRate',Fs); htx = phased.Transmitter('PeakPower',1e4,'Gain',20,... 'InUseOutputPort',true); hrad = phased.Radiator('Sensor',hula,'OperatingFrequency',fc); hjammer = phased.BarrageJammer('ERP',1000,... 'SamplesPerFrame',hwav.NumPulses*hwav.SampleRate/hwav.PRF); htarget = phased.RadarTarget('Model','Nonfluctuating',... 'MeanRCS',1,'OperatingFrequency',fc); htargetpath = phased.FreeSpace('TwoWayPropagation',true,... 'SampleRate',Fs,'OperatingFrequency', fc); hjammerpath = phased.FreeSpace('TwoWayPropagation',false,... 'SampleRate',Fs,'OperatingFrequency', fc); hcollector = phased.Collector('Sensor',hula,... 'OperatingFrequency',fc); hrc = phased.ReceiverPreamp('EnableInputPort',true);

Assume that the array, target, and jammer are stationary. The array is located at the global origin, [0;0;0]. The target is located at [1000 ;500;0], and the jammer is located at [2000;2000;100]. Determine the directions from the array to the target and jammer.

targetloc = [1000 ; 500; 0]; jammerloc = [2000; 2000; 100]; [~,tgtang] = rangeangle(targetloc); [~,jamang] = rangeangle(jammerloc);

Finally, transmit the rectangular pulse waveform to the target, reflect it off the target, and collect the echo at the array. Simultaneously, the jammer transmits a jamming signal toward the array. The jamming signal and echo are mixed at the receiver.

% Generate waveform wf = step(hwav); % Transmit waveform [wf,txstatus] = step(htx,wf); % Radiate pulse toward the target wf = step(hrad,wf,tgtang); % Propagate pulse toward the target wf = step(htargetpath,wf,[0;0;0],targetloc,[0;0;0],[0;0;0]); % Reflect it off the target wf = step(htarget,wf); % Collect the echo wf = step(hcollector,wf,tgtang); % Generate the jamming signal jamsig = step(hjammer); % Propagate the jamming signal to the array jamsig = step(hjammerpath,jamsig,jammerloc,[0;0;0],... [0;0;0],[0;0;0]); % Collect the jamming signal jamsig = step(hcollector,jamsig,jamang); % Receive target echo alone and target echo + jamming signal pulsewave = step(hrc, wf,~txstatus); pulsewave_jamsig = step(hrc,wf+jamsig,~txstatus);

Plot the result, and compare it with received waveform with and without jamming.

subplot(2,1,1); t = unigrid(0,1/Fs,size(pulsewave,1)*1/Fs,'[)'); plot(t,abs(pulsewave(:,1))); title('Magnitudes of Pulse Waveform Without Jamming--Element 1') ylabel('Magnitude'); subplot(2,1,2); plot(t,abs(pulsewave_jamsig(:,1))); title('Magnitudes of Pulse Waveform with Jamming--Element 1') xlabel('Seconds'); ylabel('Magnitude');