В этом примере показано, как спроектировать соответствие с сетями для пассивной сети с 16 портами на уровне 39 ГГц для 5G mmWave системы. Соответствующие сети спроектированы независимо для каждого порта и каждого, какая сгенерированная соответствующая сеть предназначается, чтобы функционировать между двумя завершениями с 1 портом.
Вычислите S-параметры антенной решетки закрашенной фигуры, спроектированной на уровне 39 ГГц. Загрузите sparams_patchArray.
matfile. 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 и сконфигурируйте топологию 'Пи'. Этот 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
. Например, чтобы построить эффективность первой сети соответствия для схемы с Шунтом тип топологии 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'
Пример объекта схемы с n-портом с 16 портами приведен.
Инициализируйте порты.
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