# Figure 29. Expected SINR Loss for SMI with matched steering vector.

## Contents

```clc;  clear; close all;
```

```radar_oper_params;
```

## Thermal Noise Power Computation

```thermal_noise_power;
```

## Thermal Noise Covariance Matrix

```Rn = sigma2*eye(M*N);
```

## Clutter Patch RCS Computation

```clutter_patch_rcs;
```

## Calculate the Array Transmit and Element Receive Power Gains

```Tx_Rx_power_gains;
```

## Calculate the Clutter to Noise Ratio (CNR) for each clutter patch:

```ksi = Pt*Gtgain.*Grec*lambda^2*sigma/((4*pi)^3*Pn*10^(Ls/10)*Rcik^4);   % Eq. (58)
```

## Clutter Covariance Matrix Computations

```beta = 1;   % beta parameter.
phia = 0;   % Velocity Misalignment Angle.

[Rc, Vc] = clutt_cov(ksi,beta);
```

## Jamming Covariance Matrix Calculation

```jamm_cov;
```

## Analytic Interference Covariance Matrix Calculation

```Ru = Rc + Rj + Rn;
```

## SINR Loss Calculations

```fd = -150:.5:150;   Lfd = length(fd);
phit = 0; thetat = 0;                                     % Target Azimuth and Elevation Angles.
fspt = d/lambda*cos(thetat*pi/180)*sin(phit*pi/180);      % Target Spatial Frequency.
omegat = fd/fr;
at = exp(1i*2*pi*fspt*(0:N-1));                           % Target Spatial Steering Vector.
LSINRopt = zeros(1,Lfd);
InvRu = inv(Ru);
SNRo = M*N;                                               % Eq. (119)
Ndof = M*N;                                               % Number of adjustable weights (Degrees of Freedom)
Samples = [Ndof 2*Ndof 3*Ndof 4*Ndof 5*Ndof];             % Number of Samples(n3) used for SMI.
% Samples = 50*Ndof;             % Number of Samples(n3) used for SMI.
SINRopt = zeros(1,Lfd);

% Calculate LSINRopt:
for n1=1:Lfd
bt = exp(1i*2*pi*omegat(n1)*(0:M-1));                 % Dummy Target Doppler Steering Vector
vt = kron(bt,at).';
wopt = InvRu*vt; %#ok<*MINV>
SINRopt(n1) = real(wopt'*vt);                         % Eq. (112)
LSINRopt(n1) = SINRopt(n1)/SNRo;                      % Eq. (120)
end
```

## Calculate by Monte Carlo Experiments and Plot the Expected SINR Loss

```figure('NumberTitle', 'off','Name', 'Figure 29. SINR Loss for SMI with matched steering vector',...
'Position', [1 1 900 700]);
plot(fd,10*log10(abs(LSINRopt)),'LineWidth',1.5)
hold on;

% First Calculate LSINRest expected value using Monte Carlo method:
NRuns = 10;                         % Number of Monte Carlo runs.
rho = zeros(NRuns,Lfd);
SINRa = zeros(NRuns,Lfd);
time_loop = zeros(1,NRuns);
% Set the seed of the RNG.
LSINRest = zeros(Lfd,length(Samples));
colors = [0 1 0; 1 0 0 ; 1 1 0; 0 1 1; 1 0 1;];
rng(131);
warning('off', 'all');

for n3=1:length(Samples)

for n2=1:NRuns
n2; %#ok<*NOPTS>
X   = zeros(M*N,Samples(n3));
Rest = zeros(M*N,M*N);
for n4=1:Samples(n3)

% Create Thermal Noise Measurement space-time vector:
chi_n = sqrt(sigma2/2)*(randn(M*N,1) + 1i*randn(M*N,1));

% Create #1 Jammer Interference Measurement temporal vector:
alphaj1 = sqrt(sigma2*ksi_j(1,1)/2)*(randn(M,1) + 1i*randn(M,1));
% Create #2 Jammer Interference Measurement temporal vector:
alphaj2 = sqrt(sigma2*ksi_j(1,2)/2)*(randn(M,1) + 1i*randn(M,1));
% Create #1 Jammer Interference Measurement space-time vector:
chi_j1 = kron(alphaj1, Aj(:,1));
% Create #2 Jammer Interference Measurement space-time vector:
chi_j2 = kron(alphaj2, Aj(:,2));

% Create Total Jamming Interference Measurement space-time vector:
chi_j = chi_j1 + chi_j2;

% Create Total Clutter Interference Measurement space-time vector:
R = rand(1,Nc);  I = randn(1,Nc);
Ksi1 = repmat(sqrt(sigma2*ksi/2).*(R + 1i*I),[M*N 1]);
chi_ik = sum(Ksi1.*Vc,2);
% Add the interference component vectors to get the total
% (target free) measured interference space-time snapshot:
X(:,n4) = chi_ik + chi_j + chi_n;

end

% Interference Sample Covariance Matrix Computation:
meanX = 1/Samples(n3)*sum(X,2);
Ruest = 1/Samples(n3)*(X*X') - (meanX*meanX');                         % Eq. (129)
InvRuest = inv(Ruest);

for n1=1:Lfd
bt = exp(1i*2*pi*omegat(n1)*(0:M-1)); % Dummy Target Doppler Steering Vector
vt = kron(bt,at).';
w = InvRu*vt;
west = InvRuest*vt;                                                % Eq. (130)
rho(n2,n1) = abs(west'*vt)^2/real(west'*Ru*west)/real(w'*vt);      % Eq. (132)
end
end

% Average the Estimated SINR Loss Factor ρ (rho) and apply it to the Optimal SINR Loss
% LSINTopt to calculate the estimated SMI SINR Loss:
LSINRest(:,n3) = 1/NRuns*sum(rho).*LSINRopt;                               % Eq. (136)

plot(fd,10*log10(abs(LSINRest(:,n3))),'LineWidth',1.5,'Color', colors(n3,:))

end

ylabel('Expected SINR Loss (dB)');
xlabel('Target Doppler Frequency (Hz)');
% ylim([-30 1]);
legend('Known Covariance Matrix', 'SMI using Ke = N_{dof} samples', ...
'SMI using Ke = 2N_{dof} samples', 'SMI using Ke = 3N_{dof} samples', ...
'SMI using Ke = 4N_{dof} samples','SMI using Ke = 5N_{dof} samples', ...
'Location','East');
ylim([-40,5]);
grid on;
``` 