Распространение радиоволн ВЧ/Рей-трейсинг: различия между версиями
Nigiluk (обсуждение | вклад) |
Nigiluk (обсуждение | вклад) |
||
| Строка 90: | Строка 90: | ||
#<math>\forall ~ s_j \in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Первичный источник|Набор источников()]]</tt> | #<math>\forall ~ s_j \in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Первичный источник|Набор источников()]]</tt> | ||
##<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>\forall ~ \zeta_{\theta} : ~~ 0 \leqslant \zeta_{\theta} < \left [ \frac{\pi}{ | ###<math>\forall ~ \zeta_{\theta} : ~~ 0 \leqslant \zeta_{\theta} < \left [ \frac{\pi}{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_{\theta} \leftarrow \zeta_{\theta} \frac{\Delta_{\theta} (\zeta_{\theta})}{2^i}</math> | #####<math>\alpha_{\theta} \leftarrow \zeta_{\theta} \frac{\Delta_{\theta} (\zeta_{\theta})}{2^i}</math> | ||
#####<math>\forall ~ \zeta_{\varphi} : ~~ 0 \leqslant \zeta_{\varphi} < \left [ \frac{2 \pi}{ | #####<math>\forall ~ \zeta_{\varphi} : ~~ 0 \leqslant \zeta_{\varphi} < \left [ \frac{2 \pi}{N_{\varphi~total}} 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> | ||
#######<math>\alpha_{\varphi} \leftarrow \zeta_{\varphi} \frac{\Delta_{\varphi} (\zeta_{\varphi})}{2^i}</math> | #######<math>\alpha_{\varphi} \leftarrow \zeta_{\varphi} \frac{\Delta_{\varphi} (\zeta_{\varphi})}{2^i}</math> | ||
Версия 22:30, 6 ноября 2016
Алгоритм
Идея последовательного приближения
Идея заключается в последовательном удвоении числа элементарных модельных экспериментов. Это продолжится до тех пор, пока результат текущего моделирования не приблизится к результату моделирования на предыдущей итерации:
, где
- - параметр моделирования, задаваемый пользователем.
Однако сравнение соседних итераций не дает достаточного условия на достижение заданной точности (основная причина этого - излучение по направлениям). Поэтому правильнее будет сравнивать итерации через одну, две и т.д.:
, где
- также будет задаваться пользователем.
- здесь - это параметр цикла, стоящего над циклами основной программы, .
При равномерном увеличении числа направлений излучения от первичного источника в два раза путем деления на 2 соответствующего шага по углу в процессе увеличения , только каждое второе направление будет новым, т.е. не учитанным на предыдущих итерациях. Другая половина будет повторять эксперименты, уже выполненные ранее. Поэтому в цикл основной программы введено дополнительное условие для учета этих повторений.
Шаги по азимуту и по зениту источника являются функциями от направления либо постоянными.
Угловой шаг дискретизации как функция ХН
Большинство современных вещательных систем используют панельные антенны с ограниченными углами раствора диаграммы направленности (ДН) в горизонтальной плоскости (до 120°) и очень малыми углами в вертикальной плоскости (до 20°). Соответственно, в таких системах происходит серьезное перераспределение излучаемой энергии в пространстве. Типичные коэффициенты усиления: 16-18 dBi. Поэтому одним из решений задачи оптимизации является использование динамического углового шага дискретизации как функции от характеристики направленности источника.
Изменение частоты дискретизации происходит по следующему закону:
, где
- - центральное значение частоты дискретизации;
- - коэффициент девиации, где
- - максимальное и минимальное значение частоты дискретизации;
- - функция ХН;
- - зенитный и азимутальный угол.
Тогда шаг дискретизации (угол) будет меняться по следующим образом:
Общее кол-во лучей определяется выражением:
Инициализация геометрической модели
Перерасчет высот с учетом кривизны земли и рефракции радиоволн в тропосфере.
Входной параметр пересчитывается в соответствии с формулой:
, где
- - эквивалентный радиус Земли, где
- - радиус Земли (км),
- - изменение коэффициента преломления с высотой.
- - расстояние до точки с высотой .
Основной цикл программы | Вариант 1
Предусловия
- входное описание среды распространения моделируемого поля, заданное геометрической моделью.
Основное течение
- G.Набор источников()
- Если то ВЫХОД
-
- ().Антенна().Тип антенны().Амплитудно-частотная характеристика()
-
- Если
-
- Если
- Position ().Антенна().Позиция()
- Ray Создать луч(Position, )
- G.Множество отражающих объектов()
- .Множество отражающих поверхностей()
- Расстояние(Position, Координаты[Ray ])
- .Множество отражающих поверхностей()
- Distance Расстояние(Position, Координаты[Ray ])
- G.Множество контрольных точек()
- Если ().Область регистрации луча Distance
- .Зарегистрировать(().Напряженность, Расстояние(Position, .Позиция()), G.Среда распространения())
- Если ().Область регистрации луча Distance
- Если ().Напряженность, Distance, G.Среда распространения()
- Вторичный источник при рейтрейсинге.Создать(().Напряженность, Distance, G.Среда распространения() Position, )
- Если
- Если
-
- Переход на шаг 2
Свойства алгоритма
Сложность
Возможности распараллеливания
Основной цикл программы | Вариант 2
Предусловия
- входное описание среды распространения моделируемого поля, заданное геометрической моделью.
Основное течение
- G.Набор источников()
- ().Антенна().Тип антенны().Амплитудно-частотная характеристика()
-
- Если
-
- Если
- Position ().Антенна().Позиция()
- Ray Создать луч(Position, )
- G.Множество отражающих объектов()
- .Множество отражающих поверхностей()
- Расстояние(Position, Координаты[Ray ])
- .Множество отражающих поверхностей()
- Distance Расстояние(Position, Координаты[Ray ])
- G.Множество контрольных точек()
- Если ().Область регистрации луча Distance
- .Зарегистрировать(().Напряженность, Расстояние(Position, .Позиция()), G.Среда распространения())
- Если ().Область регистрации луча Distance
- Если ().Напряженность, Distance, G.Среда распространения()
- Вторичный источник при рейтрейсинге.Создать(().Напряженность, Distance, G.Среда распространения() Position, )
- ().Получить зенит()
- ().Получить азимут()
- Переход на шаг 1.1.1.1.2.1.4
- Если
- Если
-
- ().Антенна().Тип антенны().Амплитудно-частотная характеристика()
- ВЫХОД