Распространение радиоволн ВЧ/Реализация/radiation set t: различия между версиями
(Угловой шаг) |
|||
Строка 6: | Строка 6: | ||
[[File:radio_hf_src_angles.svg|thumb|В первом измерении перечисляются углы <math>\varphi</math> (зенита), а во втором - <math>\theta</math> (азимута) относительно некоторого центрального направления <math>\vec{v}</math>. В случае отсутствия оптимизации по локальности отражающих поверхностей и контрольных точек <math>\vec{v}</math> совпадает с главной осью источника. Если же используется оптимизация, вектор <math>\vec{v}</math> совпадает с вектором, возвращаемым методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::central_point|encompassing_aperture_t::central_point]] над объектом, в свою очередь возвращенным методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника.|500px]] | [[File:radio_hf_src_angles.svg|thumb|В первом измерении перечисляются углы <math>\varphi</math> (зенита), а во втором - <math>\theta</math> (азимута) относительно некоторого центрального направления <math>\vec{v}</math>. В случае отсутствия оптимизации по локальности отражающих поверхностей и контрольных точек <math>\vec{v}</math> совпадает с главной осью источника. Если же используется оптимизация, вектор <math>\vec{v}</math> совпадает с вектором, возвращаемым методом [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t::central_point|encompassing_aperture_t::central_point]] над объектом, в свою очередь возвращенным методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника.|500px]] | ||
[[File:radio_hf_src_angles_diropt.svg|thumb|Минимизация количества элементов коллекции [[Распространение радиоволн ВЧ/Реализация/radiation_set_t|radiation_set_t]] путем локализации контрольных точек и отражающих поверхностей входной модели сектором на сфере, описанной вокруг источника < | [[File:radio_hf_src_angles_diropt.svg|thumb|Минимизация количества элементов коллекции [[Распространение радиоволн ВЧ/Реализация/radiation_set_t|radiation_set_t]] путем локализации контрольных точек и отражающих поверхностей входной модели сектором на сфере, описанной вокруг источника <math>S</math>. Сектор, возвращаемый методом [[Распространение радиоволн ВЧ/Реализация/Source::EncompassingAperture|Source::EncompassingAperture]] источника, представлен центральным направлением <math>\vec{C_p}</math> и ангулярным радиусом <math>\varphi_{\textrm{max}}</math> вокруг этого направления. В процессе перечисления направлений излучения азимут <math>\theta</math> пробегает значения диапазона <math>\left[0, 2\pi\right)</math>, а зенит <math>\varphi</math> - диапазона <math>\left[0, \varphi_{\textrm{max}}\right]\subset\left[0, \pi\right]</math>. Оба угла заданы в базисе <math>\begin{pmatrix}x_L & y_L & z_L\end{pmatrix}</math>, в котором направление <math>\vec{c_p}</math> совпадает с аппликатой, как показано на рисунке.|500px]] | ||
Измерения индексируются с нуля. Первое, внешнее, измерение реализуется классами [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_collection|dyn_radiation_set_dim_1_collection]] и [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_enumerator|dyn_radiation_set_dim_1_enumerator]], первый из которых реализует коллекцию направлений в этом измерении, а второй - перечисление коллекций нулевого измерения для каждого элемента коллекции в первом измерении. | Измерения индексируются с нуля. Первое, внешнее, измерение реализуется классами [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_collection|dyn_radiation_set_dim_1_collection]] и [[Распространение радиоволн ВЧ/Реализация/dyn_radiation_set_dim_1_enumerator|dyn_radiation_set_dim_1_enumerator]], первый из которых реализует коллекцию направлений в этом измерении, а второй - перечисление коллекций нулевого измерения для каждого элемента коллекции в первом измерении. |
Версия 15:38, 8 декабря 2020
Реализует перечисление направлений излучения источником элементов волнового поля при использовании итерационного алгоритма рей-трейсинга.
template <class RadiationPatternType>
using radiation_set_t = dyn_radiation_set_dim_1_collection<RadiationPatternType>;
RadiationPatternType | Тип характеристики направленности, для которой осуществляется перечисление. |
Тип реализует двумерную коллекцию направлений излучения, которая создается для заданного источника поля и зависит от частоты излучения, номера итерации, а также от позиций отражающих поверхностей и контрольных точек относительно источника.


Измерения индексируются с нуля. Первое, внешнее, измерение реализуется классами dyn_radiation_set_dim_1_collection и dyn_radiation_set_dim_1_enumerator, первый из которых реализует коллекцию направлений в этом измерении, а второй - перечисление коллекций нулевого измерения для каждого элемента коллекции в первом измерении.
Нулевое измерение реализуется классами dyn_radiation_set_dim_0_collection и dyn_radiation_set_dim_0_enumerator соответственно. Элементами коллекции в нулевом измерении являются пары угловых значений "азимут-зенит", реализуемые структурой angle_pair.
Реализация перечисленных классов определяет в нулевом измерении перечисление азимутов
и в первом измерении - зенитов .При формировании коллекции направлений излучения производится минимизация числа элементов коллекции двумя способами. Первый - это зависимость ангулярного шага от значения функции характеристики направленности в текущей ангулярной позиции, как это описано для итерационного рей-трейсинга. Второй способ представляет собой ограничение сферы вокруг источника так, чтобы полученный сектор охватывал все отражающие поверхности и контрольные точки входной геометрической модели, и исключение из множества направлений тех из них, которые не принадлежат этому сектору. См. описание класса encompassing_aperture_t, который описывает такой сектор с помощью вектора направления на центральную точку сектора и ангулярного радиуса вокруг этого вектора.
Пусть Config::AngularSamplingRateMin, - управляющее значение, возвращенное методом Config::AngularSamplingRateMax, - функция характеристики направленности источника, - номер текущей итерации, - функция перехода от азимута и зенита , выраженных относительно вектора источника (см. рисунок), к азимуту и зениту, выраженным относительно главной оси источника, . Тогда ангулярный шаг в нулевом измерении расчитывается как функция
- управляющее значение, возвращенное методом- .
Зенит перечисляется в первом измерении с шагом
.Функция
преобразования ангулярных координат относительно источника к базису реализуется поворотом вектора так, чтобы он совпал с направлением главной оси источника (которая в свою очередь совпадает с аппликатой базиса источника). То есть используется матрица поворота- ,
в которой пара значений Antenna::ToSpherical антенны источника (см. Source::Antenna).
возвращается вызванным над методомТогда направление, заданное углами
относительно , в базисе источника будет иметь представлениеПоэтому результирующая пара углов вычисляется следующим образом
Область определения функции encompassing_aperture_t::radius, сектора сферы вокруг источника, так что все отражающие объекты и контрольные точки геометрической модели при отображении на сферу оказываются внутри сектора. При этом вектор , возвращаемый методом encompassing_aperture_t::central_point, направлен на центр такого сектора.
: , , где - максимально возможный зенит - ангулярный радиус, значение которого возвращается методом