Распространение радиоволн ВЧ/Рей-трейсинг: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 28: Строка 28:




==Инициализация источников==
==Основной цикл программы |Вариант 1==
При переотражениях лучевая модель предполагает один входящий луч и два выходящих - отраженный и преломленный. Инициализируем множество источников <math>SC</math>.
При переотражениях лучевая модель предполагает один входящий луч и два выходящих - отраженный и преломленный. Инициализируем множество источников <math>SC</math>.
#<math>S \leftarrow</math>  <tt>[[Распространение радиоволн ВЧ/Источник|набор источников()]]</tt>
#<math>S \leftarrow </math>  <tt>[[Распространение радиоволн ВЧ/Источник|набор источников()]]</tt>
#<math>\forall ~ s_j \in S</math>
#<math>\forall ~ s_j \in S</math>
##<math>\forall ~ \omega_n \in \Omega</math>
##<math>\forall ~ \omega_n \in \Omega</math>
###<math>\forall ~ \xi_{\theta} : ~~ 0 \leqslant \xi_{\theta} < \left [ \frac{\pi}{\left \langle \Delta_{\theta} \right \rangle} 2^{i} \right ]</math>
###<math>\forall ~ \zeta_{\theta} : ~~ 0 \leqslant \zeta_{\theta} < \left [ \frac{\pi}{\left \langle \Delta_{\theta} \right \rangle} 2^{i} \right ]</math>
####Если <math> \xi_{\theta} </math> : нечет. & <math>i>0</math>
####Если <math> \zeta_{\theta} </math> : нечет. & <math>i>0</math>
#####<math>\alpha_{\theta} \leftarrow \xi_{\theta} \frac{\Delta_{\theta} (\xi_{\theta})}{2^i}</math>
#####<math>\alpha_{\theta} \leftarrow \zeta_{\theta} \frac{\Delta_{\theta} (\zeta_{\theta})}{2^i}</math>
#####<math>\forall ~ \xi_{\varphi} : ~~ 0 \leqslant \xi_{\varphi} < \left [ \frac{2 \pi}{\left \langle \Delta_{\varphi} \right \rangle} 2^{i} \right ]</math>
#####<math>\forall ~ \zeta_{\varphi} : ~~ 0 \leqslant \zeta_{\varphi} < \left [ \frac{2 \pi}{\left \langle \Delta_{\varphi} \right \rangle} 2^{i} \right ]</math>
######Если <math> \xi_{\varphi} </math> : нечет. & <math>i>0</math>
######Если <math> \zeta_{\varphi} </math> : нечет. & <math>i>0</math>
#######<math>\alpha_{\varphi} \leftarrow \xi_{\varphi} \frac{\Delta_{\varphi} (\xi_{\varphi})}{2^i}</math>
#######<math>\alpha_{\varphi} \leftarrow \zeta_{\varphi} \frac{\Delta_{\varphi} (\zeta_{\varphi})}{2^i}</math>
#######<math></math>
#######<math>\forall ~ t_m \in </math>  <tt>[[Распространение радиоволн ВЧ/Геометрическая модель|G()]].[[Распространение радиоволн ВЧ/Набор полигональных объектов|Набор полигональных объектов()]].[[Распространение радиоволн ВЧ/Набор поверхностей|Набор поверхностей()]]</tt>
########<math>t' \leftarrow \min (</math><tt>Расстояние([[Распространение радиоволн ВЧ/Источник|s()]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), Луч([[Распространение радиоволн ВЧ/Источник|s()]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(),</tt><math>\alpha_{\theta},\alpha_{\varphi}</math><tt>) </tt><math> \cap ~t_m</math><tt>.Позиция())</tt><math>)</math>
#######<math>\forall ~ \rho_k \in P</math>
#<math></math>
#<math></math>
#<math></math>
#<math></math>
#<math></math>
#<math></math>
#<math></math>
==Основной цикл программы |Вариант 2==
==Основной цикл программы==

Версия 20:38, 31 октября 2016

Алгоритм

Идея последовательного приближения

Идея заключается в последовательном удвоении числа элементарных модельных экспериментов. Это продолжится до тех пор, пока результат текущего моделирования не приблизится к результату моделирования на предыдущей итерации:

, где

- параметр моделирования, задаваемый пользователем.

Однако сравнение соседних итераций не дает достаточного условия на достижение заданной точности (основная причина этого - излучение по направлениям). Поэтому правильнее будет сравнивать итерации через одну, две и т.д.:

, где

также будет задаваться пользователем.
здесь - это параметр цикла, стоящего над циклами основной программы, .

При равномерном увеличении числа направлений излучения от первичного источника в два раза путем деления на 2 соответствующего шага по углу в процессе увеличения , только каждое второе направление будет новым, т.е. не учитанным на предыдущих итерациях. Другая половина будет повторять эксперименты, уже выполненные ранее. Поэтому в цикл основной программы введено дополнительное условие для учета этих повторений.

Шаги по азимуту и по зениту источника являются функциями от направления либо постоянными.

Инициализация геометрической модели

Перерасчет высот с учетом кривизны земли и рефракции радиоволн в тропосфере.

Входной параметр пересчитывается в соответствии с формулой:

, где

- эквивалентный радиус Земли, где
- радиус Земли (км),
- изменение коэффициента преломления с высотой.
- расстояние до точки с высотой .


Основной цикл программы |Вариант 1

При переотражениях лучевая модель предполагает один входящий луч и два выходящих - отраженный и преломленный. Инициализируем множество источников .

  1. набор источников()
        1. Если  : нечет. &
            1. Если  : нечет. &
              1. G().Набор полигональных объектов().Набор поверхностей()
                1. Расстояние(s().Антенна().Позиция(), Луч(s().Антенна().Позиция(),) .Позиция())

Основной цикл программы |Вариант 2