MATLAB Examples

# Figures 9 and 10. CNR per Column (element) as a function of azimuth angle.

## Contents

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

```fo = 450e6; % Operating Frequency in Hz Pt = 200e3; % Peak Transmit Power 200 kW dc = 0.06; % Duty Factor or Duty Cycle 6% Gt = 22; % Transmit Gain in dB Gr = 10; % Column Receive Gain in dB B = 4*1e6; % Receiver Instantaneous Bandwidth in Hz Ls = 4; % System Losses in dB fr = 300; % PRF in Hz % Number of Pulses per CPI: M = 18 Tp = 200e-6; % Pulse Width in sec. N = 18; % Number of Array Antenna Elements Gel = 4; % Element Gain in dB be = -30; % Element Backlobe Level in db Nc = 360; % Number of clutter patches uniformly distributed in azimuth. c = 299792458; % Speed of Light in m/sec. lambda = c/fo; % Operating wavelength in meters. d = lambda/2; % Interelement Spacing % Azimuth angle in degrees: phi = -180:179; Lphi = length(phi); f = zeros(1,Lphi); AF = zeros(1,Lphi); % Array Factor pre-allocation. ```

## Platform Parameters.

```ha = 9e3; % Platform altitude in meters. Rc = 13e4; % (clutter) range of interest in meters. ```

## Thermal Noise Power Computations.

```k = 1.3806488e-23; % Boltzmann Constant in J/K. To = 290; % Standard room Temperature in Kelvin. F = 3; % Receiver Noise Figure in dB; Te = To*(10^(F/10)-1); % Effective Receiver Temperature in Kelvin. Lr = 2.68; % System Losses on receive in dB. Ts = 10^(Lr/10)*Te; % Reception System Noise Temperature in Kelvin. Nn = k*Ts; % Receiver Noise PSD in Watts/Hz. Pn = Nn*B; % Receiver Noise Power in Watts ```

## Clutter Patch Geometry Computations.

```dphi = 2*pi/Nc; % Azimuth angle increment in rad. dR = c/2/B; % Radar Range Resolution in meters. Re = 6370000; % Earth Radius in meters. psi = asin(ha/Rc); % Grazing angle at the clutter patch in rad (flat earth model). gamma = 10^(-3/10); % Terrain-dependent reflectivity factor. % bwdth = 2*asin(0.446*lambda/N/d); % Antenna Azimuth 3-dB beamwidth in rad. ```

## Calculate the Voltage Element Pattern.

```for i =1:Lphi if abs(phi(i))<=90 f(i) = cos(phi(i)*pi/180); else f(i) = 10^(be/10)*cos(phi(i)*pi/180); end end ```

## Plot in polar coordinates the magnitude of the element voltage gain.

```figure('NumberTitle', 'off','Name', ... 'Figure 9. The element voltage pattern. A -30-dB backlobe level is assumed.'); polardb(phi*pi/180,10*log10(abs(f)),-60,'g'); ```

## Calculate and Plot the Array Factor (AF) (Voltage).

```steering_angle = 0; % Angle of beam steering in degrees. for k=1:Lphi AF(k) = sum(exp(-1i*2*pi/lambda*d*(0:N-1)*(sin(phi(k)*pi/180) ... - sin(steering_angle*pi/180))).*cos(phi(k)*pi/180)); end figure('NumberTitle', 'off','Name','The voltage Array Factor for N=18 elements.','Position',[1 1 1000 400]); subplot(1,2,1); polardb(phi*pi/180,10*log10(abs(AF)),-60,'r') subplot(1,2,2); plot(phi, 10*log10(abs(AF))); grid on; ylim([-30 15]); xlim([-180 180]); ```

## Calculate and Plot the Full Array Transmit Power Gain.

```Gtgain = 10^(Gt/10)*abs(AF).^2; % Calculate and Plot the Element Receive Power Gain: grgain = 10^(Gel/10)*abs(f).^2; % Total Reception Gain: Grec = 10^(Gr/10)*grgain; % figure('NumberTitle', 'off','Name','The Array Transmit and Element Receive Power Gain '); % subplot(1,2,1); % polardb(phi*pi/180,10*log10(abs(grgain)),-90) % subplot(1,2,2); % plot(phi, 10*log10(abs(Gtgain))); % grid on; % ylim([-60 50]); % xlim([-180 180]); ```

## Clutter Patch RCS Calculation.

```PatchArea = Rc*dphi*dR*sec(psi); sigma0 = gamma*sin(psi); sigma = sigma0*PatchArea; ```

## Calculate and Plot the Clutter to Noise Ration (CNR) for each clutter patch.

```ksi = Pt*Gtgain.*Grec*lambda^2*sigma/((4*pi)^3*Pn*10^(Ls/10)*Rc^4); % Eq. (58) figure('NumberTitle', 'off','Name','Figure 10. Received CNR per column as a function of azimuth. ','Position',[1 1 650 500]); plot(phi, 10*log10(abs(ksi)),'LineWidth',1.5); grid on; ylim([-80 40]); xlim([-180 180]); ylabel('CNR (dB)'); xlabel('Azimuth Angle (deg)'); title('CNR as a function of Azimuth angle'); ```