Этот пример показывает, как разделить S-параметры двух одинаковых, пассивных, симметричных зондов, соединенных каскадом.
Рассмотрим DUT (тестируемое устройство), соединенное с двумя зондами. В порядок отмены встраивания S-параметров DUT необходимо знать S-параметры каждого отдельного зонда. Для точных S-параметров двух зондов калибровка выполняется в лаборатории с помощью измерений SOLT (короткий, открытый, нагрузка и через) или TRL (через, отражать, линия). Однако, если вы предполагаете, что зонды идентичны и симметричны, то можно быстро аппроксимировать S-параметры с помощью нарисованной здесь процедуры.
Файл connectedprobes.s2p
содержит данные S-параметра, когда зонды соединены непосредственно друг с другом.
Этот пример использует ABCD-параметры, чтобы бисектировать измеренные данные S-параметра в данные для каждого отдельного зонда.
Когда вы каскадируете две сети, можно вычислить ABCD-параметры объединенной сети путем матричного умножения ABCD-параметров двух отдельных сетей.
Фигура 1: Основная сеть и сеть с двумя симметричными зондами, соединенными каскадом
Если, , затем,
Из приведенного выше уравнения можно найти ABCD-параметры двух отдельных зондов, взяв матричный квадратный корень ABCD-параметров основной сети.
Поскольку оба зонда идентичны, можно вычислить S-параметры любого из зондов.
Создайте sparameters
объект из файла данных Touchstone ® connectedprobes.s2p
.
filename = 'connectedprobes.s2p';
S = sparameters(filename);
numports = S.NumPorts;
freq = S.Frequencies;
numfreq = numel(freq);
z0 = S.Impedance;
Создайте нулевую матрицу, чтобы сохранить данные ABCD-параметра зонда.
abcd_probe_data = zeros(numports,numports,numfreq);
Чтобы вычислить S-Параметры зонда, необходимо знать S-параметры на каждой частоте, которую он работает. Преобразуйте S-параметры, извлеченные из connectedprobes.s2p, в ABCD-параметры. Затем вычислите матричный квадратный корень ABCD-параметров с помощью sqrtm
функция для получения ABCD-параметров зонда. Преобразуйте эти ABCD-параметры зонда в S-параметры.
ABCD = abcdparameters(S); for n = 1:numfreq abcd_meas = ABCD.Parameters(:,:,n); abcd_probe_data(:,:,n) = sqrtm(abcd_meas); end ABCD_probe = abcdparameters(abcd_probe_data,freq);
Создайте объект S-параметра из вычисленных данных S-параметра зонда.
S_probe = sparameters(ABCD_probe,z0);
В данном примере connectedprobes.s2p приводит данные S-параметра этой сети.
Фигура 2: Сеть, полученная из connectedprobes.s2p
Разделите вышеуказанную сеть на две одинаковые сети, probe1 и probe2. S-параметры этих зондов представляют ожидаемый результат.
Фигура 3: Идентичные сети
Создайте probe1 с помощью circuit
, resistor
,
и capacitor
объекты из RF Toolbox.
R1 = 1;
C1 = 1;
R2 = 1;
ckt = circuit('probe1');
add(ckt,[1 2],resistor(R1))
add(ckt,[2 4],capacitor(C1))
add(ckt,[2 3],resistor(R2))
Вычислите ожидаемые S-параметры зонда 1.
setports(ckt,[1 4],[3 4]) S_exp = sparameters(ckt,freq,z0);
Постройте и сравните ожидаемые S-параметры из зонда 1 и рассчитанные с использованием ABCD-параметров и сравните.
rfplot(S_exp) hold on rfplot(S_probe,'--') hold off text(0.02,-5,{'Solid: Expected','Dashed: Computed'})
Каскадные S-параметры зонда 1 с использованием cascadesparams
и создайте объект S-параметра с каскадными S-параметрами.
S_combined = cascadesparams(S_probe,S_probe);
Построение графика и сравнение S-параметров из connectedprobes.s2p и параметров, рассчитанных из комбинированного зонда1.
figure rfplot(S) hold on rfplot(S_combined,'--') hold off text(0.02,-5,{'Solid: Expected','Dashed: Computed'})
Процедура, показанная здесь, не может заменить традиционную калибровку. Мы включаем его как пример использования RF Toolbox™ и MATLAB™ для математического манипулирования параметрами сети.
Существуют некоторые ограничения на использование этой процедуры.
Нет гарантированного решения. Некоторые матрицы не имеют квадратного корня.
Решение может быть не уникальным. Часто существует два или более жизнеспособных матричных квадратных корней.