В этом примере показано, как использовать функции RF Toolbox™ для вычисления TDR (рефлектометрия во временной области) и TDT (передача во временной области) дифференциального высокоскоростного канала объединительной платы.
Чтение файла данных Touchstone ®, default.s4p
, в sparameters
объект. Параметрами в этом файле данных являются S-параметры 50 Ом пассивной схемы с одним концом 4 порта, измеренные на 1496 частотах в диапазоне от 50 МГц до 15 ГГц. Затем получите однокомпонентные параметры S-порта из объекта данных и используйте функцию матричного преобразования s2sdd
для преобразования их в дифференциальные 2-портовые S-параметры.
filename = 'default.s4p';
backplane = sparameters(filename);
data = backplane.Parameters;
freq = backplane.Frequencies;
z0 = backplane.Impedance;
Преобразуйте в 2-портовые дифференциальные S-параметры.
diffdata = s2sdd(data); diffsparams = sparameters(diffdata,freq,2*z0);
TDR является отраженным сигналом напряжения для шагового входа. Сначала извлеките дифференциальный S11
данные с использованием rfparam
function, и преобразовать S11
данные для данных передаточные функции напряжения TDR [1]. Затем создайте рациональную функцию этих данных с помощью rationalfit
, затем вычислите TDR с помощью stepresp
функция rfmodel.rational
объект. Наконец, постройте график вычисленного TDR.
s11 = rfparam(diffsparams,1,1); Vin = 1; tdrfreqdata = Vin*(s11+1)/2; tdrfit = rationalfit(freq,tdrfreqdata,'NPoles',350); Ts = 5e-12; N = 5000; % number of samples Trise = 5e-11; % Define a step signal [Vtdr,tdrT] = stepresp(tdrfit,Ts,N,Trise); figure plot(tdrT*1e9,Vtdr,'r','LineWidth',2) ylabel('Differential TDR (V)') xlabel('Time (ns)') legend('Calculated TDR') ylim([0.46 0.55])
TDT является переданным сигналом напряжения для шагового входа. Используйте rationalfit
функция для получения объекта рациональной функции данных частоты напряжения TDT, затем используйте stepresp
функция для вычисления TDT. Наконец, постройте график вычисленного TDT.
delayfactor = 0.98; % Delay factor. Set delay factor to zero if your % data does not have a well-defined delay s21 = rfparam(diffsparams,2,1); tdtfreqdata = Vin*s21/2; tdtfit = rationalfit(freq,tdtfreqdata,'DelayFactor',delayfactor); Ts = 5e-12; N = 5000; % number of samples Trise = 5e-11; [tdt,tdtT] = stepresp(tdtfit,Ts,N,Trise); figure plot(tdtT(1:N)*1e9,tdt(1:N),'r','LineWidth',2) ylabel('Differential TDT (V)') xlabel('Time (ns)') legend('Calculated TDT','Location','best')
[1] А. С. Али, Р. Миттра. «Рефлектометрия во временной области с использованием параметров рассеяния и деэмбеддинга» Технический отчет, отчет лаборатории электромагнитной связи № 86-4, май 1986 года.