Linear array of cross polarized yagi-uda antennas

15 ビュー (過去 30 日間)
Adriana R
Adriana R 2023 年 7 月 27 日
回答済み: Adeline 2023 年 8 月 18 日
Hello,
I am trying to generate the radiation pattern for my antenna system which consists of two cross polarized yagi-uda antennas separated by a distance of 31 inches. I have already generated the two identical cross polarized yagi-uda antennas and generated their radiation patterns but I am having trouble joining them into a linear array. I would appreciate any guidance. Below is my code:
% CROSS POLARIZED YAGI-UDA ANTENNAS
% spacing between each cross polarized yagi uda antenna is 31 inches aka
% 0.7874 m
yagiAntenna1 = yagiUda;
yagiAntenna2 = yagiUda;
% setting the exciters of the antennas ( T-Match )
yagiAntenna1.Exciter = dipoleFolded;
yagiAntenna2.Exciter = dipoleFolded;
% setting the space between the exciter
yagiAntenna1.Exciter.Spacing = .0066674;
yagiAntenna2.Exciter.Spacing = .0066674;
% setting the width of the exciters
yagiAntenna1.Exciter.Width = .003;
yagiAntenna2.Exciter.Width = .003;
% setting the lengths of the exciters
yagiAntenna1.Exciter.Length = 0.333375;
yagiAntenna2.Exciter.Length = 0.333375;
% setting the number of directors
yagiAntenna1.NumDirectors = 6;
yagiAntenna2.NumDirectors = 6;
% setting the director lengths
yagiAntenna1.DirectorLength = [.3222752, .3048, .29845, .2921, .2809748, .2809748];
yagiAntenna2.DirectorLength = [.3175, .3048, .29845, .2921, .2809748, .2809748];
% setting the spacing between directors
yagiAntenna1.DirectorSpacing = [.06985, .1397, .2079498, .2238502, .263525, .2667];
yagiAntenna2.DirectorSpacing = [.06985, .1397, .2079498, .2238502, .263525, .2667];
% setting reflector lengths
yagiAntenna1.ReflectorLength = .346075;
yagiAntenna2.ReflectorLength = .346075;
% setting reflector spacing
yagiAntenna1.ReflectorSpacing = .104775;
yagiAntenna2.ReflectorSpacing = .104775;
% setting the tilt angle and axis for the antennas
yagiAntenna1.Tilt = 45;
yagiAntenna2.Tilt = -45;
yagiAntenna1.TiltAxis = 'Z';
yagiAntenna2.TiltAxis = 'Z';
show(yagiAntenna1);
figure;
% combining the antennas into a single antenna
crossPolYagiAntenna1 = conformalArray;
crossPolYagiAntenna1.Element = [yagiAntenna1, yagiAntenna2];
% putting antenna 1 at the origin
crossPolYagiAntenna1.ElementPosition(1,:) = [0 0 0];
crossPolYagiAntenna1.ElementPosition(2,:) = [0 0 .1524];
% applying a 90 degree phase shift between the two antennas
crossPolYagiAntenna1.PhaseShift = [0 90];
show(crossPolYagiAntenna1);figure;
% combining the antennas into a single antenna
crossPolYagiAntenna2 = conformalArray;
crossPolYagiAntenna2.Element = [yagiAntenna1, yagiAntenna2];
% putting antenna 1 at the origin
crossPolYagiAntenna2.ElementPosition(1,:) = [0 0 0];
crossPolYagiAntenna2.ElementPosition(2,:) = [0 0 .1524];
% applying a 90 degree phase shift between the two antennas
crossPolYagiAntenna2.PhaseShift = [0 90];
show(crossPolYagiAntenna2);figure;
frequency = 435e6;
azimuth_range = 0:1:360;
elevation_range = -90:1:90;
% showing the antenna radiation pattern of one of the cross polarized yagi uda antennas at 435 MHz
pattern(crossPolYagiAntenna1,frequency,azimuth_range,elevation_range);figure;
% showing the antenna radiation pattern of the other cross polarized yagi uda antennas at 435 MHz
pattern(crossPolYagiAntenna2,frequency,azimuth_range,elevation_range);

回答 (1 件)

Adeline
Adeline 2023 年 8 月 18 日
I understand that you are trying to generate the radiation pattern of an antenna system which consists of two cross polarized yagi-uda antennas separated by 31 inches. The cross polarized yagi-uda in your code has been achieved by combining two yagi-uda antennas using “conformalArray”. Since the required final antenna system would have 4 yagi-uda antennas you can combine them using “phased.HeterogeneousConformalArray” function. The example below illustrates this idea.
Elements =[{yagiAntenna1},{yagiAntenna2},{yagiAntenna1},{yagiAntenna2}];
Comb2crossYagiAntenna = phased.HeterogeneousConformalArray();
Comb2crossYagiAntenna.ElementSet = Elements;
Comb2crossYagiAntenna.ElementIndices = [1 2 3 4];
Comb2crossYagiAntenna.ElementPosition(:,1) = [0; 0; 0];
Comb2crossYagiAntenna.ElementPosition(:,2) = [0; 0; .1524];
Comb2crossYagiAntenna.ElementPosition(:,3) = [.7874; 0; 0];
Comb2crossYagiAntenna.ElementPosition(:,4) = [.7874; 0; .1524];
viewArray(Comb2crossYagiAntenna,'ShowNormals',true);
figure;pattern(Comb2crossYagiAntenna,frequency);

カテゴリ

Help Center および File ExchangeAntenna and Array Analysis についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by