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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 62: Строка 62:
===Основное течение===
===Основное течение===
#<math>S \leftarrow </math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Первичный источник|Первичный источник()]].Создать()</tt>
#<math>S \leftarrow </math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Первичный источник|Первичный источник()]].Создать()</tt>
#Если <math>S: \varnothing </math>  то ВЫХОД
#Если <math>S \colon ~\varnothing </math>  то ВЫХОД
#<math>\forall ~ s_j \in S</math>
#<math>\forall ~ s_j \in S</math>
##<math>S \leftarrow S~ \backslash \left \{ s_j \right \}</math>
##<math>S \leftarrow S~ \backslash \left \{ s_j \right \}</math>
##<math>\forall ~ \omega_n \in</math><tt> [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].[[Распространение радиоволн ВЧ/Тип антенны|Тип антенны()]].[[Распространение радиоволн ВЧ/Амплитудно-частотная характеристика|Амплитудно-частотная характеристика()]]</tt>
##<math>\forall ~ \omega_n \in</math><tt> [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].[[Распространение радиоволн ВЧ/Тип антенны|Тип антенны()]].[[Распространение радиоволн ВЧ/Амплитудно-частотная характеристика|Амплитудно-частотная характеристика()]]</tt>
###<math>\alpha_{\theta} \leftarrow 0</math>
###<math>\theta \leftarrow 0</math>
###<math>\forall ~ \zeta_{\theta} : ~~ 0 \leqslant \zeta_{\theta} < \left [ N_{\theta~total} 2^{i} \right ]</math>
###<math>\forall ~ \zeta_{\theta} \colon ~ 0 \leqslant \zeta_{\theta} < \left [ N_{\theta~total} 2^{i} \right ]</math>
####Если <math> i=0 \vee \zeta_{\theta} \bmod 2 \neq 0</math>
####Если <math> i=0 \vee \zeta_{\theta} \bmod 2 \neq 0</math>
#####<math>\alpha_{\varphi} \leftarrow 0</math>
#####<math>\varphi \leftarrow 0</math>
#####<math>\forall ~ \zeta_{\varphi} : ~~ 0 \leqslant \zeta_{\varphi} < \left [N_{\varphi~total}(\alpha_{\theta}) 2^{i} \right ]</math>
#####<math>\forall ~ \zeta_{\varphi} \colon ~ 0 \leqslant \zeta_{\varphi} < \left [N_{\varphi~total}(\theta) 2^{i} \right ]</math>
######Если <math> i=0 \vee \zeta_{\varphi} \bmod 2 \neq 0</math>
######Если <math> i=0 \vee \zeta_{\varphi} \bmod 2 \neq 0</math>
#######Position <math>\leftarrow</math> <tt> [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция()</tt>
#######Position <math>\leftarrow</math> <tt> [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция()</tt>
#######Ray <math>\leftarrow</math> <tt>Создать луч(Position, <math>\alpha_{\theta},~\alpha_{\varphi}</math>)</tt>
#######Ray <math>\leftarrow</math><tt> [[Распространение радиоволн ВЧ/Луч|Луч()]].Создать(Position, [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Мировая система координат(Вектор<math>(\theta,~\varphi)</math>))</tt>
#######<math>\forall ~ f\in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].Множество отражающих объектов()</tt>
#######Distance <math>\leftarrow \infty</math>
########<math>\forall ~ t_m \in f</math><tt>.Множество отражающих поверхностей()</tt>
#######<math>\forall ~ f_m\in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].Множество отражающих объектов()</tt>
#########<tt><math>t'\leftarrow t_m:~\min (</math>Расстояние(Position, Координаты[Ray <math>\cap ~t_m</math>])<math>)</math></tt>
########<math>\forall ~ t_{mn} \in f_m</math><tt>.Множество отражающих поверхностей()</tt>
#######Distance <math>\leftarrow</math><tt> Расстояние(Position, Координаты[Ray <math>\cap ~t'</math>])</tt>
#########<tt><math>P' \leftarrow</math> [[Распространение радиоволн ВЧ/Луч|Ray]].Пересечение([[Распространение радиоволн ВЧ/Грань отражающего объекта|<math>t_{mn}</math>]].Плоскость грани())</tt>
#########Если <tt>[[Распространение радиоволн ВЧ/Грань отражающего объекта|<math>t_{mn}</math>]].Принадлежность(<math>P'</math>)</tt>
##########Distance' <math>\leftarrow</math><tt> Расстояние(Position, <math>P'</math>)</tt>
##########Если Distance' <math><</math> Distance
###########Distance <math>\leftarrow</math> Distance'
###########<math>t' \leftarrow t_{mn}</math>
###########<math>P \leftarrow P'</math>
#######<math>\forall ~ \rho_k \in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Множество контрольных точек|Множество контрольных точек()]]</tt>
#######<math>\forall ~ \rho_k \in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Множество контрольных точек|Множество контрольных точек()]]</tt>
########Если <math>\rho_k \in </math><tt> [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>()]].Область регистрации луча <math>(\alpha_{\theta},~\alpha_{\varphi},~\frac{\Delta_{\theta} (\zeta_{\theta})}{2^i},~\frac{\Delta_{\varphi} (\zeta_{\varphi})}{2^i},</math> Distance<math>)</math></tt>
########Если <math>\rho_k \in </math><tt> [[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].Область регистрации луча <math>(\theta,~\varphi,~\frac{\Delta_{\theta} (\theta)}{2^i},~\frac{\Delta_{\varphi} (\theta, \varphi)}{2^i},</math> Distance<math>)</math></tt>
#########<tt><math>\rho_k</math>.Зарегистрировать([[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].Напряженность<math>(\omega_n,~\alpha_{\theta},~\alpha_{\varphi}</math>, Расстояние(Position, <math>\rho_k</math>.Позиция()), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]<math>)</math>)</tt>
#########<tt><math>\rho_k</math>.Зарегистрировать([[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].Напряженность<math>(\omega_n,~\theta,~\varphi</math>, Расстояние(Position, <math>\rho_k</math>.Позиция()), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]<math>)</math>)</tt>
#######Если <tt>[[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].Напряженность<math>(\omega_n,~\alpha_{\theta},~\alpha_{\varphi}</math>, Distance, [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]</tt><math>)>E_{end}</math>
#######Если <tt>[[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].Напряженность<math>(\omega_n,~\theta,~\varphi</math>, Distance, [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]</tt><math>)>E_{end} ~\wedge~ \overline{(t' \colon ~\varnothing)}</math>
########<math>s' \leftarrow</math><tt> [[Распространение радиоволн ВЧ/Вторичный источник при рейтрейсинге|Вторичный источник при рейтрейсинге]].Создать([[Распространение радиоволн ВЧ/Источник|<math>s_j</math>()]].Напряженность<math>(\omega_n,~\alpha_{\theta},~\alpha_{\varphi}</math>, Distance, [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]<math>),~\alpha_{\theta},~\alpha_{\varphi},</math> Position, <math>t'</math>)</tt>
########Angle <tt><math>\leftarrow</math> [[Распространение радиоволн ВЧ/Луч|Ray]].Угол пересечения([[Распространение радиоволн ВЧ/Грань отражающего объекта|<math>t'</math>]].Плоскость грани())</tt>
########<math>s' \leftarrow</math><tt> [[Распространение радиоволн ВЧ/Вторичный источник при рейтрейсинге|Вторичный источник при рейтрейсинге]].Создать([[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]].Напряженность<math>(\omega_n,~\theta,~\varphi</math>, Distance, [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]<math>),</math> Angle, <math>P,~t'</math>)</tt>
########<math>S \leftarrow S \cup s'</math>
########<math>S \leftarrow S \cup s'</math>
######<math>\alpha_{\varphi} \leftarrow \alpha_{\varphi} + \frac{\Delta_{\varphi} (\alpha_{\theta}, \alpha_{\varphi})}{2^i}</math>
######<math>\varphi \leftarrow \varphi + \frac{\Delta_{\varphi} (\theta, \varphi)}{2^i}</math>
####<math>\alpha_{\theta} \leftarrow \alpha_{\theta} + \frac{\Delta_{\theta} (\alpha_{\theta})}{2^i}</math>
####<math>\theta \leftarrow \theta + \frac{\Delta_{\theta} (\theta)}{2^i}</math>
#Переход на шаг 2
#Переход на шаг 2



Версия 21:25, 10 ноября 2016

Алгоритм

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

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

, где

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

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

, где

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

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

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

Диаграмма направленности и испускаемые моделью лучи
Зависимость углового шага от азимутального угла

Угловой шаг дискретизации как функция ХН

Большинство современных вещательных систем используют панельные антенны с ограниченными углами раствора диаграммы направленности (ДН) в горизонтальной плоскости (до 120°) и очень малыми углами в вертикальной плоскости (до 20°). Соответственно, в таких системах происходит серьезное перераспределение излучаемой энергии в пространстве. Типичные коэффициенты усиления: 16-18 dBi. Поэтому одним из решений задачи оптимизации является использование динамического углового шага дискретизации как функции от характеристики направленности источника.

Изменение частоты дискретизации происходит по следующему закону:

, где

- центральное значение частоты дискретизации;
- коэффициент девиации, где
- максимальное и минимальное значение частоты дискретизации;
- функция ХН;
- зенитный и азимутальный угол.

Тогда шаг дискретизации (угол) будет меняться по следующим образом:

Общее кол-во лучей определяется выражением:

С учетом, что максимум ДН находится в , получим выражения:

,

.

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

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

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

, где

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


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

Предусловия

- входное описание среды распространения моделируемого поля, заданное геометрической моделью.

Основное течение

  1. G.Первичный источник().Создать()
  2. Если то ВЫХОД
    1. .Антенна().Тип антенны().Амплитудно-частотная характеристика()
        1. Если
            1. Если
              1. Position .Антенна().Позиция()
              2. Ray Луч().Создать(Position, .Антенна().Мировая система координат(Вектор))
              3. Distance
              4. G.Множество отражающих объектов()
                1. .Множество отражающих поверхностей()
                  1. Ray.Пересечение(.Плоскость грани())
                  2. Если .Принадлежность()
                    1. Distance' Расстояние(Position, )
                    2. Если Distance' Distance
                      1. Distance Distance'
              5. G.Множество контрольных точек()
                1. Если .Область регистрации луча Distance
                  1. .Зарегистрировать(.Напряженность, Расстояние(Position, .Позиция()), G.Среда распространения())
              6. Если .Напряженность, Distance, G.Среда распространения()
                1. Angle Ray.Угол пересечения(.Плоскость грани())
                2. Вторичный источник при рейтрейсинге.Создать(.Напряженность, Distance, G.Среда распространения() Angle, )
  3. Переход на шаг 2

Свойства алгоритма

Сложность

Возможности распараллеливания

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

Предусловия

- входное описание среды распространения моделируемого поля, заданное геометрической моделью.

Основное течение

  1. G.Набор источников()
    1. ().Антенна().Тип антенны().Амплитудно-частотная характеристика()
        1. Если
            1. Если
              1. Position ().Антенна().Позиция()
              2. Ray Создать луч(Position, )
              3. G.Множество отражающих объектов()
                1. .Множество отражающих поверхностей()
                  1. Расстояние(Position, Координаты[Ray ])
              4. Distance Расстояние(Position, Координаты[Ray ])
              5. G.Множество контрольных точек()
                1. Если ().Область регистрации луча Distance
                  1. .Зарегистрировать(().Напряженность, Расстояние(Position, .Позиция()), G.Среда распространения())
              6. Если ().Напряженность, Distance, G.Среда распространения()
                1. Вторичный источник при рейтрейсинге.Создать(().Напряженность, Distance, G.Среда распространения() Position, )
                2. ().Получить зенит()
                3. ().Получить азимут()
                4. Переход на шаг 1.1.1.1.2.1.4
  2. ВЫХОД

Свойства алгоритма

Сложность

Возможности распараллеливания