Документация Engee

refractiveidx

Вычисление показателя преломления.

Библиотека

EngeePhased

Синтаксис

Вызов функции

  • ridx,N = refractiveidx(h) — вычисляет показатель преломления ridx и преломляемость N на высоте h над средним уровнем моря с помощью стандартной атмосферной модели Международного союза электросвязи (МСЭ).

  • ridx,N = refractiveidx(h;Name=Value) — вычисляет показатель преломления и преломляемость с дополнительными параметрами, заданными одним или несколькими аргументами типа «имя-значение».

  • refractiveidx(___;out=:plot) — строит график показателя преломления в зависимости от высоты в километрах.

Аргументы

Входные аргументы

# h — геометрические высоты
вектор

Details

Геометрические высоты, соответствующие высоте над средним уровнем моря в метрах, заданные как вектор-строка.

Типы данных

Float64

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в формате Name = Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения.

Пример: refractiveidx(h; LatitudeModel = "Mid", Season = "Winter") задает модель средних широт в зимний период.

# WaterVaporDensity — стандартная абсолютная влажность на уровне земли
7.5 (по умолчанию) | скаляр

Details

Стандартная абсолютная влажность на уровне земли в г/м3, заданная как скаляр.

Чтобы использовать этот аргумент, установите для аргумента LatitudeModel значение "Standard".

Типы данных

Float64

# ScaleHeight — шкала высоты
2.0e3 (по умолчанию) | скаляр

Details

Шкала высоты в метрах, заданная как скаляр.

Чтобы использовать этот аргумент, установите для аргумента LatitudeModel значение "Standard". В условиях сухой атмосферы установите для этого аргумента значение 6.0e3 м.

Типы данных

Float64

# LatitudeModel — эталонная модель широты
"Standard" (по умолчанию) | "Low" | "Mid" | "High"

Details

Эталонная модель широты, заданная как одно из следующих значений:

  • "Standard" — модель представляет собой стандартную глобальную атмосферу (MAGRA), характеризующуюся среднегодовыми значениями температуры и давления по всему земному шару.

  • "Low" — модель предназначена для низких широт менее 22 градусов, где сезонные колебания незначительны.

  • "Mid" — модель предназначена для средних широт от 22 до 45 градусов с сезонными профилями для значений "Summer" и "Winter", задаваемых с помощью аргумента Season.

  • "High" — модель предназначена для высоких широт более 45 градусов с сезонными профилями для значений "Summer" и "Winter", задаваемых с помощью аргумента Season.

Типы данных

String

# Season — сезонный профиль
"Summer" (по умолчанию) | "Winter"

Details

Сезонный профиль для моделей широты "Mid" и "High", заданный как "Summer" или "Winter". Другие модели широты игнорируют этот аргумент.

# AtmosphereMeasurements — пользовательские измерения атмосферы
матрица

Details

Пользовательские измерения атмосферы для расчета показателя преломления ridx, заданные как матрица размером на , где — количество измерений высоты. Первый столбец матрицы — это температура атмосферы в кельвинах, второй столбец — атмосферное давление в гПа, третий столбец — абсолютная влажность в г/м3, а четвертый столбец — высота измерений над средним уровнем моря в метрах, указанная в порядке возрастания. При использовании пользовательской модели все остальные аргументы типа «имя-значение» игнорируются, и выходной показатель преломления ridx применяется к входной высоте h.

Типы данных

Float32, Float64

# out — тип выходных данных
:data (по умолчанию) | :plot

Details

Тип выходных данных:

  • :data — функция возвращает данные;

  • :plot — функция возвращает график.

Выходные аргументы

# ridx — показатель преломления
вектор

Details

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

# N — преломляемость
вектор

Details

Преломляемость, возвращаемая в виде вектора-строки.

Примеры

Вычисление показателя преломления и преломляемости

Details

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

import EngeePhased.Functions: refractiveidx

h = 20e3

ridx, N = refractiveidx(h, LatitudeModel = "Mid", Season = "Winter")

println("ridx = ", ridx, "\nN = ", N)
ridx = 1.00002119612079
N = 21.196120790095854

Литература

  1. International Telecommunication Union (ITU). «The Radio Refractive Index: Its Formula and Refractivity Data». Recommendation ITU-R P.453-11, P Series, Radiowave Propagation, July 2015.