这个例子说明了如何使用直接操纵RF数据rfdata
对象。首先,创建一个rfdata.data
通过在存储于试金石格式数据文件的两端口无源网络的S参数读取对象,passive.s2p
。接下来,创建一个电路对象,rfckt.amplifier
,并更新使用三个数据对象这个对象的属性。
使用读
的方法rfdata.data
对象来读取Touchstone数据文件passive.s2p
。在这个数据文件中的参数是50欧姆的2端口无源网络中的频率范围从315千赫兹到6.0 GHz的S参数。
数据= rfdata.data;数据=读取(数据,'passive.s2p')
数据= rfdata.data与属性:频率:[202x1双] S_Parameters:[2x2x202双] GroupDelay:[202x1双] NF:[202x1双] OIP3:[202x1双] Z0:50.0000 + 0.0000i ZS:50.0000 + 0.0000iZL:50.0000 + 0.0000i IntpType: '线性' 姓名: '数据对象'
使用提取
的方法rfdata.data
反对让其他网络参数。例如,下面是它们从原来的50欧姆S参数在转换的频率,75欧姆S参数,和Y参数passive.s2p
数据文件。
[s_params,频率] =提取物(数据,'S_PARAMETERS',75);y_params =提取物(数据,'Y_PARAMETERS');
使用RF效用函数smithplot
绘制的史密斯圆图上的75欧姆S11。
S11 = s_params(1,1,:);图smithplot(频率,S11(:))
这里有四个75欧姆S参数,并在6.0 GHz时,最后的频率四个Y参数。
F =频率(结束)
F = 6.0000e + 09
S = s_params(:,:,端)
S =2×2复-0.0764 - 0.5401i 0.6087 - 0.3018i 0.6094 - 0.3020i -0.1211 - 0.5223i
Y = y_params(:,:,端)
Y =2×2复0.0210 + 0.0252i -0.0215 - 0.0184i -0.0215 - 0.0185i 0.0224 + 0.0266i
在这个例子中,你创建一个电路对象,rfckt.amplifier
。然后创建三个数据对象并用它们来更新电路对象的属性。
该rfckt.amplifier
对象具有用于网络参数,噪声数据和非线性数据属性:
NetworkData
是一个rfdata.network
对象的网络参数。
NoiseData
为噪声参数可以是一个标量NF(dB)的,一个rfdata.noise
或rfdata.nf
宾语。
NonlinearData
为非线性参数可以是一个标量OIP3(DBM),一个rfdata.power
或rfdata.ip3
宾语。
默认情况下,这些特性rfckt.amplifier
包含从数据default.amp
数据文件。NetworkData
是一个rfdata.network
对象,其中包含50欧姆2端口S参数在191次的频率范围从1.0 GHz到2.9千兆赫。NoiseData
是一个rfdata.noise
对象,其中包含在9次的频率范围从1.9 GHz到2.48 GHz的斑点噪声的数据。该NonlinearData
参数是一个rfdata.power
对象,它包含引脚/噘
在2.1 GHz的数据。
功放= rfckt.amplifier
安培= rfckt.amplifier与属性:NoiseData:[1x1的rfdata.noise] NonlinearData:[1x1的rfdata.power] IntpType: '线性' NetworkData:[1x1的rfdata.network] NPORT:2 AnalyzedResult:[1x1的rfdata.data]名称:“放大器”
使用下面的代码来创建rfdata.network
对象,其中包含在2.08千兆赫,2.10 GHz和2.15千兆赫的放大器的2端口的Y参数。后来在这个例子中,你使用这个数据对象更新NetworkData
放大器对象的属性。
F = [2.08 2.10 2.15] * 1.0e9;Y(:,:,1)= [-.0090-.0104i,0.0013 + .0018i;-.2947 + .2961i,0.0252 + .0075i];Y(:,:,2)= [-.0086-.0047i,0.0014 + .0019i;-.3047 + .3083i,0.0251 + .0086i];Y(:,:,3)= [-.0051 + .0130i,0.0017 + .0020i;-.3335 + .3861i,0.0282 + .0110i];netdata = rfdata.network('类型','Y_PARAMETERS',“频率”,F,'数据',Y)
netdata = rfdata.network具有属性:类型: 'Y_PARAMETERS' 频率:[3X1双]数据:[α2x2x3双] Z0:50.0000 + 0.0000i名称:“网络参数的
使用下面的代码来创建rfdata.nf
放大器的包含噪声的对象的数字,以dB为单位,在七个频率范围从1.93 GHz至2.40千兆赫。后来在这个例子中,你使用这个数据对象更新NoiseData
放大器对象的属性。
F = [1.93 2.06 2.08 2.10 2.15 2.3 2.4 * 1.0E + 009;NF = [12.4521 13.2466 13.6853 14.0612 13.4111 12.9499 13.3244];nfdata = rfdata.nf(“频率”,F,'数据',NF)
nfdata = rfdata.nf与属性:频率:[7X1双]数据:[7X1双]名称: '噪声系数'
使用下面的代码来创建rfdata.ip3
对象包含放大器,该放大器是8.45瓦特在2.1千兆赫的输出三阶截取点。后来在这个例子中,你使用这个数据对象更新NonlinearData
放大器对象的属性。
ip3data = rfdata.ip3('类型','OIP3',“频率”,2.1e9,'数据',8.45)
ip3data = rfdata.ip3具有属性:类型: 'OIP3' 频率:2.1000e + 09数据:8.4500名称: '第三阶截取'
使用下面的代码有三个数据对象,您在前面的步骤创建更新放大器对象的属性。为了获得良好的放大器对象,在这些数据对象中的数据必须准确。这些数据可从RF测量使用电路仿真等工具而获得,或。
amp.NetworkData = netdata;amp.NoiseData = nfdata;amp.NonlinearData = ip3data
安培= rfckt.amplifier与属性:NoiseData:[1x1的rfdata.nf] NonlinearData:[1x1的rfdata.ip3] IntpType: '线性' NetworkData:[1x1的rfdata.network] NPORT:2 AnalyzedResult:[1x1的rfdata.data]名称:“放大器”