Распространение радиоволн ВЧ/Рей-трейсинг: различия между версиями
Nigiluk (обсуждение | вклад) |
Nigiluk (обсуждение | вклад) |
||
Строка 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> | ###<math>\zeta_{\theta} \leftarrow 0</math> | ||
###Если <math>\theta < \pi \wedge (i=0 \vee \zeta_{\theta} \bmod 2 \neq 0)</math> | |||
####<math>\varphi \leftarrow 0</math> | |||
####<math>\zeta_{\varphi} \leftarrow 0</math> | |||
##### | ####Если <math>\varphi<2\pi \wedge (i=0 \vee \zeta_{\varphi} \bmod 2 \neq 0)</math> | ||
#####Ray <math>\leftarrow</math><tt> [[Распространение радиоволн ВЧ/Луч|Луч()]].Создать([[Распространение радиоволн ВЧ/Источник|<math>s_j</math>]], <math>(\theta,~\varphi),~\omega_n</math>)</tt> | |||
##### | #####<tt>Trace(Ray, [[Распространение радиоволн ВЧ/Геометрическая модель|G]], <math>E_{end}</math>)</tt> | ||
##### | #####Distance <math>\leftarrow \infty</math> | ||
####### | #####<math>\forall ~ f_m\in</math><tt> [[Распространение радиоволн ВЧ/Геометрическая модель|G]].Множество отражающих объектов()</tt> | ||
######<math>\forall ~ t_{mn} \in f_m</math><tt>.Множество отражающих поверхностей()</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>\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>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> | ||
######<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>\varphi \leftarrow 0</math> | |||
####<math>\varphi \leftarrow \varphi + \frac{\Delta_{\varphi} (\theta, \varphi)}{2^i}</math> | |||
####<math>\zeta_{\varphi} \leftarrow \zeta_{\varphi}+1</math> | |||
###<math>\theta \leftarrow \theta + \frac{\Delta_{\theta} (\theta)}{2^i}</math> | |||
###<math>\zeta_{\theta} \leftarrow \zeta_{\theta}+1</math> | |||
#ВЫХОД | #ВЫХОД | ||
Версия 22:54, 14 февраля 2017
Модель
Алгоритм
Идея последовательного приближения
Идея заключается в последовательном удвоении числа элементарных модельных экспериментов. Это продолжится до тех пор, пока результат текущего моделирования не приблизится к результату моделирования на предыдущей итерации:
, где
- - параметр моделирования, задаваемый пользователем.
Однако сравнение соседних итераций не дает достаточного условия на достижение заданной точности (основная причина этого - излучение по направлениям). Поэтому правильнее будет сравнивать итерации через одну, две и т.д.:
, где
- также будет задаваться пользователем.
- здесь - это параметр цикла, стоящего над циклами основной программы, .
При равномерном увеличении числа направлений излучения от первичного источника в два раза путем деления на 2 соответствующего шага по углу в процессе увеличения
, только каждое второе направление будет новым, т.е. не учитанным на предыдущих итерациях. Другая половина будет повторять эксперименты, уже выполненные ранее. Поэтому в цикл основной программы введено дополнительное условие для учета этих повторений.Шаги
по азимуту и по зениту источника являются функциями от направления либо постоянными.Угловой шаг дискретизации как функция ХН
Большинство современных вещательных систем используют панельные антенны с ограниченными углами раствора диаграммы направленности (ДН) в горизонтальной плоскости (до 120°) и очень малыми углами в вертикальной плоскости (до 20°). Соответственно, в таких системах происходит серьезное перераспределение излучаемой энергии в пространстве. Типичные коэффициенты усиления: 16-18 dBi. Поэтому одним из решений задачи оптимизации является использование динамического углового шага дискретизации
как функции от характеристики направленности источника.Изменение частоты дискретизации
происходит по следующему закону:, где
- - коэффициент девиации, где
- - максимальное и (для любого ) минимальное значение частоты дискретизации;
- - максимальное расстояние от источника до границ модели;
- - функция ХН;
- - угол места и азимутальный угол;
- - частота излучения;
- - длина излучаемой волны.
Тогда шаг дискретизации (угол) будет меняться по следующим образом:
Общее кол-во лучей определяется выражением:
С учетом, что максимум ДН находится в
, получим выражения:,
.
Инициализация геометрической модели
Перерасчет высот с учетом кривизны земли и рефракции радиоволн в тропосфере.
Входной параметр
пересчитывается в соответствии с формулой:, где
- - радиус Земли (км),
- - изменение коэффициента преломления с высотой.
- эквивалентный радиус Земли, где
- - расстояние до точки с высотой .
Основной цикл программы | Вариант 1
Предусловия
- геометрической моделью. - входное описание среды распространения моделируемого поля, заданное
- - номер итерации моделирования, .
Основное течение
- G.Множество первичных источников()
- Если то ВЫХОД
- .Антенна().Тип антенны().Амплитудно-частотная характеристика()
- Если
- Если
- Position .Антенна().Позиция()
- Ray Луч().Создать(Position, .Антенна().Мировая система координат(Вектор ))
- Distance
- G.Множество отражающих объектов()
- Ray.Пересечение(.Плоскость грани())
- Если .Принадлежность( )
- Distance' Расстояние(Position, )
- Если Distance'
- Distance Distance'
Distance
.Множество отражающих поверхностей()
- G.Множество контрольных точек()
- Если .Область регистрации луча Distance
- .Напряженность , Расстояние(Position, .Позиция()), G.Среда распространения() ) .Зарегистрировать(
- Если .Область регистрации луча Distance
- Если .Напряженность , Distance, G.Среда распространения()
- Angle Ray.Угол пересечения(.Плоскость грани())
- Вторичный источник при рейтрейсинге.Создать(.Напряженность , Distance, G.Среда распространения() Angle, )
- Переход на шаг 2
Свойства алгоритма
Сложность
Возможности распараллеливания
Основной цикл программы | Вариант 2
Предусловия
- геометрической моделью. - входное описание среды распространения моделируемого поля, заданное
- - номер итерации моделирования, .
Основное течение
- G.Множество первичных источников()
- .Антенна().Тип антенны().Амплитудно-частотная характеристика()
- Если
- Если
- Ray Луч().Создать(, )
- Trace(Ray, G, )
- Distance
- G.Множество отражающих объектов()
- Ray.Пересечение(.Плоскость грани())
- Если .Принадлежность( )
- Distance' Расстояние(Position, )
- Если Distance'
- Distance Distance'
Distance
.Множество отражающих поверхностей()
- G.Множество контрольных точек()
- Если .Область регистрации луча Distance
- .Напряженность , Расстояние(Position, .Позиция()), G.Среда распространения() ) .Зарегистрировать(
- Если .Область регистрации луча Distance
- Если .Напряженность , Distance, G.Среда распространения()
- Angle Ray.Угол пересечения(.Плоскость грани())
- Вторичный источник при рейтрейсинге.Создать(.Напряженность , Distance, G.Среда распространения() Angle, )
- .Антенна().Тип антенны().Амплитудно-частотная характеристика()
- ВЫХОД