设计匹配网络用于被动多层网络
This example shows how to design matching networks for 16-port passive network at 39 GHz for 5G mmWave systems. Matching networks are designed independently for each port, and each generated matching network is intended to function between two 1-port terminations.
Design Multiport Passive Network
计算设计为39 GHz的斑块天线阵列的S-参数。加载sparams_patcharray。
mat file. Thes_params_circ_array
function is obtained from the supporting fileDesignMultiport.MLX。
fcenter = 39e9;加载('sparams_patcharray.mat')sparam_array = s_params_circ_array;显示(PatchArray)视图([90 0])
确定与中心频率相对应的索引。
freq = Sparam_array.Frequencies; fIndex = find(freq == Fcenter);
创建匹配网络
为每个相应的端口生成匹配网络,其加载Q为20,并将拓扑配置为“ PI”。该Q因子与贴片天线阵列的一半功率带宽对齐,该阵列约为2 GHz。
定义网络中的端口数并指定终止阻抗。
numport = s_params_circ_array.numports;ZT = 50;LOADEDQ = 20;拓扑='Pi';为了i = 1:numport%反射系数/SIIgam_array = s_params_circ_array.parameters(i,i,findex);% Load impedancezout = gamma2z(gam_array);%匹配网络生成match_net(i) = matchingnetwork(“源消耗”,ZT,...'LoadImpedance',Zout,'CenterFrequency',fcenter,...'LoadedQ',LoadedQ,'Components',,,,topology);结尾
源连接到位于匹配网络电路左侧的组件,并将负载连接到连接到匹配网络电路右侧的组件。对于生成的匹配网络,源是用ZT(50欧姆)终止的,负载阻抗是Zout给出的ITH端口上看到的阻抗。
View and Select Circuits
从十六个人中选择拓扑matchingnetwork
对象。要获取可用电路的概述,请参阅电路描述
功能。
在此示例中,使用了分流的C系列L-shunt C拓扑。如果您的网络中没有此拓扑,请使用最佳可用匹配网络电路。
selectedCircuits = repmat(电路,1,numport);cindex =零(1,numport);
View the list of circuits generated.
为了i = 1:numel(match_net) c = circuitDescriptions(match_net(i));% Perform a text search to choose the circuit with Shunt C-Series L-Shunt C topologyindex = strcmp(c.component1type,“分流C”) &...strcmp(c.component2Type,“系列L”) &...strcmp(c.component3Type,“分流C”);如果任何(索引)%shuntc-seriesl-shuntc拓扑cIndex(i) = find(Index, 1,'first');selectedcircuits(i)= match_net(i).circuit(cindex(i));别的%最佳可用匹配网络selectedCircuits(i) = match_net(i).Circuit(1);结尾selectedcircuits(i).name =“N”+i;结尾
要查看所选匹配网络电路的性能,请使用rfplot
。For instance, to plot the performance of the first matching network for the circuit with Shunt C-Series L-Shunt C topology type this command.
rfplot(match_net(1),freq,cindex(1));
Add Matching Network Circuits to 16-Port Network
创建电路对象
Create a circuit object and an n-port object for the 16-port network.
ckt =电路(“帕特chArray');array_net = nport(sparam_array);
In this example, number of circuit nodes are shown as 17, as nodes 1 through 16 will be used for adding the matching networks.
cktnodes =(1+numport):( numport+numport);
将N-PORT对象添加到电路对象。
添加(ckt,cktnodes,array_net);
View parent nodes of the 16-port network.
disp(array_net)
NPORT:N-PORT ELEMELL NETWERKDATA:[1×1 SPARAMETERS]名称:'Sparams'numPorts:16端子:{1×32 cell} parendnodes:[17 18 19 20 20 21 22 22 23 24 25 26 25 26 27 28 29 28 29 28 29 30 30 30 31 32 32 32 0 32 32 0 32 0 32 0 32 0 32 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] parentpath:'patchArray'
An illustration of the circuit object with 16-port n-port is provided.
初始化端口。
端口=单元格(1,numport);
一次将每个匹配的网络电路添加到其相应的端口一个。还生成了相应匹配网络电路的端口号。
为了i = 1:长度(selectedcircuits)add(ckt,[i,0,i+numport,0],selectedcircuits(i),...{'p1+',,,,'p1-',,,,'P2+',,,,'p2-'}); ports{i} = [i, 0];结尾%ports = arrayfun(@(x)[x 0],1:10,'UniformOutput',false);
使用setports
function to define the ports for each of the circuits.
setports(ckt,ports {:});
提供了带有N端口和匹配网络电路的电路对象的插图。
生成和绘图S-参数
生成并绘制被动16端口匹配网络的S-参数。
Sparam = sparameters(ckt, freq);
情节频率响应
匹配之前,请绘制16端口网络的频率响应。
数字;rfplot(s_params_circ_array);传奇off
Plot the frequency response of the 16-port network after matching.
数字;rfplot(Sparam); legendoff