Сверточные коды. 4 Дисер с 15 СК и Мягкое дек с 55. Программноаппаратная реализация оптимального алгоритма декодирования каскадных кодов на базе кодов рида соломона в адаптивных системах обмена данными
Скачать 5.5 Mb.
|
Выводы по главеВ разрабатываемой СПК в качестве внутреннего кода целесообразно выбрать сверточный код (171, 133), так как он подходит для работы в байтовом поле, используемом на внешней ступени кодирования. Для декодирования данного кода будет использоваться алгоритм Витерби с обратным проходом решетки. Механизм обратного прохода оптимален для микросхемной реализации декодера, так как не требует больших временных затрат на чтение и перезапись регистров метрик и выживших путей. Такой подход позволяет значительно сократить критический путь, и, как следствие, повысить тактовую частоту устройства. Минусом алгоритма является увеличение латентности декодера, что при непрерывной обработке сигналов особых негативных влияний на работу декодера не оказывает. В качестве внешнего кода выбран код РС, работающий в байтовом поле GF(28) Узким местом в декодировании этого кода является алгоритм поиска полинома локаторов ошибки и полинома значений ошибки. Предлагаемая архитектура miBM для решения ключевого уравнения позволила привести алгоритм к регулярному виду и определить необходимые коэффициенты обоих полиномов (полином локаторов ошибок и полином значений ошибок) с помощью специального сдвигового регистра. Данная архитектура позволила сократить критический путь и время, затрачиваемое на всю процедуру декодирования, по сравнению с классическим алгоритмом iBM. Архитектура miBM оптимизирована под реализацию адаптивного кодека РС. Для этого сдвиговый регистр KES-блока строится из расчета на наиболее помехоустойчивый код из набора реализуемых кодеков. При необходимости смены режима кодирования, меняются только внутренние связи этого регистра, а его структура остается неизменной. Таким образом, сложность адаптивного KES-блока равняется сложности наиболее помехоустойчивого KES-блока вне зависимости от количества реализуемых промежуточных режимов кодирования. Как известно, при декодировании кодов РС используется арифметика конечных полей Галуа. Так как эти операции используются во всех блоках кодека, их оптимизация под аппаратную реализацию имеет большое значение. Предложенная архитектура вычислителей позволяет реализовать их на вентильном уровне. При этом наибольшую сложность представляет реализация аппаратного умножителя. Схема умножителя имеет относительно большую длину критического пути, но при этом меньшую, чем при реализации табличного метода умножения. Кроме того, предложенная схема умножителя позволяет конвейеризировать вычисления, разбив их на несколько тактов. При этом критический путь будет значительно минимизирован. Предложенный алгоритм адаптации позволяет передавать данные на максимальной скорости при заданном уровне достоверности информации. Алгоритм подстройки кодеков полностью автоматизирован, однако имеет также ручной режим переключения кодов. СПК работает в двух основных режимах: ШПС и РС и набора подрежимов для кода РС. Количество подрежимов не регламентировано и подбирается исходя из параметров канала связи. Режим ШПС, как наиболее помехоустойчивый, используется для синхронизации приемного и передающего оборудования и передачи режима. Кроме того, режим ШПС необходим при воздействии на канал преднамеренной помехи, при ухудшении качества приема вследствие атмосферных явлений или при значительном удалении абонентов друг от друга. Для менее зашумленных каналов связи используется режим РС с набором подрежимов. Этот режим необходим для передачи информации на высокой скорости, либо для передачи данных, не требующих гарантированной доставки, например, для видео- или телефонной связи. ГЛАВА 4.ПРОВЕДЕНИЕ ИСПЫТАНИЙ РАЗРАБОТАННОЙ СИСТЕМЫ ПОМЕХОУСТОЙЧИВОГО КОДИРОВАНИЯ Выбор элементной базы и технических средствПеред началом испытаний разработанной СПК необходимо определиться с элементной базой и техническими средствами, с помощью которых эти испытания будут проводиться. Важнейшую роль в этом процессе занимает выбор ПЛИС, а также процессора Nios-II, который будет ею управлять. ПЛИС – центральный элемент всей системы, на котором будет реализована сама СПК [75, 84]. Выбирать ПЛИС необходимо с запасом по логической емкости и по допустимым частотам для проверки правильности функционирования разработанных алгоритмов. Конфигурация ПЛИС, содержащая весь проект, занимает 65342 логических ячеек, 2376 бит памяти и 144 блока аппаратного умножения. Для проведения лабораторных испытаний была выбрана макетная плата Stratix III 3SL150 Development Board (рисунок 4.1). Ключевой элемент платы – ПЛИС фирмы ALTERA семейства Stratix III. ПЛИС содержит 142000 логических элемента, 5499 кбит памяти и 384 блока аппаратного умножения. Этих параметров более чем достаточно для реализации проекта. Кроме того, макетная плата содержит дополнительные элементы, такие как кварцевые генераторы тактового сигнала на 125 МГц и 50 МГц, внешнюю оперативную память DDR2 для работы процессора общей емкостью 16 Мбайт, а также LCD-дисплеи наборы кнопок, переключателей и другой периферии [71]. Для проведения лабораторных испытаний необходимо иметь две такие платы, соединенные между собой высокочастотным кабелем. Для имитации шумов в канале связи в одну из этих линий связи с помощью сумматора замешивается паразитный сигнал с регулируемыми параметрами. В качестве шумопостановщика выбран генератор сигналов Agilent E8267D PSG (рисунок 4.2).
В ходе лабораторных испытаний были подобраны оптимальные параметры кодеков и режимы их работы. Это привело к уменьшению объема вычислительных мощностей, необходимых для реализации СПК, а также к сокращению критических путей в проекте. Благодаря этому, стали возможными выбор менее дорогой ПЛИС для проведения натурных испытаний и разработка конечной конфигурации модуля на ее основе. В качестве такой ПЛИС была выбрана ПЛИС семейства Cyclone III, входящая в состав макетной платы Cyclone III Development Board (рисунок 4.3). Периферия платы аналогична периферии платы Stratix III 3SL150 Development Board. Рисунок 4.3 – Макетная плата Cyclone III Development Board |