MATLAB Examples

Blocking Matrix Construction for Generalized Sidelobe Canceler Demo.

Contents

Workspace Initialization.

clc; clear; close all;

Signal Definitions.

M = 10;          % Number of Array Elements.
m = 1:M-1;
lambda = 1;      % Incoming Signal Wavelength in (m).
d = lambda/2;    % Interelement Distance in (m).
phi_s = 10;      % target azimuth angle in degrees.

u_s = (d/lambda)*sin(phi_s*pi/180);   % Normalized Spatial Frequency of the Target signal.
v_s = exp(-1i*2*pi*u_s*(0:M-1).')/sqrt(M);  % Target Steering Vector.

u_m = u_s + m/M;
B = zeros(M,M-1);

Blocking Matrix Construction.

for m=1:M-1
    B(:,m) = exp(-1i*2*pi*u_m(m)*(0:M-1).')/sqrt(M);
end

Test #1: Mutual Orthogonality - Orthonormality:

B'*B
ans =

  Columns 1 through 4

   1.0000 + 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i
  -0.0000 - 0.0000i   1.0000 + 0.0000i  -0.0000 - 0.0000i   0.0000 + 0.0000i
   0.0000 + 0.0000i  -0.0000 + 0.0000i   1.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 - 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i   1.0000 + 0.0000i
  -0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i
  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i  -0.0000 - 0.0000i
   0.0000 + 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i
  -0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 - 0.0000i

  Columns 5 through 8

  -0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i  -0.0000 + 0.0000i   0.0000 + 0.0000i
   0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i
  -0.0000 - 0.0000i  -0.0000 + 0.0000i  -0.0000 + 0.0000i  -0.0000 - 0.0000i
   1.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 - 0.0000i
   0.0000 + 0.0000i   1.0000 + 0.0000i  -0.0000 - 0.0000i  -0.0000 + 0.0000i
  -0.0000 + 0.0000i  -0.0000 + 0.0000i   1.0000 + 0.0000i   0.0000 + 0.0000i
  -0.0000 + 0.0000i  -0.0000 - 0.0000i   0.0000 - 0.0000i   1.0000 + 0.0000i
   0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i

  Column 9

  -0.0000 - 0.0000i
   0.0000 + 0.0000i
  -0.0000 - 0.0000i
   0.0000 + 0.0000i
   0.0000 - 0.0000i
   0.0000 + 0.0000i
   0.0000 - 0.0000i
  -0.0000 - 0.0000i
   1.0000 + 0.0000i

Test #2: Orthogonality with target Steering Vector:

B'*v_s
ans =

   1.0e-15 *

  -0.0555 - 0.0416i
  -0.0486 + 0.1041i
   0.2220 - 0.1943i
  -0.1249 - 0.2637i
  -0.0833 - 0.0278i
   0.0347 + 0.2047i
  -0.1665 - 0.2151i
   0.7772 - 0.1110i
   0.7355 + 0.5551i