Uploaded by Dan Bro

Разработка в среде LabView свёрточного кодера с R=1/2.

advertisement
Разработка в среде LabViewсвёрточногокодера с R=1/2.
Содержание:
Введение
3
1. Свёрточный код
4
2. Описание алгоритма построения и функционирования схемы
6
Вывод по проделанной работе
8
Список литературы
8
Введение
LabVIEW
(англ.
Laboratory
Virtual
Instrumentation
Engineering
Workbench) — это среда разработки и платформа для выполнения программ,
созданных на графическом языке программирования «G» фирмы National
Instruments (США).LabVIEW — это кроссплатформенная графическая среда
разработки приложений. LabVIEW — в принципе универсальный язык
программирования. И хотя этот продукт порой тесно связан с аппаратным
обеспечением National Instruments, он тем не менее не связан с конкретной
машиной. Существуют версии для Windows, Linux, MacOS. Исходные тексты
переносимы, а программы будут выглядеть одинаково во всех системах. Код,
сгенерированный LabVIEW также может быть также исполнен на Windows
Mobile или PalmOS. Этот язык может с успехом использоваться для создания
больших систем, для обработки текстов, изображений и работы с базами
данных. Первая версия LabVIEW была выпущена в 1986 году для Apple
Macintosh. В LabVIEW разрабатываемые программные модули называются
«Virtual Instruments» (Виртуальные Инструменты) или по-простому VI. Они
сохраняются в файлах с расширением *.vi. VIs – это кирпичики, из которых
состоит LabVIEW – программа. Любая LabVIEW программа содержит как
минимум один VI. В терминах языка Си можно достаточно смело провести
аналогию с функцией с той лишь разницей, что в LabVIEW одна функция
содержится
в
одном
файле
(можно
также
создавать
библиотеки
инструментов). Само собой разумеется, один VI может быть вызван из
другого VI. В принципе каждый VI состоит из двух частей — БлокДиаграмма (Block Diagram) и Лицевая Панель (Front Panel). Блок-диаграмма
— это программный код (точнее визуальное графическое представление
кода), она содержит функциональные узлы, являющиеся источниками,
приёмниками и средствами обработки данных. Также компонентами блочной
диаграммы являются терминалы («задние контакты» объектов лицевой
панели) и управляющие структуры. Функциональные узлы и терминалы
объединены в единую схему линиями связей. Передняя панель — это
интерфейс, он содержит средства ввода-вывода: кнопки, переключатели,
светодиоды, верньеры, шкалы, информационные табло и т. п. Они
используются человеком для управления виртуальным прибором, а также
другими виртуальными приборами для обмена данными.
LabVIEW поддерживает огромный спектр оборудования различных
производителей и имеет в своём составе (либо позволяет добавлять к
базовому пакету) многочисленные библиотеки компонентов:
для подключения внешнего оборудования по наиболее распространённым
интерфейсам и протоколам (RS-232, GPIB-488, TCP/IP и пр.):
1. Для удалённого управления ходом эксперимента;
2. Для управления роботами и системами машинного зрения;
3. Для генерации и цифровой обработки сигналов;
4. Для применения разнообразных математических методов обработки
данных;
5. Для визуализации данных и результатов их обработки (включая 3Dмодели);
6. Для моделирования сложных систем;
7. Для хранения информации в базах данных и генерации отчётов;
8. Для взаимодействия с другими приложениями в рамках концепции
COM/DCOM/OLE.
1. Свёрточный код
Свёрточный код — это корректирующий ошибки код, в котором:
1. На каждом такте работы кодера
последовательности
k символов входной полубесконечной
преобразуются
в
n>kсимволов
выходной
последовательности;
2. В преобразовании также участвуютmпредыдущих символов.
Свёрточные коды используются для надежной передачи данных:
видео, мобильной связи, спутниковой связи. Они используются вместе с
кодом Рида — Соломона и другими кодами подобного типа. До изобретения
турбо-кодов
такие
конструкции
были
наиболее
действенными
и
удовлетворяли пределу Шеннона (максимальная скорость передачи, для
которой имеется возможностьисправить ошибки в канале с заданным
отношением сигнал/шум). Также свёрточное кодирование используется в
протоколе
802.11a
на физическом MAC-уровне для достижения
равномерного распределения 0 и 1 после прохождения сигнала через
скремблер,
вследствие
увеличивается
в
два
чего
раза
и,
количество
передаваемых
следовательно,
мы
можем
символов
добиться
благоприятного приема на принимающем устройстве.
Свойства свёрточных кодов:
1. Свойство линейности и постоянства во времени;
2. Длина кодового ограничения – количество кадров, которыеучитываются
при кодировании m, может быть бесконечной;
3. Информационная длинаk = k0 (m + 1);
4. Кодовая длина n = n0 (m + 1)= k (n0 / k0);
5. Свёрточный код может задаваться схемой кодера.
6. Скорость свёрточного кодера R= k0 / n0, где k0 – число информационных
элементов на входе кодера;n0 – число выдаваемых информационных
элементов на выходе кодера за один такт.
Рисунок 1 - Схема свёрточного кодера
со
скоростью R=1/2 .
, где ij(1) - входная информационная последовательность; tj(1) - входная
информационная последовательность для подачи в декодер; tj(2) - проверочная
информационная последовательность.
Для реализации кодирующего устройства сверточных кодов,удобно
использовать регистры сдвига и сумматоры по модулю 2.
Развитие теории свёрточных кодов происходило в трёх направлениях в
соответствии с тремя важнейшими методами декодирования свёрточных
кодов: метода порогового декодирования, метода декодирования по
максимуму правдоподобия и метода последовательного декодирования.
Рассмотрим метод порогового декодирования.
3. Описание алгоритма построения и функционирования схемы
Рисунок2 - Блок-диаграмма свёрточного
кодера.
Свёрточный кодер состоит из последовательно соединённых регистров
сдвига и сумматоров по модулю 2. Из входной информационной
последовательности
формируется
закодированная
(проверочная)
информационная последовательность. В канал передаётся не только
проверочная последовательность с выхода кодера, но и информационная, не
прошедшая кодирование. Передача сообщения со внесённой избыточностью
может осуществляться по одному каналу различными способами, в данном
же случае информационная и проверочная последовательности выводятся в
два параллельных независимых канала.
Рисунок3 - Лицевая панель свёрточного кодера.
Таким образом, после преобразования информационной входной
последовательности кодер передаёт в канал совокупность как изначальных
битов, так и проверочную последовательность. Ошибки и в той, и в другой
части сообщения до определённой степени исправляются различными
алгоритмами декодирования. Возможность исправления ошибки обусловлена
избыточностью, вносимой проверочной частью сообщения.
Вывод
В ходе выполнения данной курсовой работы все поставленные передо
мной задачи были решены. Навыки работы в среде программирования
LabView были выведены на более высокий уровень, что позволит
использовать данную среду в дальнейшем. Приобретены теоретические
знания в помехоустойчивом кодировании, в частности, касательно
свёрточных кодов и алгоритмов их декодирования.
Список литературы
1. Евдокимов Ю. К., Линдваль В. Р., Щербаков Г. И. LabVIEW для
радиоинженера: от виртуальной модели до реального прибора.
Практическое руководство для работы в программной среде LabVIEW.
Москва, 2007. – 398c.
2. Магда Ю. С. LabVIEW: практический курс для инженеров и
разработчиков.Москва, 2012. – 203с.
3. Касами Т., Токура Н., Ивадари Ё., Инагаки Я. - Теория кодирования.
Москва 1978 - 577с.
8
Download