Этот пример показывает, как разделить S-параметры двух идентичных, пассивных, симметричных зондов, соединенных в каскаде.
Рассмотрите DUT (устройство под тестом) соединенный с двумя зондами. Для того, чтобы к de-embed S-параметры DUT, необходимо знать S-параметры каждого отдельного зонда. Для точных S-параметров двух зондов калибровка сделана в лаборатории с помощью SOLT (короткий, открытый, загрузка, и через) или TRL (через, отразитесь, линия), измерения. Однако, если вы принимаете, что зонды идентичны и симметричны, затем можно аппроксимировать S-параметры быстро с помощью процедуры, коротко изложенной здесь.
Файл connectedprobes.s2p
содержит данные S-параметра, когда зонды соединяются непосредственно друг с другом.
Этот пример использует ABCD-параметры, чтобы разделить пополам измеренные данные S-параметра в данные для каждого отдельного зонда.
Когда вы располагаете каскадом две сети, можно вычислить ABCD-параметры объединенной сети матрицей, умножающей ABCD-параметры двух отдельных сетей.
Если, затем,
От вышеупомянутого уравнения можно найти 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-параметра этой сети.
Разделите вышеупомянутую сеть в две идентичных сети, probe1 и probe2. S-параметры этих зондов представляют ожидаемый результат.
Создайте 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-параметры от probe1 и тех вычисленные ABCD-параметры использования и сравните.
rfplot(S_exp) hold on rfplot(S_probe,'--') hold off text(0.02,-5,{'Solid: Expected','Dashed: Computed'})
Каскадные s-параметры probe1 с собой с помощью cascadesparams
функция.
Создайте S-объект-параметра каскадными S-параметрами.
S_combined = cascadesparams(S_probe,S_probe);
Постройте и сравните S-параметры от connectedprobes.s2p и вычисленных от объединенного probe1.
figure rfplot(S) hold on rfplot(S_combined,'--') hold off text(0.02,-5,{'Solid: Expected','Dashed: Computed'})
Процедура, показанная здесь, не может заменить традиционную калибровку. Мы включаем его как пример использования RF Toolbox™ и MATLAB™, чтобы управлять сетевыми параметрами математически.
Существуют некоторые ограничения к использованию этой процедуры.
Нет никакого гарантируемого решения. Некоторые матрицы не имеют квадратного корня.
Решение не может быть уникальным. Часто, существует два или больше жизнеспособных матричных квадратных корня.