modulator
Создает двухпортовый модулятор.
| Библиотека |
|
Синтаксис
Вызов функции
-
mod = modulator()— создает объект модулятора, свойства которого заданы по умолчанию.
-
mod = modulator(Name=Value)— создает объект модулятора со свойствами, заданными одним или несколькими аргументами типаName=Value. Неуказанные свойства сохраняют свои значения по умолчанию.
Аргументы
Входные аргументы «имя-значение»
#
Name —
имя модулятора
"Modulator" (по умолчанию) | строка
Details
Имя модулятора. Все имена должны быть допустимыми именами переменных.
| Типы данных |
|
#
Model —
тип преобразования
"mod" (по умолчанию) | "demod"
Details
Тип преобразования, заданный одним из следующих значений:
-
"mod"— модулятор; -
"demod"— демодулятор.
| Типы данных |
|
#
Gain —
согласованный коэффициент усиления, дБ
0 (по умолчанию) | неотрицательный скаляр
Details
Согласованный коэффициент усиления в дБ, заданный как неотрицательный скаляр.
| Типы данных |
|
#
NF —
коэффициент шума, дБ
0 (по умолчанию) | вещественный неотрицательный скаляр
Details
Коэффициент шума в дБ, заданный как вещественный неотрицательный скаляр.
| Типы данных |
|
#
OIP2 —
точка, в которой мощность интермодуляционных искажений второго порядка сравнялась бы с мощностью полезного сигнала при экстраполяции линейного роста, дБм
Inf (по умолчанию) | вещественный скаляр
Details
Точка, в которой мощность интермодуляционных искажений второго порядка сравнялась бы с мощностью полезного сигнала при экстраполяции линейного роста, в дБм, заданная как вещественный скаляр.
| Типы данных |
|
#
OIP3 —
точка пересечения, в которой мощность интермодуляционных искажений третьего порядка сравнялась бы с мощностью полезного сигнала при экстраполяции линейного роста, дБм
Inf (по умолчанию) | вещественный скаляр
Details
Точка пересечения, в которой мощность интермодуляционных искажений третьего порядка сравнялась бы с мощностью полезного сигнала при экстраполяции линейного роста, в дБм, заданная как вещественный скаляр.
| Типы данных |
|
#
LO —
частота опорного генератора, Гц
1e9 (по умолчанию) | вещественный положительный скаляр
Details
Частота опорного генератора в Гц, заданная как вещественный конечный положительный скаляр.
| Типы данных |
|
#
ImageReject —
подавление зеркального канала
true (по умолчанию) | false
Details
Включает или отключает подавление зеркального канала на входе модулятора. Установка значения false может повлиять на точность и скорость расчета при моделировании методом гармонического баланса.
| Типы данных |
|
#
ChannelSelect —
выбор канала (селекция канала)
true (по умолчанию) | false
Details
Включает или отключает селекцию (выбор) рабочего канала на входе модулятора. Установка значения false может повлиять на точность и скорость расчета при моделировании методом гармонического баланса.
| Типы данных |
|
#
Zin —
входное сопротивление, Ом
50 (по умолчанию) | конечный скаляр с положительной вещественной частью
Details
Входное сопротивление в Ом, заданное как конечный скаляр. Также можно использовать комплексное значение с положительной вещественной частью.
#
Zout —
выходное сопротивление, Ом
50 (по умолчанию) | конечный скаляр с положительной вещественной частью
Details
Выходное сопротивление в Ом, заданное как конечный скаляр. Также можно использовать комплексное значение с положительной вещественной частью.
#
NumPorts —
количество портов
2 (по умолчанию) | скаляр
Details
Количество портов, заданное как целочисленный скаляр.
| Этот аргумент доступен только для чтения. |
| Типы данных |
|
#
Terminals —
имена клемм
("p1+", "p2+", "p1−", "p2−") (по умолчанию) | кортеж строк
Details
Имена клемм, заданные как кортеж строк.
| Этот аргумент доступен только для чтения. |
Выходные аргументы
#
mod —
объект модулятора
объект
Details
Объект модулятора.
Примеры
Создание модулятора со свойствами по умолчанию
Details
Создадим модулятор и выведем его свойства.
using EngeeRF
mod = modulator()
println("Name: ", mod.Name)
println("Model: ", mod.Model)
println("Gain: ", mod.Gain)
println("NF: ", mod.NF)
println("OIP2: ", mod.OIP2)
println("OIP3: ", mod.OIP3)
println("Zin: ", mod.Zin)
println("Zout: ", mod.Zout)
println("LO: ", mod.LO)
println("ImageReject: ", mod.ImageReject)
println("ChannelSelect: ", mod.ChannelSelect)
println("NumPorts: ", mod.NumPorts)
println("Terminals: ", mod.Terminals)
Name: Modulator
Model: Mod
Gain: 0.0
NF: 0.0
OIP2: Inf
OIP3: Inf
Zin: 50.0 + 0.0im
Zout: 50.0 + 0.0im
LO: 1.0e9
ImageReject: true
ChannelSelect: true
NumPorts: 2
Terminals: ("p1+", "p2+", "p1-", "p2-")
Схема модулятора
Details
Создадим объект модулятора с коэффициентом усиления (Gain) 4 дБ и частотой опорного генератора (LO) 2 ГГц. Создадим другой объект модулятора с выходным током пересечения третьего порядка (OIP3) — 13 дБм. Построим двухпортовую схему с использованием этих модуляторов.
using EngeeRF
mod1 = modulator(Gain=4, LO=2e9, Name="mod1")
mod2 = modulator(OIP3=13, Name="mod2")
hckt = circuit("new_circuit")
add(hckt,[1 2],mod1)
add(hckt,[2 3],mod2)
println(hckt)
circuit(ElementNames = ("mod1", "mod2"), Name = "new_circuit", Elements = DataType[modulator, modulator], Nodes = [0, 1, 2, 3], NumPorts = 0)