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

rfmodel.rational

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

Библиотека

EngeeRF

Описание

Используйте функцию rfmodel.rational для представления РЧ-компонентов с помощью объекта рациональной функции следующего вида:

Существует два способа создания объекта рациональной функции:

  • Можно подогнать объект рациональной функции к данным компонента с помощью функции rational.

  • Можно использовать функцию rfmodel.rational для непосредственного указания представления компонента в виде вычета в полюсе.

Синтаксис

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

  • h = rfmodel.rational() — создает объект рациональной функции, свойства которого заданы по умолчанию.

  • h = rfmodel.rational(Name=Value) — устанавливает свойства, заданные одним или несколькими аргументами типа «имя-значение». Неуказанные свойства сохраняют свои значения по умолчанию.

Аргументы

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

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

# A — полюса объекта рациональной функции
[] (по умолчанию) | вектор

Details

Полюса объекта рациональной функции, заданные как комплексный вектор в рад/с. Длина аргумента указана в выражении

где — количество полюсов объекта рациональной функции, оно должно быть равно длине вектора, который задан в качестве аргумента C.

Типы данных

ComplexF64

# C — вычеты объекта рациональной функции
[] (по умолчанию) | вектор

Details

Вычеты объекта рациональной функции, заданные как комплексный вектор в рад/с. Длина аргумента указана в выражении

как — количество вычетов объекта рациональной функции — и должна быть равна длине вектора, который задан в качестве аргумента A.

Типы данных

ComplexF64

# D — смещение частотной характеристики
0 (по умолчанию) | скаляр

Details

Смещение частотной характеристики, заданное как скаляр.

Типы данных

Float64

# Delay — задержка частотной характеристики
0 (по умолчанию) | скаляр

Details

Временная задержка частотной характеристики, заданная как скаляр.

Типы данных

Float64

# Name — имя объекта
"Rational Function" (по умолчанию) | строка

Details

Имя объекта, заданное как строка.

Этот аргумент доступен только для чтения.
Типы данных

String

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

# h — объект рациональной функции
объект

Details

Объект рациональной функции, содержащий следующие свойства:

  • A — полюса объекта рациональной функции;

  • C — вычеты объекта рациональной функции;

  • D — смещение частотной характеристики;

  • Delay — задержка частотной характеристики;

  • Name — название объекта в виде строки, например "Rational Function".

Примеры

Определение, оценка и визуализация рациональной функции

Details

Создадим объект рациональной функции rat с полюсами в точках −5 Град/с, −3 Град/с и −4 Мрад/с и вычетами в точках 600 Мрад/с, 2 Град/с и 4 Град/с.

using EngeeRF

rat = rfmodel.rational(A = [-5e9, -3e9, -4e6], C = [6e8, 2e9, 4e9])

Выполним анализ в частотной области в диапазоне от 1 МГц до 3 ГГц.

f = 1e6:1.0e7:3e9

Построим график полученной частотной характеристики в дБ.

resp = [sum(rat.C[i] / (1im * 2π * freq - rat.A[i]) for i in eachindex(rat.A)) for freq in f]

plot(f ./ 1e9, 20 .* log10.(abs.(resp)),
     xlabel = "Frequency (GHz)", ylabel = "Magnitude (dB)")

rfmodel rational