Я уже говорил о COM и анализе каналов в предыдущих блогах и хотел бы продолжить обсуждение, добавив больше наглядных материалов и примеров кода, чтобы читатели могли провести некоторый анализ самостоятельно.
Для начала давайте вспомним, что такое COM и дадим общее представление о том, как COM рассчитывается. COM - это отношение сигнал/шум по напряжению в определенный момент времени. Этот момент времени - точка выборки, а доступный сигнал - это напряжение импульсной характеристики в точке выборки. Импульсная характеристика - это форма напряжения после прохождения через тестируемый канал, и импульс просто является прямоугольной функцией с единичным интервалом, соответствующим предполагаемой скорости передачи данных.
Шум определяется статистическим анализом и делится на три основные категории: ISI, перекрестные помехи и системные.
ISI шум - это статистический шум от отражений в канале. Каждое ненулевое значение в импульсной характеристике после применения фильтров DFE увеличивает этот шум. Учитываются только значения, которые находятся на расстоянии M точек друг от друга. Это показано на рисунке ниже в виде кругов. Малиновые круги обозначают вклады шума, которые были учтены DFE, а черные круги - значения шума, к которым DFE не применялся.
Перекрестные помехи рассматриваются точно так же, за исключением того, что значение шума асинхронно. Это означает, что COM берет пиковое значение перекрестных помех вместо значения, соответствующего доступному сегменту сигнала. Системный шум содержит джиттер, зависящий от данных (DDJ), случайный джиттер и суммарное значение шума от ИС. DDJ связан с отражениями, поэтому он коррелирует со значением шума ISI: больше ISI означает больше DDJ. Однако весь остальной системный шум постоянен независимо от канала.
Выполнение расчетов для создания импульсной характеристики ни в коем случае не является простой задачей, но большинство инженеров и ученых в конечном итоге справляются с ней. Однако часть задачи, связанная с шумом, гораздо сложнее. Основная проблема заключается в реализации уравнения 93A-39, которое я привожу ниже.
Для большинства людей это довольно сложное уравнение. Я собираюсь объяснить каждую часть, а затем показать некоторые наглядные пособия. Начиная слева направо, pn(y) - это вероятность того, что напряжение будет находиться в точке y от вносимого образца, n. Другими словами, это насколько вероятно появление определенного количества шума для одной из точек в ответе импульса. 1/L учитывает модуляцию. Каждый уровень имеет свою вероятность, и общая вероятность в направлении y должна в сумме давать один. Таким образом, вероятность равномерно распределяется между каждым уровнем. В этой статье я собираюсь анализировать Non-Return Zero (NRZ), Pulse Amplitude Modulation 4 (PAM4) и PAM6. Для NRZ есть два уровня, PAM4 имеет четыре уровня, а PAM6 - шесть уровней. На практике код IEEE COM оценивает функцию распределения вероятностей (PDF) только для одного уровня, поскольку стандарт не учитывает асимметричные уровни (но мог бы 😉). Учет только одного уровня также улучшает скорость выполнения, что было актуальной темой в стандарте.
Давайте на момент отложим дельта-функцию и перейдем к ее аргументу:. Единственное, что здесь важно, это то, что аргумент равен нулю, когда y равно . Наконец, есть дельта-функция: , и дельта-функция просто равна единице, когда ее аргумент равен нулю.
Так что, если мы будем изменять y, вы получите ПФР (плотность вероятности распределения) того, сколько шума создаст выборка n. Следующий шаг - использовать уравнение 93A-40 для каждой выборки n, и вы получите ПФР шума от источника во временной области.
Я собираюсь применить это уравнение к показанному ниже образцу. Это точка, где переотраженный сигнал создает шум на канале 0,000819779 вольт.
Строим график внутреннего аргумента 93A-39, получаем следующий график. Вы можете видеть, что есть точки пересечения нуля как для l = 0, так и для l = 1, и что пересечение находится на +/-0,000819779. Эти точки пересечения нуля - это места, где pn(y) = 1/L.
Если затем построить этот ПФР, мы получим следующий график.
Тот же анализ можно провести и для других схем модуляции, и ниже показаны NRZ, PAM4, PAM6 и PAM8. Вероятность каждого источника шума уменьшается по мере увеличения модуляции, и количество источников шума увеличивается с увеличением модуляции.
Затем вы применяете уравнение 93A-40 для каждого соответствующего образца, и получаете правильное распределение. Анимация ниже показывает процесс формирования распределения. Черная линия указывает на рассматриваемую точку выборки n, и PDF обновляется по мере перемещения линии. Я нормализовал PDF так, чтобы пик был равен единице, чтобы анимация была чистой, но сумма PDF должна быть равна единице, чтобы она была действительной. Обратите внимание, как PDF распространяется по мере перемещения точки выборки вдоль шума между 5 и 6 нс. Это именно так, как отражения вызывают шум в системе. Уровень шума довольно мал, и обратите внимание, как это резко увеличивает ширину шума.
Следующий очевидный вопрос: «как модуляция влияет на количество шума?» Увеличение уровней повысит шум или понижение вероятности каждого уровня снизит общий шум? Оказывается, шума от ISI становится меньше по мере увеличения модуляции. На графике ниже показано PDF для этого эквализированного импульсного отклика для NRZ, PAM4, PAM6 и PAM8.
Это кажется указывающим на то, что увеличение модуляции снижает шум. Так почему бы нам просто не увеличить модуляцию, чтобы получить более высокие скорости передачи данных! На самом деле, это не так просто, и я расскажу об этом подробнее ниже.
Ранее я упоминал, что сумма PDF должна равняться единице, чтобы она была действительной, и если вы реализуете этот код в MATLAB, вы заметите что-то странное, когда L увеличивается.
L | Сумма p |
---|---|
2 | 1 |
4 | 1 |
6 | 0.026084 |
8 | 1.2496e-5 |
Что случилось? Оказывается, числа настолько малы, что двойная точность не достаточна для захвата PDF, и при его создании вы теряете некоторую информацию. К счастью, есть обходной путь для этого. Зная, что сумма должна быть равна единице, вы можете просто разделить PDF на сумму p, и вы заставите это поведение, и это именно то, что делает опубликованный IEEE код COM. В противном случае, вам бы потребовалось реализовать масштаб с более высокой точностью в MATLAB. Это бы замедлило код без всякой на то причины.
Код для создания этого распределения и примерный скрипт для его запуска были опубликованы здесь.
Мы видели, что мы можем использовать это уравнение интерференции, чтобы получить представление о том, как отражения вызывают деградацию сигнала. Давайте пойдем дальше и исследуем равенство обратной связи по решениям (DFE). Спецификация IEEE указывает, сколько образцов будет исправлено DFE. Переменная для образцов - Nb, и я установил Nb равным 12 для всех примеров в этой статье. Пока напряжение шума ниже порога, код COM считает эти образцы нулевыми и нейтрализует шум, но что происходит с другими образцами?
DFE, влияющие на образцы, отличные от доступного сигнального среза, обычно представляют собой либо идеальные функции прямоугольника, либо масштабированные импульсные отклики. Что произойдет, если вы возьмете амплитуды импульсов, определенные зелеными линиями, и используете их для устранения шума? Вы получите график ниже. Первый образец шума был устранен, но используемый для коррекции шума импульс также вызывает дополнительный шум!
Каскады DFE необходимо создавать последовательно, а не все сразу. Если мы сделаем это, то фактически у нас не будет шума в точке выборки, а на других точках останется остаточный шум, влияющий на сигнал в других срезах. Анимация ниже показывает этот процесс.
Теперь, когда у нас есть уравненный импульсный отклик с DFE и без него, мы можем просканировать точку выборки, чтобы создать статистические глазковые диаграммы и увидеть, как именно DFE влияет на качество сигнала. Ниже я привел глазковые диаграммы для NRZ, PAM4 и PAM6 для уравненных импульсных откликов и уравненных импульсных откликов с DFE. И, как и раньше, вы можете просканировать точки выборки и наблюдать за созданием глазковой диаграммы. Это делает наблюдения интересными, но в этом случае у меня есть только один след. Я думаю, это было бы более захватывающе, если бы я применил это к бэкплейну. Однако у меня нет шумного бэкплейна для анализа, так что на сегодня это все, что у меня есть.
Создание глазковой диаграммы PAM6
NRZ - До и после DFE (25G)
PAM4 - До и после DFE (50G)
PAM6 - До и после DFE (75G)
Давайте сделаем некоторые наблюдения из этих графиков. Во-первых, обратите внимание, насколько драматично улучшается глазковая диаграмма благодаря DFE. Уравненная глазковая диаграмма NRZ, вероятно, работала бы вполне нормально и без DFE, но глазки PAM4 и PAM6 полностью закрыты до внедрения DFE.
Второе наблюдение заключается в том, как драматично уменьшается ширина глазка при модуляции. На глаз (игра слов намеренна), ширина глазка уменьшается на 50% с каждой добавленной модуляцией. Это означает, что не только системе будет сложнее обнаружить правильное значение в направлении напряжения, но и точка выборки должна быть всё более стабильной с увеличением модуляции.
Наконец, обратите внимание на высоту глазка в PAM6. Опять же, это предполагает, что передатчик может идеально создать равномерно распределенные уровни и в системе нет шума. Добавление системного шума и асимметричных уровней сделает это очень сложным для разрешения с низким BER, и это объясняет, почему нам нужна коррекция ошибок прямого действия (FEC) при более высоких скоростях передачи данных и схемах модуляции. Без неё просто невозможно добиться передачи без ошибок.
На этом мы заканчиваем за этот квартал. Так что же мы узнали? Открытый код доступен на сайте MATHWORKS для создания PDF с искажениями амплитуды помех, и вы можете использовать эти PDF для создания глазковых диаграмм. Мы также наблюдали, как отражения создают шум сигнала, видя, как PDF с помехами расширяется при учете отражений от импульсной характеристики. Наконец, мы увидели, насколько сложно достичь безошибочной работы канала с увеличением модуляции. Надеюсь, это дает читателям понимание необходимости снижения отражений и увеличения технологий, таких как добавление FEC.
До следующего раза, берегите себя!
Инструменты проектирования в Altium Designer® содержат все, что вам нужно для работы с новыми технологиями. Обратитесь к нам сегодня, чтобы узнать, как мы можем улучшить ваш следующий дизайн печатной платы.