Разработка в среде 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