Этот пример показывает, как использовать функции RF Toolbox™, чтобы вычислить TDR (Рефлектометрия Временного интервала) и TDT (Передача Временного интервала) дифференциального высокоскоростного канала основной платы.
Считайте файл данных Touchstone®, default.s4p
, в объект sparameters
. Параметрами в этом файле данных являются S-параметры на 50 Ом несимметричной пассивной схемы с 4 портами, измеренной на 1 496 частотах в пределах от от 50 МГц до 15 ГГц. Затем получите несимметричные S-параметры с 4 портами от объекта данных и используйте матричную функцию преобразования s2sdd
, чтобы преобразовать их в дифференциальные S-параметры с 2 портами.
filename = 'default.s4p';
backplane = sparameters(filename);
data = backplane.Parameters;
freq = backplane.Frequencies;
z0 = backplane.Impedance;
Преобразуйте в дифференциальные S-параметры с 2 портами.
diffdata = s2sdd(data); diffsparams = sparameters(diffdata,freq,2*z0);
TDR является отраженным сигналом напряжения для входа шага. Во-первых, извлеките дифференциальные данные S11
с помощью функции rfparam
и преобразуйте данные 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] А. С. Али, Р. Миттра. "Параметры Рассеивания использования Рефлектометрии временного интервала и Технический отчет" Приложения De-встраивания, Электромагнитный Коммуникационный Отчет № 86-4 Лаборатории, май 1986.