主要内容

无源多端口网络的匹配网络设计

本示例演示了如何为5G毫米波系统设计匹配的39 GHz 16端口无源网络。每个端口独立设计匹配网络,生成的每个匹配网络用于两个1端口终端之间的功能。

设计多端口无源网络

计算贴片天线阵在39ghz时的s -参数。加载sparams_patchArray。垫文件。的s_params_circ_array函数从支持文件中获取金宝appdesignmultiport.mlx。

Fcenter = 39 e9;负载(“sparams_patchArray.mat”Sparam_array = s_params_circ_array;显示(patchArray)视图(90 [0])

确定中心频率对应的指标。

频率= Sparam_array.Frequencies;fIndex = find(freq == Fcenter);

创建匹配网络

为每个对应端口独立生成匹配网络,负载Q为20,并将拓扑配置为“Pi”。这个q因子与贴片天线阵列的一半功率带宽一致,约为2ghz。

定义网络中端口的数量并指定终端阻抗。

numport = s_params_circ_array.NumPorts;ZT型= 50;loadedQ = 20;拓扑=“π”I = 1: numport%反射系数/他们gam_array = s_params_circ_array.Parameters(我,我,fIndex);%负载阻抗Zout = gamma2z (gam_array);%匹配网络生成match_net (i) = matchingnetwork (“SourceImpedance”ZT型,...“LoadImpedance”Zout,“CenterFrequency”Fcenter,...“LoadedQ”loadedQ,“组件”、拓扑);结束

所述源连接于位于所述匹配网络电路左侧的组件,所述负载连接于所述匹配网络电路右侧的组件。对于生成的匹配网络,源端以ZT(50欧姆)终止,负载阻抗为Zout给出的第i端口处的阻抗。

查看和选择电路

选择16个拓扑matchingnetwork对象。要获得可用电路的概览,请参阅circuitDescriptions函数。

本例中使用的是“分流C系列l -分流C”拓扑。如果这种拓扑在您的网络中不可用,请使用最佳可用的匹配网络电路。

selectedCircuits = repmat(电路,1 numport);numport cIndex = 0 (1);

查看生成的电路列表。

c = circuitDescriptions(match_net(i));%进行文本搜索以选择具有并联C系列l -并联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(我));其他的%最佳可用的匹配网络selectedCircuits (i) = match_net (i) .Circuit (1);结束selectedCircuits(我)。Name =“N”+我;结束

要查看选定的匹配网络电路的性能,请使用rfplot.例如,要绘制具有分流器C系列l -分流器C拓扑类型的电路的第一个匹配网络的性能,此命令。

rfplot (match_net(1)、频率、cIndex (1));

为16端口网络添加匹配网络电路

创建电路对象

为16端口网络创建一个电路对象和一个n端口对象。

电路=电路(“patchArray”);array_net = nport (Sparam_array);

在本例中,电路节点数显示为17,因为节点1到16将用于添加匹配的网络。

cktnodes = (1 + numport): (numport + numport);

将n端口对象添加到电路对象中。

add(电路、cktnodes array_net);

查看16端口网络的父节点。

disp (array_net)
nport: N-port element NetworkData: [1×1 parameters] 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] ParentPath: 'patchArray'

给出了具有16端口n端口的电路对象的示例。

初始化端口。

港口=细胞(1、numport);

将每个匹配的网络电路添加到相应的端口上。同时生成相应匹配网络电路的端口号。

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, freq);

情节频率响应

在匹配之前绘制16端口网络的频率响应。

图;rfplot (s_params_circ_array);传说

绘制匹配后的16端口网络的频率响应曲线。

图;rfplot (Sparam);传说

相关的话题