В этом примере показано, как спроектировать соответствующие сети для 16-портовой пассивной сети на 39 ГГц для систем 5G mmWave. Соответствующие сети спроектированы независимо для каждого порта, и каждая сгенерированная соответствующая сеть предназначена для работы между двумя терминалами с 1 портом.
Вычислите S-параметры закрашенная фигура решетки, рассчитанной на 39 ГГц. Загрузите sparams_patchArray.
файл mat. The s_params_circ_array
функция получена из вспомогательного файла designmultiport.mlx.
Fcenter = 39e9;
load('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 ГГц.
Определите количество портов в сети и задайте импеданс завершения.
numport = s_params_circ_array.NumPorts; ZT = 50; loadedQ = 20; topology = 'Pi'; for i = 1 : numport % reflection coefficient/Sii gam_array = s_params_circ_array.Parameters(i,i,fIndex); % Load impedance Zout = gamma2z(gam_array); % Matching networks generation match_net(i) = matchingnetwork('SourceImpedance', ZT, ... 'LoadImpedance', Zout, 'CenterFrequency', Fcenter, ... 'LoadedQ', loadedQ, 'Components', topology); end
Источник соединяется с компонентом, расположенным слева от совпадающей сетевой схемы, и нагрузка соединяется с компонентом, соединенным справа от совпадающей сетевой схемы. Для сгенерированных совпадающих сетей источник завершается ZT (50 Ом), и импеданс нагрузки является импедансом, наблюдаемым в i-ом порту, заданном Zout.
Выберите топологию из шестнадцати matchingnetwork
объекты. Для получения обзора доступных схем смотрите circuitDescriptions
функция.
В этом примере используется топология Шунта C-Series L-Shunt C. Если эта топология недоступна в сети, используйте наиболее подходящую сетевую схему.
selectedCircuits = repmat(circuit,1,numport); cIndex = zeros(1,numport);
Просмотрите список сгенерированных схем.
for 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 topology Index = strcmp(c.component1Type,"Shunt C") & ... strcmp(c.component2Type,"Series L") & ... strcmp(c.component3Type,"Shunt C"); if any(Index) % ShuntC-SeriesL-ShuntC topology cIndex(i) = find(Index, 1, 'first'); selectedCircuits(i) = match_net(i).Circuit(cIndex(i)); else % Best available matchingnetwork selectedCircuits(i) = match_net(i).Circuit(1); end selectedCircuits(i).Name = "N"+i; end
Чтобы просмотреть эффективность выбранной соответствующей сетевой схемы, используйте rfplot
. Например, чтобы построить график эффективности первой совпадающей сети для схемы с топологией Shunt C-Series L-Shunt C, введите эту команду.
rfplot(match_net(1),freq,cIndex(1));
Создайте объект схемы и объект n-порта для сети с 16 портами.
ckt = circuit('patchArray');
array_net = nport(Sparam_array);
В этом примере количество узлов схемы показано равным 17, так как узлы 1-16 будут использоваться для добавления совпадающих сетей.
cktnodes = (1+numport):(numport+numport);
Добавьте объект n-порта к объекту схемы.
add(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] ParentPath: 'patchArray'
Приведен рисунок объекта схемы с 16-портовым n-портом.
Инициализируйте порты.
ports = cell(1,numport);
Добавьте каждую соответствующую сетевую схему к соответствующему порту по одному. Номера портов для соответствующей сетевой схемы также генерируются.
for i=1:length(selectedCircuits) add(ckt, [i, 0, i+numport, 0], selectedCircuits(i), ... {'p1+', 'p1-', 'p2+', 'p2-'}); ports{i} = [i, 0]; end % ports = arrayfun(@(x) [x 0],1:10,'UniformOutput',false);
Используйте setports
функция для определения портов для каждой из схем.
setports(ckt,ports{:});
Представлен рисунок объекта схемы с n-портами и соответствующими сетевыми схемами.
Сгенерируйте и постройте график S-параметров пассивной 16-портовой совпадающей сети.
Sparam = sparameters(ckt, freq);
Постройте график частотной характеристики 16-портовой сети перед совпадением.
figure; rfplot(s_params_circ_array); legend off
Постройте график частотной характеристики 16-портовой сети после соответствия.
figure; rfplot(Sparam); legend off