无源多端口网络的匹配网络设计
本示例展示了如何为5G毫米波系统的39 GHz 16端口无源网络设计匹配网络。匹配网络为每个端口独立设计,每个生成的匹配网络旨在在两个1端口终端之间运行。
设计多端口无源网络
计算设计在39ghz的贴片天线阵列的s参数。加载sparams_patchArray.mat
文件。的s_params_circ_array
函数从支持文件中获取金宝appdesignmultiport.mlx
.
Fcenter = 39e9;负载(“sparams_patchArray.mat”) Sparam_array = s_params_circ_array;show(patchArray) view([90 0])
确定中心频率对应的指标。
freq = Sparam_array.Frequencies;fIndex = find(freq == Fcenter);
创建匹配网络
为每个相应的端口独立生成匹配的网络,负载Q为20,并将拓扑配置为'Pi'。这个q因子与贴片天线阵列的一半功率带宽对齐,约为2 GHz。
定义网络中的端口数量,并指定终端阻抗。
numport = s_params_circ_array.NumPorts;Zt = 50;loaddq = 20;拓扑=“π”;为I = 1: numport%反射系数/Siigam_array = s_params_circ_array.Parameters(i,i,fIndex);负载阻抗%Zout = gamma2z(gam_array);匹配网络生成百分比Match_net (i) =匹配网络(“SourceImpedance”ZT型,...“LoadImpedance”Zout,“CenterFrequency”Fcenter,...“LoadedQ”loadedQ,“组件”、拓扑);结束
源连接到位于匹配网络电路左侧的组件,负载连接到连接到匹配网络电路右侧的组件。对于生成的匹配网络,源以ZT(50欧姆)终止,负载阻抗为Zout给出的在ith端口处看到的阻抗。
查看和选择电路
从16个拓扑中选择一个matchingnetwork
对象。要获得可用电路的概述,请参见circuitDescriptions
函数。
在本例中,使用的是Shunt C系列L-Shunt C拓扑。如果此拓扑在您的网络中不可用,请使用可用的最佳匹配网络电路。
selectedCircuits = repmat(电路,1,numport);cIndex = 0 (1,numport);
查看已生成的电路列表。
为我= 1:数字(match_net) c = circuitdescripties (match_net(i));%执行文本搜索以选择具有Shunt C系列L-Shunt C拓扑的电路索引= strcmp(c.component1Type,“C分流”) &...比较字符串(c.component2Type“L”系列) &...比较字符串(c.component3Type“C分流”);如果任何(索引)% ShuntC-SeriesL-ShuntC拓扑cIndex(i) = find(Index, 1,“第一”);selectedCircuits(i) = match_net(i).Circuit(cIndex(i));其他的%最佳可用匹配网络selectedCircuits(i) = match_net(i).Circuit(1);结束selectedCircuits(我)。Name =“N”+我;结束
要查看选定的匹配网络电路的性能,请使用rfplot
.例如,要绘制带有Shunt C系列L-Shunt C拓扑类型的电路的第一个匹配网络的性能。
rfplot (match_net(1)、频率、cIndex (1));
16口网络中添加匹配网络电路
创建电路对象
为16端口网络创建一个电路对象和一个n-port对象。
电路(“patchArray”);array_net = nport(Sparam_array);
在此例中,电路节点数为17,因为将使用节点1到节点16来添加匹配的网络。
Cktnodes = (1+numport):(numport+numport);
将n-port对象添加到电路对象中。
添加(ckt, cktnodes, array_net);
查看16口网络的父节点。
disp (array_net)
nport: N-port element NetworkData: [1×1 sparameters] Name: 'Sparams' NumPorts: 16 Terminals: {1×32 cell} ParentNodes:[17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…]ParentPath: 'patchArray'
给出了具有16端口n-port的电路对象的示例。
初始化端口。
端口= cell(1,numport);
将每个匹配的网络电路逐个添加到相应的端口。生成对应的匹配网络电路的端口号。
为i=1:length(selectedCircuits) add(ckt, [i, 0, i+numport, 0], selectedCircuits(i),...{“p1 +”,“p1 - - - - - -”,“p2 +”,“p2 - - - - - -”});端口{i} = [i, 0];结束% ports = arrayfun(@(x) [x 0],1:10,'UniformOutput',false);
使用setports
函数定义每个电路的端口。
setports(电路、港口{:});
给出了带n端口的电路对象和匹配的网络电路。
生成并绘制s参数
生成并绘制被动16端口匹配网络的s参数。
Sparam =参数参数(ckt,频率);
绘制频率响应图
请在匹配前绘制16口网络的频响图。
图;rfplot (s_params_circ_array);传说从
图16口网络匹配后的频率响应
图;rfplot (Sparam);传说从