exponenta event banner

Обнаружение и исправление ошибок

Коды CRC и блочное и сверточное кодирование канала

Применить обнаружение и исправление ошибок с помощью:

  • Методы кодирования с циклическим избыточным кодом (CRC). Также включены генераторы CRC и детекторы, оптимизированные для ЛПВП.

  • Методы блочного кодирования включают в себя линейные блочные коды, коды Хэмминга, коды Бозе-Чаудхури-Хокенгема (BCH), коды Рида-Соломона (RS), коды с низкой плотностью контроля четности (LDPC) и коды турбо-продукта (TPC). Также включены RS-кодеры и декодеры, оптимизированные для HDL.

  • Методы сверточного кодирования, включающие в себя сверточные, турбо, апостериорную вероятность (APP) и методы Витерби. Также включены декодеры Turbo и Viterbi, работающие с графическими процессорами для повышения скорости обработки.

  • Поля Галуа, позволяющие манипулировать четными и нечетными упорядоченными элементами конечных полей.

Дополнительные сведения о кодах управления ошибками см. в разделе Обнаружение и исправление ошибок.

Функции

развернуть все

Коды линейных блоков

cyclgenСоздание матриц контроля четности и генератора для циклического кода
cyclpolyСоздание полиномов генератора для циклического кода
decodeБлочный декодер
encodeБлочный кодировщик
gfweightРасчет минимального расстояния кода линейного блока
gen2parПреобразование между матрицами проверки четности и генераторными матрицами
hammgenМатрицы контроля четности и генератора для кода Хэмминга
syndtableСоздать таблицу декодирования синдрома

Коды BCH

bchencКодер BCH
bchdecДекодер BCH
bchgenpolyГенераторный полином кода BCH
bchnumerrКоличество исправимых ошибок для кода BCH

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

rsencКодировщик Рида-Соломона
rsdecДекодер Рида-Соломона
rsgenpolyГенераторный многочлен кода Рида - Соломона
rsgenpolycoeffsГенераторные полиномиальные коэффициенты кода Рида-Соломона

Коды LDPC

dvbs2ldpcКоды проверки четности низкой плотности (LDPC) из стандарта DVB-S.2

Коды продуктов Turbo

tpcencКодировщик кода турбо-продукта (TPC)
tpcdecДекодер кода турбо-продукта (TPC)
convencСверточное кодирование двоичного сообщения
vitdecСверточно декодировать двоичные данные с помощью алгоритма Витерби
distspecВычислить дистанционный спектр сверточного кода
getTurboIOIndicesВычислить выходные индексы для турбокодирования
iscatastrophicВерно для шпалеры, соответствующей катастрофическому сверточному коду
istrellisTrue для действительной шпалерной структуры
oct2decПреобразование восьмеричных чисел в десятичные
poly2trellisПреобразование многочленов сверточного кода в описание решетки

Вычисления полей Galois - даже конечные поля порядка

convmtxМатрица свертки вектора поля Галуа
cosetsПроизводить циклотомные корзины для месторождения Галуа
dftmtxДискретная матрица преобразования Фурье в поле Галуа
fftДискретное преобразование Фурье
filter (gf)1-D цифровой фильтр по полю Галуа
gfМассив полей Галуа
gftableСоздание файла для ускорения вычислений поля Галуа
ifftОбратное дискретное преобразование Фурье
isprimitiveВерно для примитивного многочлена для поля Галуа
logЛогарифм в поле Галуа
minpolНайти минимальный полином элемента поля Галуа
mldivideМатрица левого деления \ массивов Галуа
primpolyНайти примитивные многочлены для поля Галуа

Поля Галуа нечетного признака - поля нечетного конечного порядка

gfaddДобавление многочленов над полем Галуа
gfconvУмножить многочлены на поле Галуа
gfcosetsПроизводить циклотомные корзины для месторождения Галуа
gfdeconvРазделить многочлены на поле Галуа
gfdivРазделить элементы поля Галуа
gffilterФильтрация данных с помощью многочленов над простым полем Галуа
gflineqНайти конкретное решение Ax = b над первичным полем Галуа
gfminpolНайти минимальный полином элемента поля Галуа
gfmulУмножить элементы поля Галуа
gfprettyМногочлен в традиционном формате
gfprimckПроверьте, является ли полином над полем Галуа примитивным
gfprimdfПредоставление примитивных многочленов по умолчанию для поля Галуа
gfprimfdНайти примитивные многочлены для поля Галуа
gfrankВычислить ранг матрицы по полю Галуа
gfrepcovПреобразование одного двоичного полиномиального представления в другое
gfrootsНайти корни многочлена над простым полем Галуа
gfsubВычитание многочленов над полем Галуа
gftruncМинимизация длины представления многочлена
gftupleУпрощение или преобразование форматирования элементов поля Galois

Объекты

развернуть все

comm.CRCGeneratorСоздание битов кода CRC и добавление к входным данным
comm.CRCDetectorОбнаружение ошибок во входных данных с помощью CRC
comm.HDLCRCGeneratorСоздание битов кода CRC и добавление к входным данным
comm.HDLCRCDetectorОбнаружение ошибок во входных данных с помощью CRC

Коды BCH

comm.BCHEncoderКодирование данных с помощью кодера BCH
comm.BCHDecoderДекодирование данных с использованием декодера BCH

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

comm.RSEncoderКодирование данных с помощью кодера Рида-Соломона
comm.RSDecoderДекодирование данных с помощью декодера Рида-Соломона
comm.HDLRSEncoderКодирование сообщения с помощью кодера Рида-Соломона
comm.HDLRSDecoderДекодирование сообщения с помощью декодера Рида-Соломона

Коды LDPC

comm.LDPCEncoderКодирование двоичного кода с низкой плотностью проверки на четность (LDPC)
comm.LDPCDecoderДекодирование двоичного кода с низкой плотностью проверки на четность (LDPC)
comm.gpu.LDPCDecoderДекодирование двоичного кода с низкой плотностью проверки на четность (LDPC) с помощью графического процессора
comm.ConvolutionalEncoderСверточное кодирование двоичных данных
comm.gpu.ConvolutionalEncoderСверточное кодирование двоичных данных с помощью графического процессора
comm.TurboEncoderКодирование входного сигнала с использованием схемы параллельного конкатенированного кодирования
comm.APPDecoderДекодирование сверточного кода с помощью метода APP
comm.TurboDecoderДекодирование входного сигнала с использованием схемы параллельного конкатенированного декодирования
comm.gpu.TurboDecoderДекодирование входного сигнала с помощью декодирования параллельной конкатенации с GPU
comm.ViterbiDecoderДекодировать сверточно закодированные данные с помощью алгоритма Витерби
comm.gpu.ViterbiDecoderДекодирование сверточно закодированных данных с помощью алгоритма Витерби с помощью графического процессора

Блоки

развернуть все

Общий генератор CRCГенерирование битов кода CRC в соответствии с полиномом генератора и добавление к кадрам входных данных
Детектор синдрома общего CRCОбнаружение ошибок в принятых кадрах кодового слова в соответствии с полиномом генератора
Общая оптимизация HDL генератора CRCСоздание битов кода CRC и добавление их к входным данным
Общий детектор синдрома CRC Оптимизированный HDLОбнаружение ошибок во входных данных с помощью CRC

Коды линейных блоков

Двоичный циклический кодерСоздание систематического циклического кода из двоичных векторных данных
Двоичный циклический декодерДекодирование систематического циклического кода для восстановления двоичных векторных данных
Двоичный линейный кодерСоздание линейного блочного кода из двоичных векторных данных
Двоичный линейный декодерДекодирование линейного блочного кода для восстановления двоичных векторных данных
Кодер ХэммингаСоздать код Хэмминга из двоичных векторных данных
Декодер хэммингаДекодирование кода Хэмминга для восстановления двоичных векторных данных

Коды BCH

Кодер BCHСоздание кода BCH из двоичных векторных данных
Декодер BCHДекодирование кода BCH для восстановления двоичных векторных данных

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

Кодер RS с двоичным входомСоздание кода Рида-Соломона из двоичных векторных данных
Декодер RS с двоичным выходомДекодирование кода Рида-Соломона для восстановления двоичных векторных данных
Кодер RS с целочисленным входомСоздание кода Рида-Соломона из целочисленных векторных данных
Декодер RS с целочисленным выходомДекодирование кода Рида-Соломона для восстановления целочисленных векторных данных
Целочисленный вход RS Кодер HDL оптимизированКодирование данных с помощью кодера Рида-Соломона
Декодер RS с целочисленным выходом, оптимизированный для HDLДекодирование данных с помощью декодера Рида-Соломона (RS)

Коды LDPC

Кодер LDPCКодирование двоичного кода с низкой плотностью проверки на четность (LDPC)
Декодер LDPCДекодирование двоичного кода с низкой плотностью проверки на четность (LDPC)

Коды продуктов Turbo

Кодер TPCКодировщик кода турбо-продукта (TPC)
Декодер TPCДекодер кода турбо-продукта (TPC)
Сверточный кодерСоздание сверточного кода из двоичных данных
ТурбокодерКодирование двоичных данных с использованием схемы параллельного конкатенированного кодирования
Декодер APPДекодирование сверточного кода методом апостериорной вероятности (APP)
ТурбодекодерДекодирование входного сигнала с использованием схемы параллельного конкатенированного декодирования
Декодер ВитербиДекодировать сверточно закодированные данные с помощью алгоритма Витерби

Темы

Обнаружение и исправление ошибок

Обнаружение ошибок с помощью кодов контроля циклическим избыточным кодом (CRC). Узнайте о различных методах кодирования каналов управления ошибками.

Передача и получение укороченных кодов Рида-Соломона

Передача и прием стандартных и сокращенных RS-кодированных 64-QAM-modulated данных через канал AWGN.

Кодирование Рида-Соломона со стиранием, проколами и укорочением в Simulink

В этой модели показано, как настроить коды Рида-Соломона (RS) для выполнения блочного кодирования со стиранием, проколами и укорочением.

Сверточное кодирование с проколом

В этой модели показано, как использовать блоки сверточного кодера и декодера Витерби для моделирования проколотой системы кодирования.

Создание, проверка и тестирование определяемой пользователем структуры решетки

Используйте MATLAB ® для создания и проверки определяемой пользователем решетчатой структуры, а затем используйте стенд модульных испытаний Simulink ® для тестирования реализации.

Работа с полями Галуа

В этом примере показана работа с полями Galois.

Символьное представление многочленов

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

Характерные примеры