Материал: Теоретические основы передачи ВЧ сигналов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Пример: Код замещения для 1010 может быть вычислен при размещении в 3-ем, 5-ом, 6-ом и 7-ом битах кода 1, 0, 1, 0 соответственно. Позиции этих двоичных разрядов не являются степенью 2. Тогда, первый бит (четность) кода должен быть установлен, используя операцию «исключающую или» (xor) с 3-им, 5-ым, и 7-ым битами, второй бит - xor с 3-им, 6-ым, и 7-ым битами, и четвертый бит - xor с 5-ым, 6-ым, и 7-ым битами, в результате получим код замещения 1011010.

После приема кода декодер должен повторно вычислить каждый из битов четности. Если один бит четности неверен, то этот бит должен быть изменен на обратный при передаче, и на него можно не обращать внимания. Если больше одного бита четности неправильны, то сумма позиций неправильных битов четности укажет позицию информационного разряда, в котором произошла ошибка. Ошибки в нескольких битах дадут неправильный результат.

В LabVIEW при использовании Modulation Toolkit коды Хемминга могут быть получены с помощью ВП Hamming Encoder и декодированы с помощью ВП Hamming Decoder.

Коды Голея

Коды Голея принадлежат к алгоритмам, которые используют конечные случайные группы для кодирования данных. Существует два различных типа кодов Голея, бинарный и троичный. Бинарная версия относится к классу (23,12,7) с минимальным расстоянием 7. Она может исправить и обнаружить все трехбитные ошибки. С добавлением бита четности, получится бинарный код Голея (24,12,8). Этот расширенный код Голея может обнаружить все четырехбитные ошибки и исправить все трехбитные ошибки. Троичный код Голея относится к классу (11,3,5) и может обнаружить и исправить все 2-битные ошибки.

Из-за их относительной неэффективности и превосходного обнаружения ошибок коды Голея чаще всего используются в приложениях, где пропускная способность не является определяющей, а главное - обеспечение надежности. Они используются в космической связи. В LabVIEW при использовании Modulation Toolkit коды Голея могут быть получены с помощью ВП Golay Encoder и декодированы с помощью ВП Golay Decoder.

Циклические коды

Циклические коды - тип линейного блочного кода с одним дополнительным свойством. В дополнение к свойствам линейных кодов циклический сдвиг любого кодового слова должен быть кодовым словом. Например, код с кодовым словом 1011 должен также содержать кодовое слово 0111. Циклические коды выгоднее нециклических линейных блочных кодов, потому что, из-за свойств их структуры, кодеры могут быть намного проще. Примеры циклических кодов - коды Рида-Соломона и Bose-Chaudhuri-Hocquenghem (BCH).

BCH Codes

BCH коды используют теорию поля и полиномы для определения возникновения ошибок. Они могут быть спроектированы для исправления произвольного количества ошибок t и для заданного m, n - k <= m*t. Из-за их реализации в виде шаблонов, существуют таблицы для множества комбинаций n, k, t и m.

Также существует эффективное средство декодирования кодов BCH, названное алгоритмом Berlekamp-Massey.

Способность настраивать код выбором числа исправляемых ошибок, t, делает их подходящими для приложений, где встречаются пакеты ошибок (много ошибок за относительно короткое время). Однако это достигается за счет низких скоростей передачи кода.

В LabVIEW при использовании Modulation Toolkit коды BCH могут быть получены с помощью ВП BCH Encoder и декодированы с помощью ВП BCH Decoder.

Коды Рида-Соломона

Коды Рида-Соломона - недвоичное подмножество кодов BCH. Обычно кодовые слова составляются из двоичных значений. Они выбираются так, чтобы составить группу q символов, где q = 2k. Определенным наборам k бит ставится в соответствие уникальное значение из группы q символов. Тогда K символов отображаются N символами и преобразуются к исходному набору k бит для передачи. Кодовая скорость этих кодов равна K/N. Коды Рида-Соломона чрезвычайно эффективны при исправлении пакета ошибок.

В LabVIEW при использовании Modulation Toolkit коды Рида-Соломона могут быть получены с помощью ВП Reed Solomon Encoder и декодированы ВП Reed Solomon Decoder.

Сверточные коды

Сверточные коды отличаются от линейных блочных кодов тем, что они используют несколько наборов длиной k, чтобы получить единственное кодовое слово длиной n. Их название происходит из того факта, что кодирование приводит к свертыванию входного битового потока с импульсными характеристиками n кодеров. Поскольку выход сверточного кодера зависит от предыдущих входных битов, то говорят, что кодеры имеют память или состояние. Сверточные кодеры сохраняют историю длиной L, состоящую из k входных блоков. Их выход определяется сверткой n линейных комбинаций любого из L* k входных бит.

Способ, по которому сверточный кодер определяет выходные значения, называется решетчатая диаграмма. Передаточная функция сверточного кодера определяет все возможные пути, через которые кодер может пройти, выходя из начального нулевого состояния и возвращаясь обратно.

Сверточные коды чаще всего декодируются с помощью алгоритма Витерби. Алгоритм Витерби обеспечивает оптимальный способ поиска решетки, представляя эффективное средство восстановления начальных данных. Это достигается сохранением минимального расстояния от правильных путей, но дает ошибки по пути приема данных.

В LabVIEW, используя Modulation Toolkit, сверточные коды можно получить с помощью ВП Convolutional Encoder и декодировать с помощью ВП Convolutional Decoder.

Комплексные коды

Комплексные коды создаются объединением двух и более базовых кодов, описанных выше.

RSV

RSV коды используют блочные коды Рида-Соломона после Витерби-декодирования сверточного кода. Минимальное расстояние этого комплексного кода задается выборкой из минимальных расстояний первого и второго кодов, что приводит к превосходному обнаружению и исправлению ошибок. Не смотря на хорошие характеристики, чаще используется Турбо код.

Турбо код

Турбо код - это код, который в настоящее время наиболее близко приближается к пределу Шеннона. Передача включает: исходные данные, биты четности, полученные с помощью сверточного кода, и отдельного набора битов четности той же самой длины, полученных с помощью сверточного кодирования переставленных исходных данных.

Целостность исходных данных проверяется параллельно каждым набором битов четности, при этом приемник должен знать перестановку, выполненную передатчиком. Результат декодирования в каждом из двух сверточных декодеров - ряд значений, указывающих вероятность быть каждому биту равным 0 или 1. Если результаты этих декодеров отличаются, то кодеры пересчитывают вероятности, принимая во внимание результат другого декодера. Этот процесс выполняется в несколько итераций, пока декодеры не сходятся на одинаковом решении.

Технология расширения спектра сигнала прямой последовательностью (Direct Sequence Spread Spectrum)

DSSS - методика модуляции для цифровой передачи данных, которая заменяет отдельные биты псевдослучайной битовой последовательностью. Эта битовая последовательность предназначена для расширения спектра. Поскольку скорость передачи пост-модулированного потока выше, эффективно увеличивается и пропускная способность канала. Результирующая скорость передачи равна исходной скорости передачи, умноженной на длину расширяющей последовательности. Каждый бит расширяющего кода называется элементарной кодовой посылкой. Цифровая единица в исходной последовательности будет заменена расширяющим кодом, в то время как 0 будет заменен дополнением расширяющего кода. Чтобы демодулировать сигнал, получатель должен знать расширяющий код.

Основное преимущество DSSS состоит в том, что традиционная узкополосная интерференция не разрушает сигнал, поскольку он теперь «размазан» по большей полосе. Широкополосный шум, однако, будет все еще мешать приему исходного сигнала.

В LabVIEW при использовании Modulation Toolkit расширенные коды могут быть получены с помощью ВП Spread Symbols и декодированы с помощью ВП Despread Symbols.

Фильтрация в системах связи

В цифровых системах связи информация может передаваться с помощью несущего синусоидального колебания посредством изменения его фундаментальных характеристик: фазы, частоты и амплитуды. В физическом канале эти изменения могут быть сглажены в зависимости от фильтров, применяемых при передаче. Фактически, фильтрация играет важную роль для канала связи, поскольку она помогает устранить спектральную утечку, уменьшить ширину канала и ослабить межсимвольную интерференцию (Inter Symbol Interference - ISI).

Основы применения формирующих фильтров

Для выполнения двух важных требований, предъявляемых к беспроводным каналам связи, необходимо использовать формирующие («pulse shaping») фильтры. Эти требования: 1) генерация ограниченных по частоте каналов и 2) уменьшение межсимвольной интерференции (ISI) при многолучевых отражениях сигнала. Фактически, фильтр в виде функции sync, показанный ниже, удовлетворяет этим требованиям, поскольку он эффективно использует частотную область, и благодаря финитности функции, действующей на каждом символьном периоде модулированного сигнала. Импульс sync с FFT-спектром показан ниже.

Рис. 19. Sync импульс во временной и частотной области

Как видно из рисунка, импульс sync периодичен и имеет максимальную амплитуду в середине символьного интервала. Кроме того, в частотной области импульс будет выглядеть как прямоугольник, который может эффективно ограничить канал связи в определенном частотном диапазоне.

По существу, модуляция несущей синусоиды приводит к постоянным изменениям (переходам) в её фазе и амплитуде. Ниже показана временная область несущей синусоиды с частотой символов, равной половине частоты несущей. Можно видеть, что без использования фильтрации происходят резкие переходы.

Рис. 20. Изменения фазы и амплитуды в нефильтрованном модулированном сигнале

Известно, что резкие перепады амплитуды сигнала приводят к возникновению высокочастотных компонентов в частотной области. На рисунке (4) справа показано БПФ нефильтрованного сигнала. Как и следовало ожидать, значительная мощность канала вышла за пределы 1ГГц полосы частот. В многоканальных системах связи концентрация мощности модулированной несущей в ширине полосы пропускания чрезвычайно важно по нескольким причинам. Во-первых, мощность передачи уменьшается, когда сигнал более сконцентрирован в частотном диапазоне. Кроме того, канал, ограниченный в определенной полосе частот, не оказывает влияния на соседние каналы.

Источник: https://studwood.net/2155779/tehnika/teoreticheskie_osnovy_peredachi_vch_signalov

Смотрите также: