Линейный эквалайзер непрерывного времени (CTLE) или пиковый фильтр
serdes.CTLE Система object™ применяет линейный пиковый фильтр для выравнивания входного сигнала выборки за выборкой или для аналитической обработки входного сигнала вектора импульсной характеристики. Процесс выравнивания уменьшает искажения, возникающие в результате потери каналов. Фильтр является вещественным однополюсным двухполюсным (1z/2p) фильтром, если только не определена матрица GPZ.
Выравнивание сигнала основной полосы частот с помощью serdes.CTLE:
Создать serdes.CTLE и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
возвращает объект CTLE, который изменяет форму входного сигнала в соответствии с функцией переноса нулевого полюса, определенной в объекте.ctle = serdes.CTLE
задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в кавычки. Неопределенные свойства имеют значения по умолчанию.ctle = serdes.CTLE(Name,Value)
ctle = serdes.CTLE('ACGain',5) возвращает объект CTLE с коэффициентом усиления на пиковой частоте, равным 5 дБ.Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.
Если свойство настраивается, его значение можно изменить в любое время.
Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.
Mode - Режим работы CTLE2 (по умолчанию) | 0 | 1Режим работы CTLE, указанный как 0, 1, или 2. Mode определяет, обходится ли CTLE или нет. Если CTLE не обходится, то Mode также определяет, какая передаточная функция применяется к входной форме сигнала.
| Значение режима | Режим CTLE | Работа CTLE |
|---|---|---|
0 | прочь | serdes.CTLE обходится, и форма входного сигнала остается неизменной. |
1 | фиксированный | serdes.CTLE применяет функцию передачи CTLE, как указано в ConfigSelect во входной сигнал. |
2 | приспособиться | Если WaveType имеет значение 'Impulse' или 'Waveform', затем подсистема Init вызывает serdes.CTLE. serdes.CTLE определяет передаточную функцию CTLE для максимизации показателя производительности, как указано в PerformanceCriteria и применяет передаточную функцию к входной форме сигнала для моделирования во временной области. Эта оптимизированная передаточная функция используется КТЛ для моделирования всей временной области. Дополнительные сведения о подсистеме Init см. в разделе Статистический анализ в системах SerDes |
Если WaveType выбран как 'Sample', то serdes.CTLE работает в фиксированном режиме. |
Типы данных: double
ConfigSelect - Выбор элемента семейства передаточных функций для применения в фиксированном режиме0 (по умолчанию) | скаляр вещественных целых чиселВыберите элемент семейства передаточных функций для применения в фиксированном режиме, указанном как скаляр вещественного целого числа.
Пример: ctle = serdes.CTLE('ConfigSelect',5,'Specification','DC Gain and Peaking Gain') возвращает объект CTLE, который выбирает 6-й элемент DCGain и PeakingGain для применения к передаточной функции фильтра.
Типы данных: double
Specification - Входная спецификация для ответа CTLE'DC Gain and Peaking Gain' (по умолчанию) | 'DC Gain and AC Gain' | 'AC Gain and Peaking Gain' | 'GPZ Matrix'Определяет, какие входные данные будут использоваться для семейства функций передачи CTLE. Есть пять исходных данных, которые могут использоваться, чтобы определить семью функции передачи CTLE: DCGain, PeakingGain, ACGain, PeakingFrequency и GPZ.
Можно определить отклик КТЛ из любых двух из трех коэффициентов усиления и пиковой частоты или можно определить матрицу GPZ для КТЛ.

Выбрать 'DC Gain and Peaking Gain' для указания ответа CTLE от DCGain, PeakingGain, и PeakingFrequency.
'DC Gain and AC Gain' для указания ответа CTLE от DCGain, ACGain, и PeakingFrequency.
'AC Gain and Peaking Gain' для указания ответа CTLE от ACGain, PeakingGain, и PeakingFrequency.
'GPZ Matrix' для указания ответа CTLE от GPZ.
Типы данных: char
PeakingFrequency - Приблизительная частота пиков передаточной функции КТЛ5e9 (по умолчанию) | скаляр | векторПриблизительная частота, при которой передаточная функция КТЛ достигает пика по величине, определяемой как скаляр или вектор в Гц. Если указан как скаляр, он преобразуется в соответствии с длиной ACGain, DCGain, и PeakingGain скалярным расширением. Если указан как вектор, то длина вектора должна совпадать с длиной векторов в ACGain, DCGain, и PeakingGain.
Типы данных: double
DCGain - Коэффициент усиления при нулевой частоте[0 -1 -2 -3 -4 -5 -6- -7 -8] (по умолчанию) | скаляр | векторКоэффициент усиления на нулевой частоте для передаточной функции КТЛ, определяемый как скаляр или вектор в дБ. Если указан как скаляр, он преобразуется в соответствии с длиной PeakingFrequency, ACGain, и PeakingGain скалярным расширением. Если указан как вектор, то длина вектора должна совпадать с длиной векторов в PeakingFrequency, ACGain, и PeakingGain.
Типы данных: double
PeakingGain - Разница между усилением переменного и постоянного тока[0 1 2 3 4 5 6 7 8] (по умолчанию) | скаляр | векторПиковое усиление, указанное как вектор в дБ. Это разница между ACGain и DCGain для функции передачи CTLE. Если указан как скаляр, он преобразуется в соответствии с длиной PeakingFrequency, ACGain, и DCGain скалярным расширением. Если указан как вектор, то длина вектора должна совпадать с длиной векторов в PeakingFrequency, ACGain, и DCGain.
Типы данных: double
ACGain - Усиление на пиковой частоте0 | скаляр | векторКоэффициент усиления на пиковой частоте для передаточной функции КТЛ, определяемый как скаляр или вектор в дБ. Если указан как скаляр, он преобразуется в соответствии с длиной PeakingFrequency, DCGain, и PeakingGain скалярным расширением. Если указан как вектор, то длина вектора должна совпадать с длиной векторов в PeakingFrequency, DCGain, и PeakingGain.
Типы данных: double
GPZ - Нулевой полюс усиленияНулевой полюс усиления, заданный как матрица. GPZ явно определяет семейство функций передачи CTLE, указывая DCGain (дБ) в первом столбце, а затем полюсы и нули в чередующихся столбцах. Полюса и нули указаны в Гц. Дополнительные строки в матрице определяют дополнительные конфигурации, которые можно выбрать с помощью ConfigSelect.
Повторные полюса или нули не допускаются. Комплексные полюса или нули должны иметь сопряжения. Количество полюсов должно быть больше числа нулей для стабильности системы. Полюса и нули 0 Гц игнорируются и могут использоваться для заполнения матрицы нулями.
Типы данных: double
Поддержка комплексного номера: Да
SymbolTime - Время длительности одного символа100e-12 (по умолчанию) | вещественный скалярВремя длительности одного символа, определяемое как действительный скаляр в s.
Типы данных: double
SampleInterval - Равномерный временной шаг формы сигнала6.25e-12 (по умолчанию) | вещественный скалярРавномерный временной шаг формы сигнала, определяемый как действительный скаляр в s.
Типы данных: double
WaveType - Форма типа входной волны'Sample' (по умолчанию) | 'Impulse' | 'Waveform'Форма типа входной волны:
'Sample' - входной сигнал «выборка за выборкой».
'Impulse' - входной сигнал импульсной характеристики.
'Waveform' - Тип сигнала с битовой комбинацией входного сигнала, такой как псевдослучайная двоичная последовательность (PRBS).
Типы данных: char
PerformanceCriteria - Критерий, используемый для оптимизации КТЛSNR (по умолчанию) | maxEyeHeight | maxMeanEyeHeight | maxCOM | eyeAreas | eyeWidth | centerEyeHeight | centerMeanEyeHeight | centerCOMКритерий, используемый для оптимизации CTLE при serdes.CTLE
Mode настроен на адаптацию. Критерии эффективности рассчитываются с использованием optPulseMetric функция.
Типы данных: char
FilterMethod - Метод вычисления коэффициентов фильтра временной областиPartialFraction (по умолчанию) | CascadedСпособ вычисления коэффициентов фильтра временной области рациональной передаточной функции:
PartialFraction метод фильтра использует частичное дробное расширение полюсов и нулей для непосредственного вычисления коэффициентов фильтра.
Cascaded метод фильтрации использует подход, который объединяет множество более коротких фильтров, которые в совокупности представляют заданное поведение. Это приводит к более надежному фильтру.
x - Входной сигнал основной полосы частотВходной сигнал основной полосы частот. Если WaveType имеет значение 'Sample', то входной сигнал является сигналом выборки за выборкой, заданным как скаляры. Если WaveType имеет значение 'Impulse', то входной сигнал является сигналом вектора импульсной характеристики.
y - Выровненный выход CTLEУравниваемый выходной сигнал КТЛ. Если входной сигнал является сигналом «выборка за выборкой», заданным как скаляры, то выходной сигнал также является скалярным. Если входной сигнал является сигналом вектора импульсной характеристики, то выходной сигнал также является вектором.
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)
В этом примере показано, как обрабатывать импульсную характеристику канала с помощью serdes.CTLE object™ системы.
Использовать время символа, равное 100 ps и 16 выборок на символ. Канал имеет 16 Потеря дБ. Пиковая частота равна 11 ГГц.
SymbolTime = 100e-12; SamplesPerSymbol = 16; dbloss = 16; DCGain = 0:-1:-26; PeakingGain = 0:26; PeakingFrequency = 11e9;
Вычислите интервал выборки.
dt = SymbolTime/SamplesPerSymbol;
Создайте объект CTLE. Объект адаптивно применяет оптимальную передаточную функцию для наилучшего открытия высоты глаза к входному импульсному отклику.
CTLE1 = serdes.CTLE('SymbolTime',SymbolTime,'SampleInterval',dt,... 'Mode',2,'WaveType','Impulse',... 'DCGain',DCGain,'PeakingGain',PeakingGain,... 'PeakingFrequency',PeakingFrequency);
Создайте импульсную характеристику канала.
channel = serdes.ChannelLoss('Loss',dbloss,'dt',dt,... 'TargetFrequency',1/SymbolTime/2); impulseIn = channel.impulse;
Обработка импульсной характеристики с помощью CTLE.
[impulseOut, Config] = CTLE1(impulseIn);
Просмотрите адаптированную конфигурацию.
fprintf('Adapted CTLE Configuration Selection is %g \n',Config)Adapted CTLE Configuration Selection is 17
Преобразование импульсных откликов в импульсные, волновые и глазные диаграммы.
ord = 6; dataPattern = prbs(ord,2^ord-1)-0.5; pulseIn = impulse2pulse(impulseIn,SamplesPerSymbol,dt); waveIn = pulse2wave(pulseIn,dataPattern,SamplesPerSymbol); eyeIn = reshape(waveIn,SamplesPerSymbol,[]); pulseOut = impulse2pulse(impulseOut,SamplesPerSymbol,dt); waveOut = pulse2wave(pulseOut,dataPattern,SamplesPerSymbol); eyeOut = reshape(waveOut,SamplesPerSymbol,[]);
Создайте векторы времени.
t = dt*(0:length(pulseOut)-1)/SymbolTime; teye = t(1:SamplesPerSymbol); t2 = dt*(0:length(waveOut)-1)/SymbolTime;
Сравнение импульсной характеристики, сравнение формы сигнала, входная и выходная диаграммы глаз.
figure plot(t,pulseIn,t,pulseOut) legend('Input','Output') title('Pulse Response Comparison') xlabel('Symbol Times'),ylabel('Voltage') grid on axis([47 60 -0.1 0.4])

figure plot(t2,waveIn,t2,waveOut) legend('Input','Output') title('Waveform Comparison') xlabel('Symbol Times'),ylabel('Voltage') grid on

figure subplot(211),plot(teye,eyeIn,'b') ax = axis; xlabel('Symbol Times'),ylabel('Voltage') grid on title('Input Eye Diagram') subplot(212),plot(teye,eyeOut,'b') axis(ax); xlabel('Symbol Times'),ylabel('Voltage') grid on title('Output Eye Diagram')

В этом примере показано, как обрабатывать импульсную характеристику канала по одной выборке за раз с использованием serdes.CTLE object™ системы.
Использовать время символа, равное 100 ps и 16 выборок на символ. Канал имеет 16 Потеря дБ. Пиковая частота равна 11 ГГц. Выбрать 12-й порядок псевдослучайной двоичной последовательности (PRBS) и имитировать первую 500 символы.
SymbolTime = 100e-12; SamplesPerSymbol = 16; dbloss = 16; DCGain = 0:-1:-26; PeakingGain = 0:26; PeakingFrequency = 11e9; ConfigSelect = 15; prbsOrder = 12; M = 500;
Вычислите интервал выборки.
dt = SymbolTime/SamplesPerSymbol;
Создайте объект CTLE. Поскольку мы обрабатываем канал по одной выборке за раз, входной сигнал является 'sample' тип. Объект адаптивно применяет оптимальную передаточную функцию фильтра для наилучшего отверстия высоты глаза.
CTLE = serdes.CTLE('SymbolTime',SymbolTime,'SampleInterval',dt,... 'Mode',2,'WaveType','Sample',... 'DCGain',DCGain,'PeakingGain',PeakingGain,... 'PeakingFrequency',PeakingFrequency,... 'ConfigSelect',ConfigSelect);
Создайте импульсную характеристику канала.
channel = serdes.ChannelLoss('Loss',dbloss,'dt',dt,... 'TargetFrequency',1/SymbolTime/2);
Создайте диаграмму глаз.
eyediagram = comm.EyeDiagram('SampleRate',1/dt,'SamplesPerSymbol',SamplesPerSymbol,... 'YLimits',[-0.5 0.5]);
Warning: comm.EyeDiagram will be removed in a future release. Use eyediagram instead.
Инициализация генератора PRBS.
[dataBit,prbsSeed] = prbs(prbsOrder,1);
Закольцовывать по одному символу за раз.
inwave = zeros(SamplesPerSymbol,1); outwave = zeros(SamplesPerSymbol,1); for ii = 1:M % Get new symbol [dataBit,prbsSeed] = prbs(prbsOrder,1,prbsSeed); inwave(1:SamplesPerSymbol) = dataBit-0.5; % Convolve input waveform with channel y = channel(inwave); % Process one sample at a time through the CTLE for jj = 1:SamplesPerSymbol outwave(jj) = CTLE(y(jj)); end % Plot eye diagram eyediagram(outwave) end

Примечания и ограничения по использованию:
Кодеген IBIS-AMI не поддерживается в MAC.
AGC | CTLE | DFECDR | optPulseMetric | SaturatingAmplifier | serdes.AGC | serdes. DFECDR
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.