How to modify the code to get my desired array?

1 Ansicht (letzte 30 Tage)
Sadiq Akbar
Sadiq Akbar am 14 Jul. 2022
Kommentiert: Sadiq Akbar am 17 Jul. 2022
If we keep 10 antennas at equal distance in a circle on XY-Plane, then their coordinates are given by the code given below:
function r=circularArray(N)
radius = 0.5/sind(180/N);
rx = radius*cosd(360*(0:N-1).'/N);
ry = radius*sind(360*(0:N-1).'/N);
r = [rx, ry, zeros(N,1)];
end
Here you just put value of N where N is the number of antennas. So if N=10, then the above code gives:
r =
1.6180 0 0
1.3090 0.9511 0
0.5000 1.5388 0
-0.5000 1.5388 0
-1.3090 0.9511 0
-1.6180 0 0
-1.3090 -0.9511 0
-0.5000 -1.5388 0
0.5000 -1.5388 0
1.3090 -0.9511 0
Now if I want to keep 9 antennas at same equal distance on x and y -axes separatelyi.e., 4 antennas along x-axis and and 4 antennas along y-axis where the inter-antenna distance is same between any two consective antennas and 1 antenna is placed on the origin. Then what change is to be done in the above code to get the desired geometry i.e., L-type geometry instead of circile?

Akzeptierte Antwort

Torsten
Torsten am 14 Jul. 2022
Bearbeitet: Torsten am 14 Jul. 2022
N = 9;
d = 0.25;
rx = [(N-1)/2*d:-d:d,zeros(1,(N+1)/2)].';
ry = [zeros(1,(N+1)/2),d:d:(N-1)/2*d].';
r = [rx,ry,zeros(N,1)]
r = 9×3
1.0000 0 0 0.7500 0 0 0.5000 0 0 0.2500 0 0 0 0 0 0 0.2500 0 0 0.5000 0 0 0.7500 0 0 1.0000 0
  8 Kommentare
Torsten
Torsten am 16 Jul. 2022
Bearbeitet: Torsten am 16 Jul. 2022
N = 4;
d = 0.25;
N_on_each_axis = (N-1)/3;
r = zeros(3*N_on_each_axis+1,3);
v = (N_on_each_axis*d:-d:d).';
r(2:N_on_each_axis+1,1) = v;
r(N_on_each_axis+2:2*N_on_each_axis+1,2) = v;
r(2*N_on_each_axis+2:3*N_on_each_axis+1,3) = v;
r
r = 4×3
0 0 0 0.2500 0 0 0 0.2500 0 0 0 0.2500
But you have to make sure that N-1 is divisible by 3 !
Sadiq Akbar
Sadiq Akbar am 17 Jul. 2022
Thank you very much dear Torsten for your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by