exponenta event banner

Поиск нулей, полюсов и выигрышей для 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);

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

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

fcutoff = 13e9;
ndx = rawfreq<fcutoff;

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

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

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

Преобразование функции переноса в комплексную форму

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

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

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

Вы можете использовать rational для поиска наилучшего соответствия передаточной функции. 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

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

rational функция возвращает полюса и остатки, но их необходимо преобразовать в нули, полюса и коэффициенты усиления для блока КТЛ с помощью функции 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);                            

Печать наложения подгонки в сравнении с данными

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 и на панели Параметры блока (Block Parameters) задайте для параметра Спецификация (Specification) значение GPZ Matrix. При необходимости можно ввести имя GPZ Matrix переменная (в этом примере ",gpz")или скопируйте значения из GPZ Matrix и вставьте его в параметр матрицы нулевого полюса усиления.

Сопоставление импульсного отклика в SerDes Designer с моделированием IBIS-AMI

В приложении SerDes Designer постройте график функции передачи CTLE и импульсного отклика с помощью кнопки «Добавить графики». Можно переместить панели, чтобы показать два графика, щелкнув и перетащив каждую панель в окне SerDes Designer.

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

См. также

| | | (RF Toolbox)

Связанные темы