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

amplifier

Создает двухпортовый усилитель.

Библиотека

EngeeRF

Синтаксис

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

  • amp = amplifier() — создает объект усилителя со свойствами по умолчанию

  • amp = amplifier(Name=Value) — создает объект усилителя со свойствами, заданными одним или несколькими аргументами Name=Value. Неуказанные свойства сохраняют свои значения по умолчанию.

Аргументы

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

# Name — имя усилителя
"Amplifier" (по умолчанию) | строка | символьный вектор

Details

Имя усилителя. Все имена должны быть допустимыми именами переменных.

# Model — модель усилителя
"cubic" (по умолчанию) | "sparam" | "ampm"

Details

Модель усилителя, заданная одним из следующих значений:

  • "cubic" — кубическая полиномиальная модель. При установке этого значения объект усилителя использует свойства Gain, Zin, Zout и NF для вычисления коэффициента усиления, согласования и шума.

  • "sparam" — модель S-параметров. При установке этого значения объект усилителя использует свойства NetworkData и NoiseData для вычисления коэффициента усиления, согласования и шума. Данные S-параметров вводятся с помощью аргументов NetworkData или FileName.

  • "ampm" — модель AM/PM-AM/PM. При установке этого значения объект усилителя использует данные AM/AM–AM/PM для характеристики усилителя. Данные AM/AM–AM/PM вводятся с помощью аргумента AMPMTable.

# Gain — согласованный коэффициент усиления, дБ
0 (по умолчанию) | вещественный конечный скаляр

Details

Согласованный коэффициент усиления в дБ, заданный как вещественный скаляр.

# NF — коэффициент шума, дБ
0 (по умолчанию) | вещественный неотрицательный конечный скаляр

Details

Коэффициент шума в дБ, заданный как вещественный неотрицательный скаляр.

# OIP2 — точка, где мощность выходного сигнала второго порядка пересекается с мощностью основного сигнала, если экстраполировать их рост при увеличении входной мощности, дБ
Inf (по умолчанию) | вещественный скаляр

Details

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

# OIP3 — точка, где мощность выходного сигнала третьего порядка пересекается с мощностью основного сигнала, если экстраполировать их рост при увеличении входной мощности, дБ
Inf (по умолчанию) | вещественный скаляр

Details

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

# Zin — входное сопротивление, Ом
50 (по умолчанию) | конечный скаляр с положительной вещественной частью

Details

Входное сопротивление в Ом, заданное как конечный скаляр. Также можно использовать комплексное значение с положительной вещественной частью.

# Zout — выходное сопротивление, Ом
50 (по умолчанию) | конечный скаляр с положительной вещественной частью

Details

Выходное сопротивление в Ом, заданное как конечный скаляр. Также можно использовать комплексное значение с положительной вещественной частью.

# FileName — имя двухпортового Touchstone файла
"" (по умолчанию) | строка | символьный вектор

Details

Имя двухпортового Touchstone файла, из которого извлекаются свойства NetworkData и NoiseData.

# NetworkData — сетевые данные
объект сетевых параметров

Details

Сетевые данные усилителя, заданные как объект параметров двухпортовой сети. Объекты сетевых параметров имеют следующие типы:

Объект сетевых параметров определяет частотно-зависимое усиление и согласование импеданса усилителя; обычно это объект sparameters из двухпортового файла Touchstone. Чтобы задать частотно-независимые сетевые данные, установите для свойства NetworkData значение []. Это сбрасывает сетевые данные в частотно-независимый двухпортовый сетевой объект, определяемый аргументами Gain, Zin и Zout.

# NoiseData — данные о шуме усилителя
noiseParameters объект

Details

Данные о шуме усилителя, заданные как объект noiseParameters. Объект noiseParameters содержит частотно-зависимый коэффициент шума, загруженный из файла Touchstone или построенный в командной строке. Чтобы задать частотно-независимый коэффициент шума, установите для NoiseData значение [].

# AMPMTable — таблица входных данных
[-25.0 5.0 -1.0; -10.0 20.0 -2.0; 0.0 27.0 5.0; 5.0 28.0 12.0] | M×3 вещественная матрица

Details

Таблица входных данных, заданная как вещественная матрица размером на . Значение должно быть положительным скаляром. Первый столбец матрицы представляет собой входную мощность, и значения в этом столбце должны монотонно возрастать. Второй столбец матрицы представляет собой выходную мощность в дБм в модели AM/AM-AM/PM, а третий столбец — изменение фазы в градусах в этой модели. Значения во втором и третьем столбцах относятся к абсолютному значению мощности входного сигнала, представленного в первом столбце.

Чтобы использовать аргумент AMPMTable, установите для аргумента Model значение ampm.

# NumPorts — число портов
2 (только для чтения) | целочисленный скаляр

Details

Этот аргумент доступен только для чтения. Число портов в виде целочисленного скаляра.

# Terminals — имена клемм
("p1+", "p2+", "p1-", "p2-") (только для чтения) | вектор ячеек

Details

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

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

# amp — объект усилителя
объект

Details

Объект усилителя.

Примеры

Создание усилителя со свойствами по умолчанию

Details

Создадим усилитель и выведем его свойства.

using EngeeRF

amp=amplifier()

println("Model: ", amp.Model)
println("Name: ", amp.Name)
println("Gain: ", amp.Gain)
println("NF: ", amp.NF)
println("OIP2: ", amp.OIP2)
println("OIP3: ", amp.OIP3)
println("Zin: ", amp.Zin)
println("Zout: ", amp.Zout)
println("FileName: ", amp.FileName)
println("NetworkData: ", amp.NetworkData)
println("AMPMTable: ", amp.AMPMTable)
println("NumPorts: ", amp.NumPorts)
println("Terminals: ", amp.Terminals)
Model: cubic
Name: Amplifier
Gain: 0.0
NF: 0.0
OIP2: Inf
OIP3: Inf
Zin: 50.0 + 0.0im
Zout: 50.0 + 0.0im
FileName:
NetworkData: sparameters(Impedance = 50.0, NumPorts = 2, Parameters = [0.0 0.0; 1.0 0.0], Frequencies = [1.0e9])
AMPMTable: [-25.0 5.0 -1.0; -10.0 20.0 -2.0; 0.0 27.0 5.0; 5.0 28.0 12.0]
NumPorts: 2
Terminals: ("p1+", "p2+", "p1-", "p2-")

Схема усилителя

Details

Создадим объект усилителя с коэффициентом усиления 4 дБ. Создадим другой объект усилителя с выходным током пересечения третьего порядка (OIP3) — 13 дБм. Построим двухпортовую схему с использованием этих усилителей.

using EngeeRF

amp1 = amplifier(Gain=4, Name="amp1")
amp2 = amplifier(OIP3=13, Name="amp2")

hckt = circuit("new_circuit")
add(hckt,[1 2],amp1)
add(hckt,[2 3],amp2)

println(hckt)
circuit(ElementNames = ("amp1", "amp2"), Name = "new_circuit", Elements = Vector{EngeeRF.DomainRF.DomainObjectRF}, Nodes = [0, 1, 2, 3])