Прокис Дж. - Цифровая связь (1266501), страница 100
Текст из файла (страница 100)
Заметим, что' в если Ь увеличивается, пиковые амплитуды сигнала считывания уменьшаются и сдвигаются во 0 времени от желательных моментов 4 -з -2 -1 а времени. И~ Другими словами, импульсы интерферируют друг с другом, ограничивая таким образом плотность упаковки. Эта проблема служит мотивом для синтеза модуляционных кодов, которые берут исходную последовательность данных и преобразуют (кодируют) в другую 0Л 0.8 0.7 0.6 оз 04 0.З ол од Рис. 9.4.3.
Отклик считывающего устройства иа смеи1 знака перехода вероятностью 1/2 для каждого символа данных. Считывающий сигнал для положительного перехода (от — А до А ) является импульсом„который хорошо моделируется математически так о(1) = 1 (9.4,1) 1+(21/Т„) где 1;, определен как ширина импульса на уровне 50% его амплитуды, как показа о рис. 9.4.2. Аналогично, считывающий сигнал для отрицательного перехода (от А до -А) является импульсом — у(г) .
Величина Т„определяется характеристиками среды, считывающей и записывающей головками и расстоянием от головки до среды, последовательность, которая приводит к форме сигнала записи, в котором переходы амплитуд рассеиваются дальше друг от друга. Для примера, если мы используем ДБНП, закодированная последовательность на входе модулятора должна содержать один или больше нулей между единицами. Вторая проблема, встречающаяся в магнитной записи — это необходимость подавления (или минимизации) постоянной составляющей, содержащейся в модулированном сигнале (записывающем токе) и обусловленной частотными характеристиками считывающей системы и связанной с ней электроники.
Это требование также возникает в цифровой связи по кабельным каналам. Эту проблему можно преодолеть путем изменения (кодирования) последовательности данных на входе модулятора. Класс кодов, которые удовлетворяют этим целям (задачам)являются модуляционные коды, описываемые ниже. (1 К( 1 ( и Рис. 9.4.4. Последовательный конечный лвтомят дзя (й,к)-кодовой последовательности Видно, что выходной символ О последовательность принимает переходя от состояния Ь; до Л;„, ! < к . Выходной символ кодера может быть 1 только тогда, когда последовательность находится в состоянии Я,, а~+1< ! < к+1.
Когда последовательность находится в состоянии Як„, выходной символ всегда 1. Конечный автомат можно также представить через матрниу переход«в сост«лиат, обозначаемую Р, которая является квадратной (к+1) х(к+1) с элементами сУ«где Нп = 1 (! > ~1+ 1) ~! ()=!+1) (О (для других з, Я.
(9.4.2) ' В действительности их обычно называют ф, к) кодами, где и — максимальная длина послсдоввтельнык нулей. Мы использовали греческую букву к ил~осто Й, чтобы избежать путаницу с ранее использованным символом к. 490 Коды с ограниченным разбегом. Коды, которые имеют ограниченное число последовательных единиц или нулей в последовательности обычно называют к«дгьльн с.
«г1хитчениььм!кпбегом. Эти коды в общем описываются двумя параметрами, скажем ~ и к, где сl означает минимальное число нулей между двумя единицами в последовательности, а к означает максимальное число нулей между единицами в последовательности. Применяя их совместно с ДБНП модуляцией. влияние расположения с! нулей между последовательными единицами сводится к рассеянию переходов дальше друг от друга, тем самым сокращается перекрытие канальных откликов, вызванных последовательными переходами и таким образом сокращается МСИ.
Установка верхней границы к для пачки нулей обеспечивает достаточно частое появление переходов. так что информация символьной синхронизации может быть восстановлена из принимаемого модулированного сигнала. Коды с ограниченным разбегом обычно называют И,к) кодами. Ограниченную кодовую последовательность (тз,к) кода можно представить ! конечным автоматом — последовательной системой с ограниченным числом состояний, именно к+1 состояниями, обозначаемые как Я„1< / < к+1, как показано на рис.
9.4.4. 0 1 0 0 1 0 1 0 1 0 0 1 (9.4.3) 1 0 0 О Важным параметром любого (и, к) кода является число последовательностей определенной длины„скажем и, которые удовлетворяют ограничениям (и', к) кода. Если и позволено расти, то число последовательностей И(п), удовлетворяющих ограничениям ф, к) кода, также растет. Число информационных символов, которые можно однозначно представить посредством М(и) кодовых последовательностей, равно й =!!Оцз У(п)1, где 1х! означает наибольшее целое, содержащееся в х. Тогда максимальная скорость кода К= Ии. Пропускная способность ф, к) кода определяется так 1 С(И,к)= 1!ш — 1оц, У(и).
(9.4.4) и Ясно, что С(п',1г) — это максимально возможная скорость, которую можно достичь при ограничениях на (гl,к). Шеннон (1948) показал, что пропускная способность С(Н,/г) определяется так: С(а!,й) = 1оп, Х (9.4.5) где Х . — наибольшее вещественное собственное число матрицы состояний переходов В, Пример 9.4.2.
Определим пропускную способность ф,к)=(1,3) кода. Используя матрицу состояний переходов из примера (9.4.1) для (1,3) кода имеем -2, ! О О~ -2. ! О ! с1е1( — Х1) = де1 1 0 — Х 1 1 0 0 — Х =- Х" — Э.' — Х вЂ” 1= О. (9.4.б) Максимальный вещественный корень этого полинома найден и равен Х =14б5б. »»» Следовательно, пропускная способность кода С(1,3) = 1ои, Х „= 0,5515. Пропускная способность (Н,к) кодов для 0<д<б и 2<к<15 даны в таб .9.4,1, Видим, что С(>,1,к)<~2 для И>3 при любом к. Наиболее часто используемые коды для магнитной записи имеют с! < 2, следовательно, их скорость Л„по крайней мере ~.. Теперь обратим наше внимание на конструирование некоторых кодов с ограниченным разбегом, В общем (а~,к) коды можно конструировать или как коды фиксированной длины, или как коды переменной длины.
В коде фиксированной длины каждый символ или блок из к символов кодируется в блок из и > к символов. В принципе конструкция кода с фиксированной длиной стандартна. Для данной длины блока и мы можем выбрать подмножество кодовых слов, которые удовлетворяют специфическим ограничениям для кодов с ограниченным разбегом. Из этого 49! Пример 9.4.1. Определим матрицу переходов состояний для (И,к) = (1,3) кода. Код (1,3) имеет четыре состояния. Из рис. 9.4.4 получаем его матрицу переходов состояний, которая равна подмножества мы исключаем кодовые слова, которые не удовлетворяют ограничениям при их каскадном соединении.
Так мы получаем набор кодовых слов, которые удовлетворяют ограничениям, и могут использоваться в отображениях входных символов данных кодера. Операции кодирования и декодирования можно выполнить табличным методом. Табл. 9,4.1. Пропускная способность С(Ы,к) как функция от параметров И и к /г ~0 се! с/=2 ~3 с/=4 ~5 ~6 со ка ве бс кс ра м( Пример 9.4.3.
Синтезируем код с И=О, к=2 и длиной и=З и определим его эффективность. Из списка кодовых слов мы находим лять кодовых слов удовлетворяющих ограничениям (0,2) кода: (010), (011), (1 О 1), (110)„(111) Мы можем выбрать любые четыре из этих кодовых слов и использовать их для кодирования пар кодовых символов (00)„(0 1), (1 О). (! 1). Так мы получаем код со скоростью /гlн"= 2/3, который удовлетворяет условиям (О, 2) кода. и! о~ Код фиксированной длины в этом примере не очень эффективен.
Его пропускная способность С(0, 2) —" 0,8791„так что этот код имеет эффеклкявность Я„2/3 эффективность = " = = 0,76, С(Ы, й) 0,8791 Конечно, лучшие (О, 2) коды можно сконструировать увеличением длины блока п. В следующем примере, мы не накладываем ограничение на максимальное простирание нулей. Пример 9.4.4. Сконструируем код длиной н = 5 с параметрами Н =1, к = м В этом случае, мы не накладываем ограничения на число последовательных нулей. Для конструирования кода мы выберем из 32 возможных кодовых слов те, которые удовлетворяют ограничению д = 1. Имеется восемь таких кодовых слов, что подразумевает, что мы можем кодировать три информационных символа с каждым кодовым словом.
Код дан в таблице 9.4.2. Заметим. что первый символа каждого кодового слова есть О, в то время как последний символ может быть или О, или 1. Следовательно, когда эти кодовые слова каскадно соединяются, ограничение 4 =1 удовлетворяется. Этот код имеет скорость Л, = 3/5. Если ее сопоставить с пропускной способностью К! 2 .8791 .4057 3 .9468 .5515 4 .9752 ,6174 5 .9881 .6509 6 .9942 .6690 7 .9971 .6793 8 .9986 .6853 9 .9993 .6888 1О .9996 .6909 11 .9998 .6922 12 9999 .6930 13 .9999 .6935 14 .9999 .6938 15 .9999 .6939 1 000 .6942 .2878 .4057 .2232 .4650 ,3218 .4979 .3746 5174 .4057 .
5293 .4251 .5369 .4376 5418 .4460 .5450 .4516 .5471 .4555 .5485 .4583 .5495 .4602 .5501 .4615 .5515 .4650 .1823 .2269 .3142 .3432 .3620 .3746 .3833 .3894 .3937 .3968 .3991 ,4057 .1542 .2281 .2709 .2979 .3158 .3285 .3369 .3432 .3478 .3513 .3620 .1335 .1993 .2382 .2633 .2804 .2924 .3011 .3074 .3122 .3282 Таблица 9.4.2. Код с фиксированной длиной, Н = 1, к =. сс Входные символы данных Выходные коли ованные последовательности 000 001 010 011 100 101 110 111 00000 00001 00010 00100 00101 01000 01001 01010 Метод конструирования кодов, описанный выше в двух примерах, приводит к кодам ( Н, к) фиксированной длины, которые независимы по состояниям.
Под независимостью состояний мы имеем в виду, что кодовые слова кода фиксированной длины могут быть каскадно объединены без нарушения ограничений на (4,к) коды. В общем, когда д велико, коды (с/,к) фиксированной длины с независимостью по состояниям требуют большую длину блока символов. Возможны более простые (короткой длины) коды, в которых допустима зависимость состояний и переменная длина кодовых слов. Ниже мы рассмотрим коды, для которых как длина входных блоков на кодер, так и выходные блоки могут иметь переменную длину.
Для однозначного декодирования кодовых слов в приемнике коды переменной длины должны удовлетворять префиксному усчовию. списанному в главе 3. Пример 9.4.5. Очень простым уникальным декодируемым кодом переменной длины с параметрами а' = О, к = 2 является код 0-+ 01 10 — +10 11 — + 11. Код в этом примере имеет фиксированный размер выходного блока, но переменный размер входного блока. В общем, входные и выходные блоки могут иметь переменные размеры. Следующий пример иллюстрирует последний случай. Пример 9.4.6. Сконструируем код (2,7) с переменными размерами блока. Это несложный код.