Распространение радиоволн ВЧ/Метод зеркальных отображений
Модель
Метод изображений (метод зеркальных отображений) широко применяется в электростатике и электродинамике для решения краевых задач. В частности, в приближении геометрической оптики данный метод позволяет построить картину хода лучей при любом числе отражений.
Суть метода состоит в построении лучей относительно мнимых изображений источника или приемника сигнала. Мнимые изображении строятся согласно правилам построения изображений в системе зеркал, здесь зеркала повторяют форму граничных поверхностей.
На рисунке представлена типичная ситуация в условиях плотной городской застройки, когда антенна приемного устройства находится в области геометрической тени относительно источника сигнала. Сигнал на приемной антенне является результатом переотражения радиоволны от внешней границы зданий, т.н. канал Релея. Зная координаты источника и приемника можно провести точную трассировку лучей с помощью простых геометрических построений.
Алгоритм
Предикат последнего отражения
В связи с тем, что количество элементарных модельных экспериментов, а следовательно и временные издержки алгоритма, зависит от числа отражающих поверхностей и порядка отражения как , то важно определить максимальный существенный для текущих условий порядок переотражения сигнала. Введем предикат последнего отражения следующим образом:
1. Если , где
- - пренебрежимый уровень сигнала
- .Напряженность(, .Позиция(), G.Среда распространения())
2. Если , где
- - жестко ограниченный пользователем порядок переотражения
3. Если
- - ограниченное пользователем максимальное число раз неприхода сигнала подряд
- , где
- - порядки переотражения, при которых сигнал пришел в контрольную точку
Таким образом данный предикат имеет следующий вид
Предикат тени
IsShadowed(Луч, P, G)
Данный предикат проверяет наличие препятствия на пути Луча в некоторую точку P путем проверки нахождения отражающих объектов из множества G.Множество отражающих объектов(), где G - геометрическая модель, на отрезке Луч.Позиция() - P, исключая поверхности, на которых лежат P и Луч.Позиция(), если такие отражающие поверхности существуют.
- G.Множество отражающих объектов()
- Вернуть ЛОЖЬ
Предусловия
- аналог стековой памяти, хранящей информацию о занесенных в нее отражающих поверхностей
- , где
- хранятся в виде ссылок на соответствующие элементы. Судя по алгоритму, - это стек только отражающих поверхностей - там нужны объекты?
- аналог стековой памяти, хранящей информацию о занесенных в нее действительных и мнимых контрольных точках
- , где
- хранит всю информацию, соответствующую данной сущности
Операции и аналогичны операциям push и pop соответственно
- локальные переменные, аналогичные , использующиеся во внутренних подциклах
Операция копирует переменную в
Основное течение
- G.Множество контрольных точек()
- G.Множество первичных источников()
- См. обсуждение к статье.
- Переход 1.1.8.1.4
- G.Множество отражающих объектов()
- .Множество отражающих поверхностей()
- .Построить зеркальное отображение(.Плоскость грани())
- Position Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): s_j .Антенна().Позиция()
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): t_{mn} \leftarrow stack_{t}'
- Ray Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Луч().Создать(Position, Вектор(Position,Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho' .Позиция(), 1))
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P\leftarrow Точка.Создать.
- Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I' > 0
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): t_{mn} \leftarrow stack_{t}' См. обсуждение к статье.
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P\leftarrow Ray.Пересечение(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): t_{mn} .Плоскость грани())
- Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): t_{mn}
.Принадлежность(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P
) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \wedge
Расстояние(Position,.Позиция()) Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): >
Расстояние(Position,Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P
)
- Переход 1.1.8.1.11
- Иначе
- Переход 1.1.8.1.14
- IsShadowed(Ray, P, G)
- Переход 1.1.8.1.14
- Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I' > 0
- Angle Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Ray.Угол пересечения(.Плоскость грани())
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): s_j \leftarrow Вторичный источник при рейтрейсинге.Создать(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): s_j .НапряженностьНевозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): (\omega_n,~\theta,~\varphi , Расстояние(Position,Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P ), G.Среда распространения() Angle, Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P,~t_{mn} )
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \theta, \varphi \leftarrow 0
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I' \leftarrow I'-1
- Переход 1.1.8.5
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho_k .Зарегистрировать(.Напряженность, Расстояние(Position, Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho_k .Позиция()), G.Среда распространения())
- Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): E > E_{end}
См. обсуждение к статье.
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I \leftarrow I+1
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): stack_t \leftarrow t_{m,n}
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): stack_{\rho} \leftarrow \rho'
- Переход 1.1.6
- Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I < 0
- Переход 1.1.9
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho' \leftarrow stack_{\rho}
- .Множество отражающих поверхностей()
- G.Множество первичных источников()
Тот же алгоритм в более развернутой форме с наглядным представлением распараллеливаемых ветвей
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ \rho_k \in
G.Множество контрольных точек()
- G.Множество первичных источников()
- .Антенна().Тип антенны().Амплитудно-частотная характеристика()
- Луч().Создать(.Антенна().Позиция(), Вектор(.Антенна().Позиция(),.Позиция(), 1))Излучение прямых лучей непосредственно в контрольные точки
- .Позиция()
- Если G
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho_k .Зарегистрировать(.Напряженность(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \omega_n,~P , G.Среда распространения())) Регистрация прямых лучей
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ f_m\in
G.Множество отражающих объектов() Создание мнимых приемников 1-го порядка
- .Множество отражающих поверхностей()
- Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho' \leftarrow .Построить зеркальное отображение(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): t_{mn} .Плоскость грани())
- .Множество отражающих поверхностей()
- .Антенна().Тип антенны().Амплитудно-частотная характеристика()
- G.Множество первичных источников()