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

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



Версия 22:54, 14 февраля 2017

Модель

Графическая иллюстрация модели рейтрейсинга

Алгоритм

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

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

, где

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

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

, где

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

При равномерном увеличении числа направлений излучения от первичного источника в два раза путем деления на 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. Ray Луч().Создать(, )
          2. Trace(Ray, G, )
          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, )
  2. ВЫХОД

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

Сложность

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

Постобработка