Правильное определение перехода в линейном кодировании

Здравствуйте, у меня есть следующий вопрос, и он говорит:введите описание изображения здесь

Я в принципе не могу понять это решение.

Мои вопросы:

  1. разве это не последовательность из 4 нулей, за которыми следуют 4 единицы? (в ответе 4 1, за которыми следуют 4 0), поскольку прямоугольник под средней линией представляет 0 в NRZ?

  2. если вы видите середину этого прямоугольного блока, я думаю, что есть один переход (из того, что я узнал, определение перехода — это то, что происходит, когда существует 0-> 1 или 1-> 0) в обведенной области, показанной на следующем рисунке:введите описание изображения здесь

Но почему в ответе говорится, что переходов нет?

  1. Также на приведенном выше рисунке выглядит как полярный NRZ, но не NRZ. это точно правильный рисунок?

Большое спасибо.

В первой строке, которую вы процитировали, говорится: «Передает ноль с напряжением +1 и 1 с напряжением -1». Часто уровни напряжения на сигнальном проводе инвертируются относительно логического уровня.
Это означает, что в шаблонах данных, состоящих из большого количества единиц или нулей, «нет переходов». Сравните это с манчестерским кодированием (в качестве примера), которое гарантирует переход для каждого бита, или 8b10b, которое гарантирует не менее 3 (IIRC) переходов для каждых 8 бит данных.
@ThePhoton означает ли это, что хотя есть один переход, который я обвел кружком, но они просто описывают так, как «нет переходов», потому что количество переходов на изображении выше очень мало, всего один, по сравнению с манчестерским кодированием. ?
Нет переходов, когда данные не изменяются с 1 на 0. Переход, который вы обвели, происходит из-за изменения данных. Они означают, что вы должны прочитать это предложение вместе с предыдущим: «Длинная последовательность единиц или нулей создает длительный период, в течение которого уровень сигнала не изменяется [и в течение этого периода] нет переходов, помогающих схеме синхронизации. .."

Ответы (2)

  1. -1 представляет собой логическую 1, а +1 представляет собой логический 0 - прочитайте вопрос (в своем вопросе) и подумайте об этом еще немного.
  2. да вы правы
  3. Ответ заключается в том, что NRZ может создавать длинные последовательности, в которых нет переходов. Это не обязательно относится к изображению в вашем вопросе, но все зависит от того, что произошло до и после.

.

Для справки, вот график сигнала:

Полярность определяется как + для 0 и - для 1. Таким образом, на этом графике показана последовательность битов 11110000. Обратите внимание, что полярность является одним из вариантов конструкции. это можно было бы сделать и так, и так, но в этом примере ясно сказано, что отрицательное напряжение соответствует 1, а положительное — 0. В этом нет ничего плохого.

Важно отметить, что во время длинной последовательности одного и того же бита сигнал является плоским. На приведенной выше диаграмме показаны линии, обозначающие границы битов, но на самом деле их нет в сигнале.

Подумайте о том, как приемник должен декодировать этот сигнал. Когда есть переход, как в середине приведенного выше примера, он знает, что это начало бита. Однако единственный способ узнать, где находятся последующие биты без дальнейших переходов, — это синхронизация. Независимо от того, насколько хороши часы передатчика и приемника, в конечном итоге они рассинхронизируются более чем на ½ бита. Когда это происходит, приемник фактически производит выборку линейного уровня для каждого бита в соседнем бите.

Приведем к этому несколько цифр. Предположим, что и передатчик, и приемник используют кварцевые кристаллы для синхронизации, хорошо работающие до 50 PPM. Это очень легко получить. Таким образом, общая ошибка между ними может достигать 100 частей на миллион. 100 PPM (частей на миллион, 10 -6 ) - это 1 часть на 10 4 = 10 000.

½ бита времени — это гарантированный отказ от перекоса. Допустим, вы никогда не хотите, чтобы перекос превышал половину этого или ¼ битного времени. С временной ошибкой 1 бит на 10 000 бит это означает, что вы можете отправить не более 2500 бит без повторной синхронизации и при этом сказать, что в пределах спецификации. Если вы готовы потребовать, чтобы обе стороны использовали кристаллы, то теоретически вам это может сойти с рук.

Если вы хотите, чтобы ваша линия связи работала, когда обе стороны используют RC-генераторы с точностью до 2 %, то общее несоответствие может составлять 4 %, или 1 часть из 25. Ошибка времени ¼ бита может возникнуть только после 6 ¼ последовательных битов такая же полярность. Поскольку в этом протоколе биты поступают целыми порциями, это означает, что вы не можете последовательно отправлять более 6 битов одной и той же полярности. К 7-му биту приемник уже мог сэмплировать неправильный бит.

Кажется, этот пример был предназначен для того, чтобы вы поняли, что строгое кодирование NRZ не работает в произвольном случае.

Следующий урок может быть о том, как настроить NRZ, чтобы сделать его полезным на практике. Я не собираюсь писать здесь книгу, поэтому дам вам две вещи для поиска:

  1. UART-протокол. Это отправляет биты порциями (обычно) по 8. Это позволяет повторно синхронизировать каждую порцию, имея начальный бит перед порцией, а затем стоповый бит после порции. Стоповый бит гарантирует состояние линии, так что начало следующего стартового бита является переходом.

  2. Немного начинки. Это распространенный термин, я уверен, вы найдете там много о нем. По сути, вы никогда не отправляете более некоторого максимального количества одинаковых битов подряд. Когда вы достигаете этого числа, вы искусственно добавляете противоположный бит в поток. Это вызывает переход, который позволяет приемнику повторно синхронизировать свои часы. Получатель знает алгоритм заполнения, поэтому может удалить лишние биты после приема.

Там будет много об этих двух примерах модифицированного NRZ в реальном использовании.