MatLab Toolbox - Phase Array System                       Home : www.sharetechnote.com

 

 

 

URA (Uniform Rectangular Array)

 

It is required to have Matlab Antenna Toolbox to run the examples shown here.

 

All the sample plots shown here are based on the code URA_Basic_01.m which use Isotropic Antenna as elements of the antenna array. If you want to use different type of antenna element (e.g, CrossedDipole), you may specify the Antenna Element as shown in URA_Basic_02.m.

 

 

URA_Basic_01.m

c = 3e8;        % propagation speed

fc = 26e9;      % carrier frequency

lambda = c/fc;  % wavelength

 

txarray = phased.URA('Size',[8 8],'ElementSpacing',[lambda/2 lambda/2]);

txarray.Element.BackBaffled = true;

 

pattern(txarray,fc,[-180:180],[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdB')

 

 

URA_Basic_02.m

c = 3e8;        % propagation speed

fc = 26e9;      % carrier frequency

lambda = c/fc;  % wavelength

 

antennaElement = phased.CrossedDipoleAntennaElement;

txarray = phased.URA('Size',[8 8],'ElementSpacing',[lambda/2 lambda/2] ...

                    ,'Element',antennaElement);

txarray.Element.Polarization = 'RHCP';

txarray.Element.RotationAngle = 0;

 

pattern(txarray,fc,[-180:180],[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdB')

 

 

'Type','powerdB'

 

 

'Type','efield'

 

 

'Type','power'

 

 

'Type','directivity'

 

 

 

URA_Basic_02.m

c = 3e8;        % propagation speed

fc = 26e9;      % carrier frequency

lambda = c/fc;  % wavelength

 

txarray = phased.URA('Size',[8 2],'ElementSpacing',[lambda/2 lambda/2]);

txarray.Element.BackBaffled = true;

 

pattern(txarray,fc,[-180:180],[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdB')

 

'Size',[2 2]

'Size',[4 4]

'Size',[8 8]

'Size',[16 16]

 

 

'Size',[4 2]

'Size',[2 4]

 

 

'Size',[8 2]

'Size',[2 8]

 

 

 

URA_Basic_03.m

c = 3e8;        % propagation speed

fc = 26e9;      % carrier frequency

lambda = c/fc;  % wavelength

 

txarray = phased.URA('Size',[2 8],'ElementSpacing',[lambda/2 lambda/2]);

txarray.Element.BackBaffled = true;

 

subplot(1,2,1);

pattern(txarray,fc,[-180:180],0,...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdB')

 

subplot(1,2,2);

pattern(txarray,fc,0,[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdB')

 

 

'Size',[8 2]

 

 

'Size',[2 8]

 

 

 

Steering of URA in 3D Pattern

 

 

URA_Basic_04.m

c = 3e8;        % propagation speed

fc = 26e9;      % carrier frequency

lambda = c/fc;  % wavelength

 

txarray = phased.URA('Size',[8 2],'ElementSpacing',[lambda/2 lambda/2]);

txarray.Element.BackBaffled = true;

 

steer_ang = [0;0];

stv = phased.SteeringVector('SensorArray',txarray);

w = stv(fc,steer_ang);

 

pattern(txarray,fc,[-180:180],[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdB', ...

    'Weights',w)

 

view(90,0);,'polar',...

    'Type','powerdB')

 

 

BackBaffled = true;

steer_ang = [0;-15];

'Type','powerdB'

view(90,0);

BackBaffled = true;

steer_ang = [0;0];

'Type','powerdB'

view(90,0);

BackBaffled = true;

steer_ang = [0;15];

'Type','powerdB'

view(90,0);

 

 

BackBaffled = true;

steer_ang = [0;30];

'Type','powerdB'

view(90,0);

BackBaffled = true;

steer_ang = [0;45];

'Type','powerdB'

view(90,0);

BackBaffled = true;

steer_ang = [0;60];

'Type','powerdB'

view(90,0);

 

 

 

BackBaffled = true;

steer_ang = [0;-15];

'Type','powerdB'

view(90,0);

BackBaffled = true;

steer_ang = [0;0];

'Type','powerdB'

view(90,0);

BackBaffled = true;

steer_ang = [0;15];

'Type','powerdB'

view(90,0);

 

 

BackBaffled = true;

steer_ang = [0;30];

'Type','power'

view(90,0);

BackBaffled = true;

steer_ang = [0;45];

'Type','power'

view(90,0);

BackBaffled = true;

steer_ang = [0;60];

'Type','power'

view(90,0);

 

 

BackBaffled = true;

steer_ang = [0;30];

'Type','power'

view(-50,-10);

BackBaffled = true;

steer_ang = [0;45];

'Type','power'

view(-50,-10);

BackBaffled = true;

steer_ang = [0;60];

'Type','power'

view(-50,-10);

 

 

BackBaffled = true;

steer_ang = [0;30];

'Type','power'

view(-50,-10);

BackBaffled = true;

steer_ang = [0;45];

'Type','power'

view(-50,-10);

BackBaffled = true;

steer_ang = [0;60];

'Type','power'

view(-50,-10);

 

 

 

Steering of URA in 2D Pattern

 

 

URA_Basic_05.m

c = 3e8;        % propagation speed

fc = 26e9;      % carrier frequency

lambda = c/fc;  % wavelength

 

txarray = phased.URA('Size',[8 2],'ElementSpacing',[lambda/2 lambda/2]);

txarray.Element.BackBaffled = false;

 

steer_ang = [0;10];

stv = phased.SteeringVector('SensorArray',txarray);

w = stv(fc,steer_ang);

 

subplot(1,2,1);

pattern(txarray,fc,0,[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','polar',...

    'Type','powerdb', ...

    'Weights',w)

 

subplot(1,2,2);

pattern(txarray,fc,0,[-90:90],...

    'PropagationSpeed',c,...

    'CoordinateSystem','rectangular',...

    'Type','powerdb', ...

    'Weights',w)

 

 

set(gcf, 'Position', [200, 200, 740, 350])

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;-5];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;0];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;-5];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled =false;

steer_ang = [0;10];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;15];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;30];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;45];

'Type','powerdB'

 

 

'Size',[8 2]

BackBaffled = false;

steer_ang = [0;60];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;-5];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;0];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;5];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;10];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;15];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;30];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;45];

'Type','powerdB'

 

 

'Size',[4 2]

BackBaffled = false;

steer_ang = [0;-5];

'Type','powerdB'

 

 

 

 

Disclaimer ! :

 

This page is only to show you the overall logics and visualization for various Phase Array Antenna System. I haven't investigated much about verifying about the accuracy.

If you think the code is not so efficient, it is 100% my fault. I haven't made any effort for effiecient code. I just tried to create code as simple as possible for the readers. As you know, easy-to-read code is not always efficient for a specific chipset.

If you find any mistake in terms of accuracy, it is also very highly likely be my fault. Not the problem of Matlab tool box itself.

Any comment and corrections if you find any mistake will be welcome and appreciated.