32 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
33 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
34 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
35 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
38 1.6128465196199136e+02,
39 2.7586206896551727e-05),
42 7.882966657847448e+02,
43 3.4482758620689657e-05),
46 5.744993815655636e+02,
47 1.3793103448275863e-05),
50 1.1742258806909902e+02,
51 3.4482758620689657e-05),
54 1.174524189370726e+02,
55 6.896551724137931e-05),
58 8.557590962327636e+01,
63 1.36482758620689e-02),
66 3.8572942113521017e+03,
70 2.047418976079014e+03,
71 6.206896551724138e-05),
73 5.006171052321396e-05,
77 9.428291321439076e-05,
78 5.302187851896829e+03,
82 2.0430031092487088e+03,
86 3.0389548052160666e+02,
87 8.965517241379312e-05),
90 3.856804337484282e+03,
94 3.862196373520788e+03,
98 1.4894789821180611e+03,
101 1.07946501149867e-02,
102 4.531924098269983e+01,
103 6.206896551724138e-05),
106 2.2169984332891184e+02,
107 7.0965517241379e-03),
110 1.172735473385635e+02,
114 1.487021737818881e+03,
115 6.896551724137932e-06)}}},
117 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
118 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
119 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
120 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
123 8.547814653106583e+01,
127 8.540218579193503e+01,
131 6.225570840591133e+01,
135 6.213721725968569e+01,
139 1.1715445096995552e+02,
143 6.208988397195024e+01,
144 5.517241379310345e-05),
147 3.0370255688368803e+02,
151 6.211354610705902e+01,
152 1.3793103448275863e-05),
154 6.863706760298528e-05,
155 7.283693496699635e+03,
156 2.06896551724138e-05),
159 8.542388196956914e+01,
160 1.3793103448275863e-05),
163 2.2161538684598275e+02,
167 1.1712469578065404e+02,
168 2.7586206896551727e-05),
171 4.179431587180458e+02,
172 9.655172413793105e-05),
174 4.990302323746383e-05,
175 1.0018433043580286e+04,
179 6.20819985968797e+01,
180 1.3793103448275863e-05),
183 4.1783700843777945e+02,
187 6.20819985968797e+01,
191 5.742075929586678e+02,
192 1.3793103448275863e-05),
195 6.212143548915179e+01,
196 6.206896551724138e-05),
199 2.211093231666549e+02,
200 1.586206896551e-04)}}}}},
203 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
204 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
205 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
206 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
209 1.486832887020803e+03,
213 5.732603031000779e+02,
214 7.0551724137931e-03),
217 1.6101857516847045e+02,
221 1.6099812591365952e+02,
224 1.47463951390083e-02,
225 3.290659176610291e+01,
229 1.6089591858864094e+02,
232 1.07973332444199e-02,
233 4.530773068511169e+01,
234 6.8068965517241e-03),
236 5.00680684988557e-05,
237 9.985404808314654e+03,
238 6.9586206896551e-03),
241 1.0817950064503143e+03,
242 2.07655172413793e-02),
244 1.08201661923657e-02,
245 4.521001111357971e+01,
246 6.206896551724138e-05),
249 2.0432626022764905e+03,
253 3.8572942113521017e+03,
256 6.868066254013259e-05,
257 7.27906954953051e+03,
261 2.0450799765751449e+03,
265 7.888976118731497e+02,
266 6.7241379310344e-03),
268 5.0074427281897054e-05,
269 9.984136668368055e+03,
273 2.80365331692424e+03,
274 6.206896551724138e-05),
277 2.040928351071028e+03,
278 1.37862068965517e-02),
281 1.4883443652113867e+03,
282 2.06896551724138e-05),
285 2.21474697532092e+02,
286 1.379310344827e-04)}}},
288 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
289 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
290 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
291 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
294 1.6122321062648754e+02,
298 3.8519090192542544e+03,
299 7.586206896551724e-05),
302 2.0435221282639047e+03,
303 6.896551724137931e-05),
306 2.81149813657053e+03,
307 6.896551724137932e-06),
310 3.043589974153497e+02,
313 6.879413898912483e-05,
314 7.267061020126167e+03,
315 6.206896551724138e-05),
317 6.85760811693159e-05,
318 7.290171957835979e+03,
319 6.896551724137932e-06),
322 2.8089996795357683e+03,
323 8.965517241379312e-05),
326 1.614896255719667e+02,
327 6.896551724137932e-06),
330 6.219248503657932e+01,
331 2.06896551724138e-05),
334 6.217668922899309e+01,
338 3.860234761488555e+03,
342 6.217668922899309e+01,
346 2.8086429383948757e+03,
350 1.6110039816473343e+02,
354 6.223199211412119e+01,
355 7.586206896551724e-05),
358 2.8086429383948757e+03,
359 4.137931034482759e-05),
362 6.224780197124505e+01,
366 1.4860777236373208e+03,
367 6.206896551724138e-05),
370 2.2169984332891184e+02,
371 1.448275862068e-04)}}}}},
374 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
375 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
376 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
377 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
380 1.172735473385635e+02,
384 3.040499076660591e+02,
388 5.734787696501294e+02,
392 1.174524189370726e+02,
396 1.1754195701936764e+02,
400 1.1740767547642784e+02,
401 6.7379310344827e-03),
403 9.44506754620425e-05,
404 5.292768388146024e+03,
408 8.55215829982986e+01,
412 7.889978140847802e+02,
413 6.8344827586206e-03),
416 5.74280526213736e+02,
417 6.896551724137931e-05),
420 2.0406691544916384e+03,
421 1.37310344827586e-02),
424 5.748643258446342e+02,
428 3.03741131810801e+02,
432 2.8089996795357683e+03,
436 6.22082848570447e+01,
437 6.7379310344827e-03),
440 1.0835826296873358e+03,
444 7.870961465788879e+02,
448 7.880964521665514e+02,
452 1.0852353652060228e+03,
453 4.827586206896552e-05),
456 2.2153096253672345e+02,
459 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
460 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
461 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
462 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
464 1.08074007896676e-02,
465 4.526459309976018e+01,
469 4.174656947244478e+02,
473 6.207411422324672e+01,
477 1.1715445096995552e+02,
481 6.206623085092408e+01,
485 8.551072181262026e+01,
486 7.586206896551724e-05),
489 6.227943373585816e+01,
493 1.4892898192515456e+03,
494 8.965517241379312e-05),
497 3.042816955330164e+02,
498 2.7586206896551727e-05),
501 6.2160897433266726e+01,
505 4.178900802074444e+02,
506 6.896551724137932e-06),
509 2.214465703888772e+02,
510 5.517241379310345e-05),
513 6.218458663124002e+01,
517 6.218458663124002e+01,
518 6.896551724137931e-05),
521 3.0370255688368803e+02,
525 6.216879282971112e+01,
529 1.1739276477764624e+02,
530 7.586206896551724e-05),
533 6.217668922899309e+01,
537 6.2097770348585485e+01,
538 2.06896551724138e-05),
540 1.08121021183973e-02,
541 4.524447628451687e+01,
545 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
546 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
547 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
548 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
551 1.4900466148894875e+03,
552 7.0275862068965e-03),
555 7.887974223871352e+02,
556 6.9862068965517e-03),
558 1.08228555237886e-02,
559 4.5198528558475154e+01,
560 8.275862068965519e-05),
563 7.884969302666273e+02,
564 4.827586206896552e-05),
567 3.8582741457603433e+03,
571 3.8523982713408623e+03,
572 8.275862068965519e-05),
575 2.040928351071028e+03,
576 1.37724137931034e-02),
578 1.47354930616003e-02,
579 3.293167761063697e+01,
580 3.4482758620689657e-05),
583 2.80650344277193e+03,
584 1.37310344827586e-02),
587 6.22082848570447e+01,
588 8.275862068965519e-05),
590 9.430686099733985e-05,
591 5.300841188565312e+03,
592 2.7586206896551727e-05),
595 1.0827572060417654e+03,
596 2.7586206896551727e-05),
599 1.4855116028137206e+03,
600 6.8206896551724e-03),
603 5.738430655969447e+02,
604 2.06896551724138e-05),
606 4.990302323746383e-05,
607 1.0018433043580286e+04,
608 6.896551724137931e-05),
611 8.530462116421079e+01,
612 9.655172413793105e-05),
615 1.4892898192515456e+03,
618 1.47282293521982e-02,
619 3.2948412130435365e+01,
620 1.3793103448275863e-05),
623 8.527212439663107e+01,
624 6.9448275862068e-03),
626 4.996643770687291e-05,
627 1.0005716967361968e+04,
628 6.896551724137931e-05)}}},
630 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
631 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
632 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
633 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
635 1.47100852650808e-02,
636 3.29902856434769e+01,
637 2.06896551724138e-05),
639 1.08134457224711e-02,
640 4.523873026531778e+01,
643 1.08174775144271e-02,
644 4.522149658579409e+01,
645 8.275862068965519e-05),
648 4.1799624397043993e+02,
649 6.8620689655172e-03),
651 1.07973332444199e-02,
652 4.530773068511169e+01,
656 3.300704994545942e+01,
660 6.2160897433266726e+01,
661 6.8068965517241e-03),
663 1.47445775831495e-02,
664 3.2910771412767524e+01,
665 9.655172413793105e-05),
668 6.227943373585816e+01,
669 2.7586206896551727e-05),
671 1.47245987995756e-02,
672 3.295678257898671e+01,
676 4.531348546843247e+01,
680 6.220038444513843e+01,
681 4.827586206896552e-05),
684 1.6144861002079188e+02,
688 7.882966657847448e+02,
689 1.3793103448275863e-05),
692 6.216879282971112e+01,
693 7.586206896551724e-05),
696 8.553244556351568e+01,
697 1.3793103448275863e-05),
699 1.07973332444199e-02,
700 4.530773068511169e+01,
703 9.44506754620425e-05,
704 5.292768388146024e+03,
705 3.4482758620689657e-05),
708 3.8528875855700608e+03,
709 5.517241379310345e-05),
711 1.07946501149867e-02,
712 4.531924098269983e+01,
713 1.379310344827e-04)}}}}},
716 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
717 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
718 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
719 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
722 2.2136221039019213e+02,
726 6.221618627242562e+01,
727 3.4482758620689657e-05),
730 1.6144861002079188e+02,
734 5.744264205160073e+02,
735 4.137931034482759e-05),
737 4.993472040654454e-05,
738 1.00120729866762e+04,
746 2.211093231666549e+02,
750 1.1733314091660613e+02,
754 1.1746733721285608e+02,
755 7.0965517241379e-03),
757 9.42948863457656e-05,
758 5.301514477472012e+03,
762 8.555417483326706e+01,
763 6.896551724137932e-06),
766 8.538049512475196e+01,
767 8.965517241379312e-05),
770 2.805434306201756e+03,
773 4.994740491021047e-05,
774 1.0009530094583308e+04,
778 3.858764206316572e+03,
782 3.8572942113521017e+03,
783 6.9310344827586e-03),
786 2.0453397333972343e+03,
787 6.206896551724138e-05),
789 9.421110633952792e-05,
790 5.306229894934544e+03,
794 3.8509307014772426e+03,
795 1.38137931034482e-02),
798 3.8528875855700608e+03,
799 1.103448275862e-04)}}},
801 {{500000000.0, 5500000000.0, 10500000000.0, 15500000000.0, 20500000000.0,
802 25500000000.0, 30500000000.0, 35500000000.0, 40500000000.0, 45500000000.0,
803 50500000000.0, 55500000000.0, 60500000000.0, 65500000000.0, 70500000000.0,
804 75500000000.0, 80500000000.0, 85500000000.0, 90500000000.0, 95500000000.0},
807 1.6110039816473343e+02,
811 1.1722887201899576e+02,
812 6.896551724137932e-06),
815 4.175717506735425e+02,
816 8.965517241379312e-05),
819 3.042044132840143e+02,
823 8.543473212524282e+01,
827 6.207411422324672e+01,
831 6.223989654069086e+01,
832 6.7655172413793e-03),
835 4.1815554018694206e+02,
839 6.217668922899309e+01,
840 6.206896551724138e-05),
843 8.543473212524282e+01,
844 6.896551724137931e-05),
847 5.744264205160073e+02,
851 6.221618627242562e+01,
852 4.827586206896552e-05),
855 8.557590962327636e+01,
856 4.137931034482759e-05),
859 1.1743750255590038e+02,
863 2.2136221039019213e+02,
867 8.549986200630548e+01,
871 6.216879282971112e+01,
872 4.827586206896552e-05),
875 7.894990160837534e+02,
879 2.809713297758256e+03,
880 8.275862068965519e-05),
883 2.21474697532092e+02,
884 7.586206896551724e-05)}}}}},
1029 Angles aAngle(b->GetPosition(), a->GetPosition());
1030 Angles bAngle(a->GetPosition(), b->GetPosition());
1033 auto aArrayResponse = aPhasedArrayModel->GetSteeringVector(aAngle);
1034 auto aAntennaFields = aPhasedArrayModel->GetElementFieldPattern(aAngle);
1035 auto aBfVector = aPhasedArrayModel->GetBeamformingVector();
1036 auto bArrayResponse = bPhasedArrayModel->GetSteeringVector(bAngle);
1037 auto bAntennaFields = bPhasedArrayModel->GetElementFieldPattern(bAngle);
1038 auto bBfVector = bPhasedArrayModel->GetBeamformingVector();
1040 std::complex<double> aArrayOverallResponse = 0;
1041 std::complex<double> bArrayOverallResponse = 0;
1044 for (
size_t i = 0; i < aPhasedArrayModel->GetNumElems(); i++)
1046 aArrayOverallResponse += aArrayResponse[i] * aBfVector[i];
1048 for (
size_t i = 0; i < bPhasedArrayModel->GetNumElems(); i++)
1050 bArrayOverallResponse += bArrayResponse[i] * bBfVector[i];
1053 double gain =
norm(aArrayOverallResponse) *
1054 (std::pow(aAntennaFields.first, 2) + std::pow(aAntennaFields.second, 2)) *
1055 norm(bArrayOverallResponse) *
1056 (std::pow(bAntennaFields.first, 2) + std::pow(bAntennaFields.second, 2));
1064 constexpr double NLOS_BEAMFORMING_FACTOR = 1.0 / 19;
1065 gain *= NLOS_BEAMFORMING_FACTOR;