Найдите нули, полюса и усиления для CTLE от передаточной функции

В этом примере показано, как сконфигурировать параметр Спецификации GPZ Matrix из CTLE в приложении SerDes Designer, чтобы использовать нули, полюса и усиления, выведенные zpk функция, учитывая полюса и остатки выводится rational функция. Можно переформатировать набор нулей, полюсов и усилений, выведенных zpk функционируйте, чтобы использовать в качестве GPZ matrix в блоке CTLE.

Импортируйте передаточную функцию

Импортируйте .csv файл, содержащий передаточную функцию с помощью readmatrix функция.

ctle_transfunc = readmatrix('ctle_transfer_function.csv','Range','A7:E775');
freq = ctle_transfunc(:,1);
ri = ctle_transfunc(:,4:end); 

Преобразуйте передаточную функцию, чтобы объединить форму

Подготовить данные к использованию rational функция, преобразуйте вещественные числа от передаточной функции до комплексных чисел с помощью complex функция.

data = complex(ri(:,1:2:end),ri(:,2:2:end));

Найдите рациональными из передаточной функции

Можно использовать rational функционируйте, чтобы найти лучшую подгонку к передаточной функции. rational функция выполняет итерации, чтобы идентифицировать подгонку с самой низкой ошибкой. Важно установить аргумент TendsToZero к true добавить полюс так, чтобы подгонка имела тенденцию обнулять как S бесконечность подходов. Это удовлетворяет требование, чтобы иметь еще один полюс, чем количество нулей в матрице GPZ.

bestfit = rational(freq,data,'Tolerance',-40,'TendsToZero',true,'MaxPoles',8,'Display','on');
nSurrogate=1; reduced to 100.0%
min achievable error=-Inf
Region 1 of 1 init: np=0 errdb=0
Region 1 of 1: np=0 errdb=-3.04769
Region 1 of 1: np=2 errdb=-37.9389
Region 1 of 1: np=4 errdb=-122.215
final: np=4 errdb=-123.386

Преобразуйте в нули, полюса, усиления от полюсов и остатков

rational функция возвращает полюса и остатки, но необходимо преобразовать их в нули, полюса и усиления для блока CTLE. CTLE может быть сконфигурирован, чтобы использовать параметр Спецификации GPZ Matrix где модули для усилений, полюсов и нулей являются дБ, Гц и Гц, соответственно.

[z,p,~,dcgain]=zpk(bestfit);

gpz(1,1) = 20*log10(dcgain);           % Convert to dB
gpz(1,2:2:length(p)*2) = p/(2*pi);     % Convert to Hz
gpz(1,3:2:length(z)*2+1) = z/(2*pi);   % Convert to Hz                            

Сконфигурируйте блок CTLE в SerDes Designer

Запустите приложение SerDes Designer. Поместите блок CTLE после аналоговой модели получателя. Выберите CTLE и из панели Параметров блоков, установите параметр Спецификации на GPZ Matrix. Затем скопируйте значение gpz переменная и вставка это к Усилению подпирает нулевой параметр матрицы шестами или вводит имя переменной gpz.

Коррелируйте импульсный ответ в SerDes Designer к симуляции IBIS-AMI

В приложении SerDes Designer постройте Передаточную функцию CTLE и Импульсный Ответ от кнопки Add Plots.

Затем нажмите, Export> Делают IBIS Моделью AMI для кнопки SerDes System. Модель IBIS-AMI может загрузиться в соответствующий инструмент EDA, чтобы построить Импульсный Ответ из модели. В целях корреляции можно сравнить графики для Импульсного Ответа из приложения SerDes Designer и инструмента EDA.

Смотрите также

|

Похожие темы