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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 63: Строка 63:
#########<tt><math>\rho</math>.Зарегистрировать([[Распространение радиоволн ВЧ/Источник|s_j]].Напряженность(<math>\omega_n,\alpha_{\theta},\alpha_{\varphi}</math>,Расстояние([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), <math>\rho</math>.Позиция()), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]))</tt>
#########<tt><math>\rho</math>.Зарегистрировать([[Распространение радиоволн ВЧ/Источник|s_j]].Напряженность(<math>\omega_n,\alpha_{\theta},\alpha_{\varphi}</math>,Расстояние([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), <math>\rho</math>.Позиция()), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]))</tt>
#######Если <tt>[[Распространение радиоволн ВЧ/Источник|s_j]].Напряженность(<math>\omega_n,\alpha_{\theta},\alpha_{\varphi}</math>,Расстояние([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), Луч([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), <math>\alpha_{\theta},\alpha_{\varphi}</math>)  <math> \cap ~t'</math>), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]])</tt> <math>>E_{end}</math>
#######Если <tt>[[Распространение радиоволн ВЧ/Источник|s_j]].Напряженность(<math>\omega_n,\alpha_{\theta},\alpha_{\varphi}</math>,Расстояние([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), Луч([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), <math>\alpha_{\theta},\alpha_{\varphi}</math>)  <math> \cap ~t'</math>), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]])</tt> <math>>E_{end}</math>
########<math>s' \leftarrow</math>  <tt>[[Распространение радиоволн ВЧ/Вторичный источник при рейтрейсинге|s_II()]].Создать([[Распространение радиоволн ВЧ/Источник|s_j]].Напряженность(<math>\omega_n,\alpha_{\theta},\alpha_{\varphi}</math>,Расстояние([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), Луч([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), <math>\alpha_{\theta},\alpha_{\varphi}</math>)  <math> \cap ~t'</math>), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]),  <math>\alpha_{\theta},\alpha_{\varphi}</math>,  [[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(),  <math>t'</math>)</tt>
########<math>s' \leftarrow</math>  <tt>[[Распространение радиоволн ВЧ/Вторичный источник при рейтрейсинге|Вторичный источник при рейтрейсинге]].Создать([[Распространение радиоволн ВЧ/Источник|s_j]].Напряженность(<math>\omega_n,\alpha_{\theta},\alpha_{\varphi}</math>,Расстояние([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), Луч([[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(), <math>\alpha_{\theta},\alpha_{\varphi}</math>)  <math> \cap ~t'</math>), [[Распространение радиоволн ВЧ/Геометрическая модель|G]].[[Распространение радиоволн ВЧ/Среда распространения|Среда распространения()]]),  <math>\alpha_{\theta},\alpha_{\varphi}</math>,  [[Распространение радиоволн ВЧ/Источник|s_j]].[[Распространение радиоволн ВЧ/Антенна|Антенна()]].Позиция(),  <math>t'</math>)</tt>
########<math>S \leftarrow s'</math>
########<math>S \leftarrow s'</math>
#Переход на шаг 2
#Переход на шаг 2


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

Версия 13:23, 2 ноября 2016

Алгоритм

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

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

, где

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

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

, где

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

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

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

Пример ХН и зависимости углового шага

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

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

, где

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

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

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

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

, где

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


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

Предусловия

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

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

  1. G.Набор источников()
  2. Если то ВЫХОД
    1. ().Антенна().Тип антенны().Амплитудно-частотная характеристика()
      1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ \zeta_{\theta} : ~~ 0 \leqslant \zeta_{\theta} < \left [ \frac{\pi}{\left \langle \Delta_{\theta} \right \rangle} 2^{i} \right ]
        1. Если
          1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ \zeta_{\varphi} : ~~ 0 \leqslant \zeta_{\varphi} < \left [ \frac{2 \pi}{\left \langle \Delta_{\varphi} \right \rangle} 2^{i} \right ]
            1. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): i=0 \vee \zeta_{\varphi} \bmod 2 \neq 0
              1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\varphi} \leftarrow \zeta_{\varphi} \frac{\Delta_{\varphi} (\zeta_{\varphi})}{2^i}
              2. Position Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow ().Антенна().Позиция()
              3. Ray Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Создать луч(Position, Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\theta},~\alpha_{\varphi} )
              4. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ f\in G.Множество отражающих объектов()
                1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ t_m \in f .Множество отражающих поверхностей()
                  1. Расстояние(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): s_j ().Антенна().Позиция(), Луч(s_j.Антенна().Позиция(),Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\theta},\alpha_{\varphi} ) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \cap ~t_m )Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): )
              5. G.Множество контрольных точек()
                1. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho_k \in s().Область регистрации луча ( Расстояние(s-j.Антенна().Позиция(), Луч(s_j.Антенна().Позиция(), Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\theta},\alpha_{\varphi} ) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \cap ~t' ))
                  1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho .Зарегистрировать(s_j.Напряженность(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \omega_n,\alpha_{\theta},\alpha_{\varphi} ,Расстояние(s_j.Антенна().Позиция(), .Позиция()), G.Среда распространения()))
              6. Если s_j.Напряженность(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \omega_n,\alpha_{\theta},\alpha_{\varphi} ,Расстояние(s_j.Антенна().Позиция(), Луч(s_j.Антенна().Позиция(), Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\theta},\alpha_{\varphi} ) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \cap ~t' ), G.Среда распространения()) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): >E_{end}
                1. Вторичный источник при рейтрейсинге.Создать(s_j.Напряженность(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \omega_n,\alpha_{\theta},\alpha_{\varphi} ,Расстояние(s_j.Антенна().Позиция(), Луч(s_j.Антенна().Позиция(), Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\theta},\alpha_{\varphi} ) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \cap ~t' ), G.Среда распространения()), Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \alpha_{\theta},\alpha_{\varphi} , s_j.Антенна().Позиция(), Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): t' )
  3. Переход на шаг 2

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