Главная страница
Навигация по странице:

  • Шаг 0

  • Шаг b

  • Скремблирование

  • Контрольные вопросы

  • Понеаснни. Моделирование систем связи в matlab


    Скачать 2.78 Mb.
    НазваниеМоделирование систем связи в matlab
    АнкорПонеаснни
    Дата06.10.2022
    Размер2.78 Mb.
    Формат файлаpdf
    Имя файла634_Nosov_V.I._Modelirovanie_sistem_svjazi_v_Matlab_.pdf
    ТипУчебное пособие
    #716984
    страница7 из 15
    1   2   3   4   5   6   7   8   9   10   ...   15
    А Предыдущее состояние
    В Текущее состояние
    А
    В
    50 25 51 57 00 11 10 01 48 24 49 56 00 11 10 01 52 26 53 58 00 11 10 01 54 27 55 59 00 11 10 01 56 28 57 60 00 11 10 01 58 29 59 61 00 11 10 01 60 30 61 62 00 11 10 01 62 31 63 63 00 11 10 01
    б) Диаграммы переходов

    66 маршрут a-b-c-b-d-c генерируется входной последовательностью 1011000 и дает на выходе последовательность 11 10 00 01 01 11 00. При некорректном переходе, например а-с, декодер пытается исправить ошибку, определив, какому входу с наибольшей вероятностью соответствует некорректный выход.
    Для сверточных кодов разработано большое количество алгоритмов исправления ошибок. Пожалуй, важнейшим из них является алгоритм
    Витерби (Viterbi code). По сути, метод Витерби – это сравнение полученной последовательности со всеми возможными переданными последовательностями. Алгоритм подбирает маршрут через решетчатую диаграмму, кодированная версия которого отличается от полученной наименьшим числом элементов. Как только выбран правильный маршрут, декодер может восстановить входные биты данных из выходных битов кода.
    В зависимости от метрики, используемой для определения отличия полученной и истинной последовательностей, существует несколько разновидностей алгоритма Витерби. Для представления идеи алгоритма используем широко распространенную метрику – расстояние Хэмминга.
    Представим полученную закодированную последовательность в виде слова w = w
    0
    w
    1
    w
    2
    , ... и попытаемся найти наиболее вероятный маршрут через решетчатую диаграмму. Для каждого момента времени i и для каждого состояния перечислим активный маршрут (или маршруты) через диаграмму к заданному состоянию. Под активным маршрутом подразумевают корректный маршрут через решетчатую диаграмму, для которого расстояние
    Хэмминга до полученного слова минимально до момента времени i. В момент времени i пометим каждое состояние расстоянием от его активного маршрута до полученного слова.
    Используется следующее соотношение
    расстояние до полученного слова = расстояние на предыдущем шаге +
    расстояние для последнего перехода.
    Алгоритм выполняется в (b + 1) шаг, где b – предопределенный размер окна. Для кода (n, k, K)декодирование первого выходного n-битового блока
    (w
    0
    w
    1
    w
    2
    ...w
    n-1
    )проходит следующим образом.
    Шаг 0. Начальное состояние решетки в момент времени 0 помечается нулем, поскольку на этот момент маршруты не отличаются.
    Шаг i+1. Для каждого состояния S в момент времени (i + 1) с помощью уравнения находятся все ведущие к нему активные маршруты.
    Состояние S помечается длиной данного маршрута (маршрутов).
    Шаг b. Алгоритм прекращается в момент времени b. Если в этот момент времени все активные маршруты начинаются с одного отрезка, и метка этого отрезка – x
    0
    x
    1
    x
    2
    x
    n-1
    первый кодовый блок w
    0
    w
    1
    w
    2
    w
    n-1

    67 исправляется на x
    0
    x
    1
    x
    2
    x
    n-1
    . Если же существуют два активных начальных отрезка, ошибка является неисправимой.
    После принятия и исправления, при необходимости, первого кодового блока окно декодирования сдвигается на n бит вправо, после чего выполняется декодирование следующего блока.
    Сверточные коды дают возможность достичь хорошей производительности в каналах с шумом, где искаженной является большая доля переданных битов. Следовательно, данные коды все шире используются в беспроводных приложениях [2].
    Как правило, декодирование по алгоритму Витерби используется в двоичном канале с жестким или мягким 2-битовым квантованным выходом.
    Длина кодового ограничения варьируется от 3 до 9, причем степень кодирования кода редко оказывается меньше 1/3, и память путей составляет несколько длин кодового ограничения. Памятью путей называется глубина входных битов, которая сохраняется в декодере. На рисунке 2.21 показаны характерные результаты моделирования достоверности передачи при декодировании по алгоритму Витерби с жесткой схемой квантования [3].
    Каждое увеличение длины кодового ограничения приводит к улучшению требуемого значения E
    b
    /N
    0
    на величину, равную 0,5 дБ, при P
    B
    = 10
    -5
    На рисунке 2.22 показаны типичные кривые, отображающие зависимость Р
    В
    от E
    b
    /N
    0
    для двух распространенных схем – декодирования по алгоритму Витерби и последовательного декодирования. Здесь сравниваются их характеристики при использовании когерентной демодуляции BPSK в канале с AWGN. Сравниваются кривые для декодирования по алгоритму
    Витерби (степень кодирования 1/2 и 1/3, К = 7, жесткое декодирование), декодирования по алгоритму Витерби (степень кодирования 1/2 и 1/3, К =7,
    мягкое декодирование) и последовательного декодирования (степень кодирования 1/2 и 1/3, К = 41, жесткое декодирование). Из рисунке 2.22 можно видеть, что при последовательном декодировании можно достичь эффективности кодирования порядка 8 дБ при Р
    В
    = 10
    -6
    .Поскольку в работе
    Шеннона (Shannon) предсказывается потенциальная эффективность кодирования около 11 дБ, по сравнению с некодированной передачей с модуляцией BPSK, похоже, что, в основном, теоретически достижимые возможности уже получены [3].
    2.4.2 Чередование блоков
    В предыдущих разделах мы подразумевали, что у канала отсутствует
    память, поскольку рассматривались коды, которые должны были противостоять случайным независимым ошибкам. Канал с памятью – это такой канал, в котором проявляется взаимная зависимость ухудшений передачи сигнала.

    68
    Рисунок 2.21 – Зависимость вероятности появления битовой ошибки от
    E
    b
    /N
    0
    при степени кодирования кодов 1/2; используется когерентная модуляция BPSK в канале BSC, декодирование согласно алгоритму Витерби и 32-битовая память путей
    Рисунок 2.22 – Вероятности появления битовых ошибок для различных схем декодирования по алгоритму Витерби и последовательного декодирования при когерентной модуляции BPSK в канале с AWGN

    69
    Канал, в котором проявляется замирание вследствие многолучевого
    распространения, когда сигнал поступает на приемник по двум или более путям различной длины, будет примером канала с памятью. Следствием является различная фаза сигналов, и в итоге, суммарный сигнал оказывается искаженным. Таким эффектом обладают каналы мобильной беспроводной связи, так же как ионосферные и тропосферные каналы. В некоторых каналах также имеются коммутационные и другие импульсные помехи (например, телефонные каналы или каналы с создаваемыми импульсными помехами).
    Все эти ухудшения коррелируют во времени и, в результате, дают статистическую взаимную зависимость успешно переданных символов.
    Иными словами, искажения вызывают ошибки, имеющие вид пакетов, а не отдельных изолированных ошибок.
    Если канал имеет память, то ошибки не являются независимыми, одиночными случайно распределенными. Большинство блочных и сверточных кодов разрабатывается для борьбы с независимыми случайными ошибками. Влияние канала с памятью, на кодированный таким образом сигнал приведет к ухудшению достоверности передачи. Существуют схемы кодирования для каналов с памятью, но наибольшую проблему в этом кодировании представляет расчет точных моделей сильно нестационарных статистик таких каналов. Подход, при котором требуется знать только объем
    памяти канала, а не его точное статистическое описание, использует временное разнесение или чередование битов.
    Чередование битов кодированного сообщения перед передачей и обратная операция после приема приводят к рассеиванию пакета ошибок во времени: таким образом, они становятся для декодера случайно распределенными. Поскольку в реальной ситуации память канала уменьшается с временным разделением, идея, лежащая в основе метода чередования битов, заключается в разнесении символов кодовых слов во времени. Получаемые промежутки времени точно так же заполняются символами других кодовых слов. Разнесение символов во времени эффективно превращает канал с памятью в канал без памяти и, следовательно, позволяет использовать коды с коррекцией случайных ошибок в канале с импульсными помехами.
    Устройство чередования смешивает кодовые символы в промежутке нескольких длин блоков (для блочных кодов) или нескольких длин кодового ограничения (для сверточных кодов). Требуемый промежуток определяется длительностью пакета. Подробности структуры битового перераспределения должны быть известны приемнику, чтобы иметь возможность выполнить восстановление порядка битов перед декодированием.
    Идея чередования битов используется во всех блочных и сверточных кодах. Обычно применяются два типа устройств чередования – блочные и сверточные.

    70
    Блочное чередование
    Блочное устройство чередования принимает кодированные символы блоками кодера, переставляет их, а затем передает измененные символы на модулятор. Как правило, перестановка блоков завершается заполнением столбцов матрицы M строками и N столбцами (M N)кодированной последовательности. После того как матрица полностью заполнена, символы подаются на модулятор (по одной строке за раз), а затем передаются по каналу. В приемнике устройство восстановления выполняет обратные операции; оно принимает символы из демодулятора восстанавливает исходный порядок битов и передает их на декодер. Символы поступают в массив устройства восстановления по строкам и считываются по столбцам.
    Ниже перечисляются наиболее важные характеристики блочного устройства:
    1. Пакет ошибок, который содержит меньше N последовательных канальных символов, дает на выходе устройства восстановления исходного порядка символов ошибки, разнесенные между собой, по крайней мере, на М
    символов;
    2. Пакет из bN ошибок, где b > 1, дает на выходе устройства восстановления пакет, который содержит не меньше b символьных ошибок.
    Каждый из пакетов ошибок отделен от другого не меньше, чем на М – b
    символов. Запись x означает наименьшее целое число, не меньшее x, а запись x – наибольшее целое число, не превышающее х;
    3. Периодическая последовательность одиночных ошибок, разделенных N символами, дает на выходе устройства восстановления одиночные пакеты ошибок длиной М;
    4. Прямая задержка между устройствами чередования и восстановления равна приблизительно длительности 2MN символов. Если быть точным, перед тем как начать передачу, нужно заполнить лишь M(N - 1)
    + 1 ячеек памяти (как только будет внесен первый символ последнего столбца массива М х N). Соответствующее время нужно приемнику, чтобы начать декодирование. Значит, минимальная прямая задержка будет составлять длительность (2MN – 2M + 2) символов, не учитывая задержку на передачу по каналу;
    5. Необходимая память составляет MN символов для каждого объекта
    (устройств чередования и восстановления исходного порядка). Однако массив M
    N нужно заполнить (по большей части) до того, как он будет считан. Для каждого объекта нужно предусмотреть память для 2MN
    символов, чтобы опорожнить массив M
    N, пока другой будет наполняться, и наоборот.
    Сверточное чередование

    71
    Сверточные устройства чередования были предложены Рамси (Ramsey) и Форни (Forney). Схема, предложенная Форни, показана на рисунке 2.23.
    Кодовые символы последовательно подаются в блок из N регистров; каждый последующий регистр может хранить на J символов больше, чем предыдущий. Нулевой регистр не предназначен для хранения (символ сразу же передается). Скаждым новым кодовым символом коммутатор переключается на новый регистр, и кодовый символ подается на него до тех пор, пока наиболее старый кодовый символ в регистре не будет передан на модулятор/передатчик. После (N – 1)-го регистра коммутатор возвращается к нулевому регистру и повторяет все снова. После приема операции повторяются в обратном порядке. И вход, и выход устройств чередования и восстановления должны быть синхронизированы.
    На рисунке
    2.23 показан пример простого сверточного четырехрегистрового (J = 1) устройства чередования, загруженного последовательностью кодовых символов. Одновременно представлено синхронизированное устройство восстановления, которое передает обработанные символы на декодер. Рабочие характеристики сверточного устройства чередования сходны с параметрами блочного устройства.
    J
    2J
    (N-2)J
    (N-1)J
    (N-1)J
    (N-2)J
    2J
    J
    Канал
    От кодера
    К декодеру
    Рисунок 7.5 Структурная схема сверточного перемежителя - деперемежителя
    Рисунок 2.23 – Реализация регистра сдвига для сверточного устройства чередования/восстановления
    Важным преимуществом сверточного устройства перед блочным является то, что при сверточном чередовании прямая задержка составляет
    M(N – 1) символов при M = NJ, а требуемые объемы памяти - M(N - 1)/2на обоих концах канала. Очевидно, что требования к памяти и время задержки снижаются вдвое, по сравнению с блочным чередованием [3].

    72 2.4.3 Скремблирование
    Скремблирование наряду с избыточным кодированием является способом логического кодирования информации. Одна из задач скремблирования – уменьшить длину последовательности нулей или единиц входного сигнала, поскольку длинная последовательность может вызвать проблемы синхронизации на приемном конце. Методы скремблирования заключаются в побитном вычислении результирующего кода на основании битов исходного кода и полученных в предыдущих тактах битов результирующего кода. Например, скремблер может реализовывать следующее соотношение
    5 3
    i
    i
    i
    i
    B
    B
    A
    B
    (3.34)
    Здесь B
    i
    – двоичная цифра результирующего кода, полученная на i-м такте работы скремблера, B
    i-3
    и B
    i-5
    – двоичные цифры результирующего кода, полученные на предыдущих тактах работы скремблера, соответственно на 3 и на 5 тактов ранее текущего такта, и объединенные операцией исключающего ИЛИ.
    После получения результирующей последовательности приемник передает ее дескремблеру, который восстанавливает исходную последовательность на основании обратного соотношения
    i
    i
    i
    i
    i
    i
    i
    A
    B
    B
    B
    B
    A
    B
    B
    B
    С
    5 3
    - i
    5 3
    - i
    5 3
    - i
    )
    (
    (3.35)
    Различные алгоритмы скремблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5 и 23 позиции, а при передаче данных от абонента в сеть – со сдвигами 18 и 23 позиции.
    Существуют и более простые методы борьбы с последовательностями нулей, также относимые к классу скремблирования. Это коды B8ZS и HDB3
    [4].

    73
    Контрольные вопросы
    1.
    Назовите виды дискретных каналов связи
    2.
    Почему проверка четности не является надежным средством обнаружения ошибок?
    3.
    В каком случае, при использовании циклической проверки четности с избыточностью ошибка может не обнаружится?
    4.
    Почему процедура ARQ не подходит для использования в беспроводных системах передачи?
    5.
    Почему, если значение E
    b
    /N
    0
    – ниже определенного порогового, методы кодирования отрицательно сказываются на производительности системы?
    6.
    Назовите основные свойства генерируемого синдрома в коде
    Хэмминга
    7.
    Пояснить процедуру декодирования циклического кода
    8.
    Почему эффективность кодирования Рида-Соломона возрастает с увеличением длины блока?
    9.
    Назовите сходства и различия сверточного и блочного кода
    10. Поясните процедуру декодирования сверточного кода
    11. Какова необходимая память устройства при блочном и сверточном чередовании?
    12. Какова основная задача скремблирования?

    74
    3
    ПРИНЦИПЫ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ В
    СРЕДЕ MATLAB 7.0
    3.1
    История возникновения системы MATLAB
    В наши дни компьютерная математика получила должную известность и интенсивно развивается как передовое научное направление на стыке математики и информатики. Программируемые микрокалькуляторы и персональные компьютеры уже давно применяются для математических расчетов.
    Для подготовки программ использовались различные универсальные языки программирования. В начале 90-х гг. на смену им пришли специализированные системы компьютерной математики (СКМ).
    Среди них наибольшую известность получили системы Eureka,
    Mercury, Mathcad, Derive, Mathematica, Maple V и Maple и др. Каждая из этих систем имеет свои достоинства и недостатки и заслуживает отдельного рассмотрения. Повышенный интерес пользователей к подобным системам подтверждают результаты выпуска в последние годы целого ряда книг на русском языке, посвященных указанной теме. За рубежом по каждой серьезной СКМ на web-сайтах их разработчиков можно найти перечни, включающие сотни наименований книг.
    Система MATLAB предлагается разработчиками (фирма Math Works,
    Inc.) как лидирующий на рынке, в первую очередь в системе военно- промышленного комплекса, в аэрокосмической отрасли и автомобилестроении, язык программирования высокого уровня для технических вычислений с большим числом стандартных пакетов прикладных программ. Система MATLAB вобрала в себя не только передовой опыт развития и компьютерной реализации численных методов, накопленный за последние три десятилетия, но и весь опыт становления математики за всю историю человечества. Около миллиона легально зарегистрированных пользователей уже применяют эту систему. Ее охотно используют в своих научных проектах ведущие университеты и научные центры мира. Популярности системы способствует ее мощное расширение
    Simulink, предоставляющее удобные и простые средства, в том числе визуальное объектно-ориентированное программирование, для моделирования линейных и нелинейных динамических систем, а также множество других пакетов расширения системы.
    MATLAB – одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы – MATrix LABoratory – матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что эта ориентация почти не ощущается

    75 теми пользователями, которых не интересуют непосредственно матричные вычисления.
    Матрицы широко применяются в сложных математических расчетах, например при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Это существенно повышает интерес к системе MATLAB, вобравшей в себя лучшие достижения в области быстрого решения матричных задач. Однако в настоящее время MATLAB далеко вышла за пределы специализированной матричной системы и стала одной из наиболее мощных универсальных интегрированных СКМ. Слово
    «интегрированная» указывает на то, что в этой системе объединены удобная оболочка, редактор выражений и текстовых комментариев, вычислитель и графический программный процессор. В новой версии используются такие мощные типы данных, как многомерные массивы, массивы ячеек, массивы структур, массивы Java и разреженные матрицы, что открывает возможности применения системы при создании и отладке новых алгоритмов матричных и основанных на них параллельных вычислений и крупных баз данных.
    В целом MATLAB – это уникальная коллекция реализаций современных численных методов компьютерной математики, созданных за последние три десятка лет. Она вобрала в себя и опыт, правила и методы математических вычислений, накопленные за тысячи лет развития математики. Это сочетается с мощными средствами графической визуализации и даже анимационной графики. Систему с прилагаемой к ней обширной документацией вполне можно рассматривать как фундаментальный многотомный электронный справочник по математическому обеспечению
    ЭВМ – от массовых персональных компьютеров до супер-ЭВМ.
    Увы, пока MATLAB представлен полностью лишь на английском и частично на японском языках.
    Возможности MATLAB весьма обширны, а по скорости выполнения задач система нередко превосходит своих конкурентов. Она применима для расчетов практически в любой области науки и техники. Например, очень широко используется при математическом моделировании механических устройств и систем, в частности в динамике, гидродинамике, аэродинамике, акустике, энергетике и т. д. Этому способствует не только расширенный набор матричных и иных операций и функций, но и наличие пакета расширения Simulink, специально предназначенного для решения задач блочного моделирования динамических систем и устройств, а также десятков других пакетов расширений.
    В обширном и постоянно пополняемом комплексе команд, функций и прикладных программ (пакетов расширения, пакетов инструментов, -
    1   2   3   4   5   6   7   8   9   10   ...   15


    написать администратору сайта