AnyMath 文档

rfbudget

创建RF预算对象并对2个端口元素链执行RF预算分析。

库::`工程师`

语法

函数调用

  • [参数:rfobj]=rfbudget() -创建RF预算对象,其属性默认设置。

  • rfobj=rfbudget(Name=Value) -设置由一个或多个名称值参数指定的属性。

争论

名称-值输入参数

将参数对指定为 名称=值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。

# 元素 — RF预算要素

+ 恩格尔夫。AbstractRF。AbstractObjectRF[] (默认情况下)| 射频对象 | RF对象阵列

Details

定义为RF对象或RF对象阵列的RF预算元素。 在对rf元件链执行RF预算分析时使用对象数组。

下表列出了可用于设计RF链的受支持RF对象。

元素类型 射频对象

线性元件

衰减器

[医]过滤器

nport

[医]系列

顺特洛克

相移,相移

[医]txlineCPW

txlineMicrostrip

[医][医][医][医][医]

txlinetwire

非线性元件

放大器;放大器

调制器

n.混频器,混频器

示例:放大器和调制器电路的RF预算分析:

using EngeeRF
a = amplifier()
m = modulator()
b = rfbudget(Elements=[a m])

# *输入频率*是 输入信号的频率,Hz

+ 浮标64[] (默认情况下)| 非负标量 | 非负列向量

Details

以Hz为单位的输入信号的频率,指定为大小的非负标量或列向量 ,在哪里 表示频率的数量。 如果输入频率是矢量,则函数 rfbudget 分别分析每个输入频率。

数据类型

漂浮64</无翻译>

# 可用的输出功率 — 电源提供给级联输入,dBm

+ (默认情况下)| 标量,标量

Details

以dBm为单位的级联输入处的功率,设置为标量。

数据类型

漂浮64</无翻译>

# 信号宽度 — 级联输入端的信号带宽,Hz

+ (默认情况下)| 标量,标量

Details

级联输入端的信号带宽以Hz为单位,设置为标量。

数据类型

漂浮64</无翻译>

# 自动更新 — 自动重新计算RF预算的选项

+ 真的 (默认情况下)| 错误

Details

根据对现有方案所做的更改自动重新计算RF预算分析的选项,设置为 真的错误.

设置参数 自动更新 在值 错误 更改参数时禁用自动重新计算预算。

# 求解器 — 计算方法

+ "弗里斯" (默认情况下)

Details

的计算方法。

# WaitBar — 显示进度的选项 酒吧+ 真的 (默认情况下)| 错误

Details

在谐波平衡分析期间显示带有取消按钮的进度条的选项,设置为 真的错误.

输出参数

# rfobj — RF预算对象

+ 对象

Details

的射频预算对象。 对象包含以下属性:

  • 侍者,侍者 -函数根据参数设置此属性 [参数:WaitBar].

  • 输出频率 -以Hz为单位的输出频率,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,并且 -级联中的步数。

  • 输出功率 -以dBm为单位的输出功率,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,以及 -级联中的步数。

  • 转导,转导 是转换器的功率增益,单位为dB,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,以及 -级联中的步数。

  • NF -以dB为单位的噪声系数,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,并且 -级联中的步数。

  • IIP3 是三阶互调失真的输入交点,单位为dBm,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,以及 -级联中的步数。

  • OIP3 是三阶互调失真的输出交点,单位为dBm,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,并且 -级联中的步数。

  • 信噪比 -以dB为单位的信噪比,返回为:

当标量 ; 向量时 ; **矩阵时 ;

+ 表示输入处的频率数,以及 -级联中的步数。

例子:

创建RF预算对象

Details

使用函数创建具有默认属性的数据对象 rfbudget 我们将推断出它的属性。

using EngeeRF

b = rfbudget()

println("Elements:",B.元素,
        "\nInputFrequency:",B.InputFrequency,
        "\nAvailableInputPower:",b.AvailableInputPower,
        "\nSignalBandwidth:",B。SignalBandwidth,
        "\nAutoUpdate:",b.AutoUpdate,
        "\nOutputFrequency:",B.OutputFrequency,
        "\nOutputPower:",b.输出功率,
        "\nTransducerGain:",b。TransducerGain,
        "\nNF:",b.NF,
        "\nIIP3:",b.iip3,
        "\nOIP3:",b.OIP3,
        "\nSNR:",B.SNR)
Elements: EngeeRF.AbstractRF.AbstractObjectRF[]
InputFrequency: Float64[]
AvailableInputPower: NaN
SignalBandwidth: NaN
AutoUpdate: true
OutputFrequency: Matrix{Float64}(undef, 0, 0)
OutputPower: Matrix{Float64}(undef, 0, 0)
TransducerGain: Matrix{Float64}(undef, 0, 0)
NF: Matrix{Float64}(undef, 0, 0)
IIP3: Matrix{Float64}(undef, 0, 0)
OIP3: Matrix{Float64}(undef, 0, 0)
SNR: Matrix{BigFloat}(undef, 0, 0)

让我们创建一个双端口串行RLC电路对象,并将其作为元素添加到具有指定属性的RF预算对象中。

using EngeeRF

b = rfbudget()

println("Elements: ", b.Elements,
        "\nInputFrequency: ", b.InputFrequency,
        "\nAvailableInputPower: ", b.AvailableInputPower,
        "\nSignalBandwidth: ", b.SignalBandwidth,
        "\nAutoUpdate: ", b.AutoUpdate,
        "\nOutputFrequency: ", b.OutputFrequency,
        "\nOutputPower: ", b.OutputPower,
        "\nTransducerGain: ", b.TransducerGain,
        "\nNF: ", b.NF,
        "\nIIP3: ", b.IIP3,
        "\nOIP3: ", b.OIP3,
        "\nSNR: ", b.SNR)
Elements: EngeeRF.AbstractRF.AbstractObjectRF[seriesRLC(Terminals = ("p1+", "p2+", "p1-", "p2-"), Name = "SeriesRLC", Budget = nothing, Listener = nothing, Ports = ("p1", "p2"), Parent = nothing, ParentNodes = Int64[], ParentPath = "", NumPorts = 2, R = 50.0, L = 1.0e-6, C = 5.0e-12, Name = "SeriesRLC")]
InputFrequency: [1.0e9]
AvailableInputPower: -30.0
SignalBandwidth: 1.0e8
AutoUpdate: true
OutputFrequency: [1.0e9;;]
OutputPower: [-65.92198202974255;;]
TransducerGain: [-35.92198202974255;;]
NF: [3.010299956639812;;]
IIP3: [Inf;;]
OIP3: [Inf;;]
SNR: BigFloat[60.96488723758829232562408304577801251192706544629058321574484227786790837291292;;]

建议

对象中的试金石文件 nport 在所有指定频率下必须是无源的。

算法

ABCD参数用于计算Friis求解器级联的S参数。 何时 ,转换为ABCD结果 南斯. 对于这种情况,S参数修改如下:

  • , .

    rfbudget1

连接大电阻( 欧姆)平行的网络。 连接低电阻( 欧姆)顺序到网络的开始。

  • , .

    rfbudget2

连接大电阻( 欧姆)平行的网络。 连接低电阻( 欧姆)依次在网络的末端。

  • , .

    rfbudget3

连接大电阻( 欧姆)平行的网络。 连接低电阻( 欧姆)顺序到网络的开始。 **连接低电阻( 欧姆)依次在网络的末端。

  • .

    rfbudget4

    连接一个大电阻( 欧姆)平行的网络。

文学作品

  1. Roychowdhury,J.,D.Long和P.Feldmann。 具有多音激励的大型射频电路的同步噪声分析。__IEEE Journal Of Solid-State Circuits_33,no.3(March1998):324-36. https://doi.org/10.1109/4.661198.