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

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

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

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

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

Обрезка данных до определенной частоты среза

В качестве опции можно усечь набор данных из передаточной функции, используемой подгонка. Для примера можно выбрать частоту отключения 13 ГГц.

fcutoff = 13e9;
ndx = rawfreq<fcutoff;

Сохраните неусеченные данные для сравнения подгонки с помощью графика наложения

В качестве опции исходный набор данных my будет сохранен для последующего сравнения с выводом Fit rational функция.

rawdata = complex(ri(:,1),ri(:,2));

Преобразуйте передаточную функцию в сложную форму

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

data = complex(ri(ndx,1),ri(ndx,2));
freq = rawfreq(ndx);

Поиск рациональной передаточной функции

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

fit = rational(freq,data,'Tolerance',-40,'TendsToZero',true,'MaxPoles',8,'Display','on');
No reduction possible.
init: np=0 errdbAAA=0 errdb=0 (np=0)
np=0 errdbAAA=-3.33309 errdb=0 (np=0)
np=2 errdbAAA=-49.9298 errdb=-50.1853 (np=2)
Achieved specified tolerance.
final: np=2 errdb=-50.1853

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

The rational функция возвращает полюсы и остатки, но вам нужно преобразовать их в нули, полюсы и усиления для блока CTLE с помощью функции zpk.

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

Создайте матрицу GPZ для блока CTLE из нулей, полюсов, коэффициентов усиления

Нули, полюсы и усиления, выводимые zpk, должны быть форматированы как матрица GPZ для использования в блоке CTLE. CTLE может быть сконфигурирован так, чтобы использовать параметр Specification GPZ Matrix где модулями для коэффициентов усиления, полюсов и нулей являются дБ, Гц и Гц, соответственно. Выход функции zpk должен быть переформатирован для этих модулей для использования в качестве GPZ Matrix. Примечание: рекомендуется инициализировать GPZ Matrix в случае, если набор входных данных изменяется между одним анализом на другой.

gpz = zeros(1,length(p)*2);
gpz(1,1) = 20*log10(abs(dcgain));
gpz(1,2:2:length(p)*2) = p/(2*pi);
gpz(1,3:2:length(z)*2+1) = z/(2*pi);                            

Постройте график перекрытия подгонки по сравнению с данными

The serdes.CTLE блок может использоваться, чтобы сгенерировать график наложения результатов подгонки по сравнению с набором входных данных.

myctle = serdes.CTLE('GPZ',gpz,'SymbolTime',40e-12,'Specification','GPZ Matrix');
[f,H] = plot(myctle);
figure(3), semilogx(f*1e-9,db(H),rawfreq*1e-9,db(rawdata))
grid on
xlabel('GHz'),ylabel('dB')
legend('Fit','Data')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Fit, Data.

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

Запустите приложение SerDes Designer. Поместите блок CTLE после аналоговой модели приемника. Выберите CTLE и на панели Параметров блоков установите параметр Спецификации равным GPZ Matrix. Вы можете ввести имя GPZ Matrix переменная (в данном примере, "gpz"), или скопируйте значения из GPZ Matrix Камера графика и вставьте его в параметр Gain pole нуля matrix.

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

В приложении SerDes Designer постройте график передаточной функции CTLE и импульсной реакции от кнопки Add Plots. Можно переместить панели для отображения двух графиков, щелкнув и перетащив каждую панель в окне SerDes Designer.

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

См. также

| | | (RF Toolbox)

Похожие темы