bercoding

BER для закодированных каналов AWGN

Описание

bercoding функция возвращает верхнюю границу или приближение частоты ошибок по битам (BER) для когерентного BPSK или модуляции QPSK по каналу аддитивного белого Гауссова шума (AWGN) для заданного типа кодирования, декодируя решение, скорость кода и спектр расстояния кода. Результатами для бинарного PSK и квадратурной модуляции PSK является то же самое. Эта функция вычисляет только порядок 2 или 4 модуляции для M-ary модуляция PSK. Для получения дополнительной информации смотрите Аналитические Выражения, Используемые в Функции bercoding и Приложении Bit Error Rate Analysis.

ber = bercoding(EbNo,'conv',decision,coderate,dspec) возвращает верхнюю границу или приближение BER для convolutionally закодированного сигнала с заданным решением декодирования, скоростью кода и спектром расстояния кода.

пример

ber = bercoding(EbNo,'block',decision,N,K,dmin) возвращает верхнюю границу BER для [NK] бинарный блочный код для заданного типа решения декодирования и минимального расстояния кода.

ber = bercoding(EbNo,'Golay','hard',24) возвращает верхнюю границу BER для расширенное (24, 12) код Golay с помощью декодирования трудного решения и когерентной модуляции BPSK. В соответствии с [3], Golay, кодирующий верхнюю границу, принимает только коррекцию шаблонов с 3 ошибками. Даже при том, что исправление приблизительно 19% шаблонов с 4 ошибками теоретически возможно на практике, большинство декодеров не имеет этой возможности.

ber = bercoding(EbNo,'Hamming','hard',N) возвращает приближение BER для Кода Хемминга с помощью декодирования трудного решения и когерентной модуляции BPSK.

ber = bercoding(EbNo,'RS','hard',N,K) возвращает приближение BER для (NK) Код Рида-Соломона с помощью декодирования трудного решения и когерентной модуляции BPSK.

пример

ber = bercoding(EbNo,coding,___,modulation) задает тип модуляции в дополнение к любой из предыдущих комбинаций входных аргументов. Этот синтаксис возвращает приближение BER для закодированных каналов AWGN.

Примеры

свернуть все

Найдите верхнюю границу теоретического BER для (23,12) блочный код.

Установите длину кодовой комбинации, длину сообщения, минимальное расстояние, и Eb/N0 расположитесь в дБ.

n = 23;             % Codeword length
k = 12;             % Message length
dmin = 7;           % Minimum distance
EbNo = 1:10;        % Eb/No range (dB)

Оцените BER.

berBlk = bercoding(EbNo,'block','hard',n,k,dmin);

Постройте предполагаемый BER.

berfit(EbNo,berBlk)
ylabel('Bit Error Probability')
title('BER Upper Bound vs. Eb/No with Best Curve Fit')

Figure contains an axes object. The axes object with title BER Upper Bound vs. Eb/No with Best Curve Fit contains 2 objects of type line. These objects represent Empirical BER, Exp Fit.

Оцените эффективность BER в канале AWGN для 16-QAM сигнала, когда закодировано с (15,11) код Рида-Соломона с помощью декодирования трудного решения.

Установите вход Eb/No, располагаются и находят незакодированный BER для 16-QAM.

ebno = (2:12)';
uncodedBER = berawgn(ebno,'qam',16);

Оцените закодированный BER для 16-QAM сигнала с (15,11) код Рида-Соломона с помощью декодирования трудного решения.

codedBER = bercoding(ebno,'RS','hard',15,11,'qam',16);

Постройте предполагаемые кривые BER.

semilogy(ebno,[uncodedBER codedBER])
grid
title('Compare Uncoded and R-S Coded 16-QAM Transmission')
legend('Uncoded BER','Coded BER')
xlabel('Eb/No (dB)')
ylabel('BER')

Figure contains an axes object. The axes object with title Compare Uncoded and R-S Coded 16-QAM Transmission contains 2 objects of type line. These objects represent Uncoded BER, Coded BER.

Входные параметры

свернуть все

Энергия на бит к отношению спектральной плотности мощности шума в дБ в виде скаляра или вектора.

Типы данных: single | double

Тип кодирования источника в виде одной из этих опций.

  • 'conv' — Возвращенный BER является верхней границей BER для бинарных сверточных кодов с когерентным BPSK или модуляцией QPSK.

  • 'block' — Возвращенный BER является верхней границей BER для (NK) линейные бинарные блочные коды с когерентным BPSK или модуляцией QPSK.

  • 'Hamming' — Возвращенный BER является приближением BER для Кода Хемминга с помощью декодирования трудного решения и когерентного BPSK или модуляции QPSK.

  • 'Golay' — Возвращенный BER является верхней границей BER для расширенного (24,12) код Golay с помощью декодирования трудного решения и когерентного BPSK или модуляции QPSK. В соответствии с [3], Golay, кодирующий верхнюю границу, принимает коррекцию шаблонов с 3 ошибками только. Даже при том, что исправление приблизительно 19% шаблонов с 4 ошибками теоретически возможно, на практике, большинство декодеров не имеет этой возможности.

  • 'RS' — Возвращенный BER является приближением BER для (NK) Код Рида-Соломона с помощью декодирования трудного решения и когерентной модуляции BPSK.

Типы данных: char | string

Декодирование решения вводит в виде одной из этих опций.

  • 'hard' — Используйте эту опцию для декодирования трудного решения.

  • 'soft' — Используйте эту опцию для неквантованного декодирования мягкого решения. Эта опция применяется только когда coding установлен в 'conv' или 'block'.

Типы данных: char | string

Скорость кода сверточного кода в виде положительной скалярной величины.

Зависимости

Чтобы включить этот аргумент, установите coding аргумент к 'conv'.

Типы данных: double | single

Спектр расстояния кода в виде структуры, содержащей эти поля. Чтобы найти спектры расстояния для примеров кода, используйте distspec функционируйте или смотрите [5] и [3].

Минимальное свободное расстояние кода в виде положительной скалярной величины.

Типы данных: double | single

Спектр веса кода в виде положительной скалярной величины.

Типы данных: double | single

Зависимости

Чтобы включить этот аргумент, установите coding аргумент к 'conv'.

Типы данных: struct

Длина кодовой комбинации в виде целого числа формы 2M– 1, где M является целым числом в области значений [3, 16]. Для получения дополнительной информации см. Пары N-K для Кодирования источника.

Пример: 15 или 2^4-1

Зависимости

Чтобы включить этот аргумент, установите coding аргумент к 'block', 'Hamming', 'Golay', или 'RS'.

Передайте длину в виде положительного целого числа. Для получения дополнительной информации см. Пары N-K для Кодирования источника.

Пример 5 задает массив Поля Галуа с пятью элементами.

Зависимости

Чтобы включить этот аргумент, установите coding аргумент к 'block' или 'RS'.

Минимальное расстояние кода в виде положительной скалярной величины, меньшей, чем или равный (N - K + 1).

.

Зависимости

Чтобы включить этот аргумент, установите coding аргумент к 'block'.

Типы данных: double | single

Решение модуляции вводит в виде 'psk', 'oqpsk', 'dpsk', 'pam', 'qam', 'fsk', или 'msk'. Схема модуляции по умолчанию является модуляцией PSK с порядком модуляции 2 (а именно, недифференциальной модуляцией BPSK).

Типы данных: char | string

Выходные аргументы

свернуть все

Верхняя граница BER или приближение, возвращенное как скаляр или вектор. Если EbNo вход является вектором, ber вектор, одного размера, и его элементы соответствуют элементам вектора E b/N0.

Ограничения

В общем случае числовая точность для выхода BER ограничивается приблизительно двумя значительными цифрами. Числовая точность, выведенная этой функцией, ограничивается этими ограничениями.

  • Приближения в аналитическом продвижении к выражениям закрытой формы используются функцией

  • Приближения, связанные с числовой реализацией выражений

Больше о

свернуть все

Пары N-K для кодирования источника

Для блочных кодов длина кодовой комбинации (N) и передайте длину (K) пары должны выполнить эти инструкции.

  • N и K должен произвести узкий смысл код BCH.

  • Сгенерировать список допустимых (NK) пары и их соответствующие значения возможности исправления ошибок, запустите команду bchnumerrN).

  • Допустимые значения для N имейте форму 2M– 1, где M является целым числом в области значений [3, 16]. Значение N не может превысить 65,535.

Для Кодов Хемминга, K вычисляется непосредственно из N.

Для кодов Рида-Соломона, N и K должен отличаться ровным целым числом. Допустимые значения для N имейте форму 2M– 1, где M является целым числом в области значений [3, 16]. Значение N не может превысить 65,535.

Альтернативы

Можно сконфигурировать вкладку Theoretical в приложении Bit Error Rate Analysis, чтобы вычислить теоретические значения BER вместо того, чтобы использовать bercoding функция.

Ссылки

[1] Proakis, Цифровая связь Джона Г. 4-й редактор Нью-Йорк: Макгроу Хилл, 2001.

[2] Frenger, P., П. Ортен и Т. Оттоссон. “Сверточные коды с Оптимальным Спектром Расстояния”. Коммуникационные Буквы IEEE 3, № 11 (ноябрь 1999): 317–19. https://doi.org/10.1109/4234.803468.

[3] Odenwalder, J. P. Руководство кодирования контроля ошибок, итоговый отчет, корпорация LINKABIT, Сан-Диего, CA: 1976.

[4] Sklar, Бернард. Цифровая связь: Основные принципы и Приложения. 2-й редактор Верхний Сэддл-Ривер, Нью-Джерси: PTR Prentice Hall, 2001.

[5] Ziemer, R. E. и R. L. Петерсон. Введение в Цифровую связь. 2-й редактор Prentice Hall, 2001.

Представлено до R2006a