Выявление ошибок и Коррекция

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

Применить выявление ошибок и коррекцию используя:

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

  • Методы блочного кодирования, включая линейные блочные коды, Hamming-коды, Bose-Chaudhuri-Hocquenghem (BCH) коды, Reed-Solomon (RS) коды, коды проверки четности низкой плотности (LDPC) и турбокоды (TPC). Также включены RS- энкодеров и декодеры, которые оптимизированы для HDL.

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

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

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

Функции

расширить все

Линейные коды блоков

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

Коды BCH

bchencBCH- энкодера
bchdecДекодер BCH
bchgenpolyПолином генератора кода BCH
bchnumerrКоличество исправимых ошибок для кода BCH

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

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

Коды LDPC

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

Продукта Turbo

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

Расчеты поля Галуа - даже конечные поля порядка точности

convmtxМатрица свертки вектора поля Галуа
cosetsСоздайте циклотомические соседи для поля Галуа
dftmtxДискретная матрица преобразования Фурье в поле Галуа
fftДискретное преобразование Фурье
filter (gf)1-D цифровой фильтр по полю Галуа
gfМассив полей Галуа
gftableСгенерируйте файл, чтобы ускорить расчеты поля Галуа
ifftОбратное дискретное преобразование Фурье
isprimitiveTrue для примитивного полинома для поля Галуа
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Упрощение или преобразование форматирования элемента поля Галуа

Объекты

расширить все

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Сверточное кодирование двоичных данных с GPU
comm.TurboEncoderЗакодируйте входной сигнал с помощью параллельной конкатенированной схемы кодирования
comm.APPDecoderДекодируйте сверточный код с помощью APP метода
comm.TurboDecoderДекодируйте входной сигнал с помощью параллельной конкатенированной схемы декодирования
comm.gpu.TurboDecoderДекодируйте входной сигнал с помощью декодирования параллельной конкатенации на графическом процессоре
comm.ViterbiDecoderДекодируйте сверточно закодированные данные с использованием алгоритма Viterbi
comm.gpu.ViterbiDecoderДекодируйте сверточно закодированные данные с использованием алгоритма Viterbi на графическом процессоре

Блоки

расширить все

General CRC GeneratorСгенерируйте биты кода CRC согласно полиному генератора и добавьте к входным данным систем координат
General CRC Syndrome DetectorОбнаружение ошибок в принятых системах координат кодового слова в соответствии с полиномом генератора
General CRC Generator HDL OptimizedСгенерируйте биты кода CRC и добавьте их к входным данным
General CRC Syndrome Detector HDL OptimizedОбнаружение ошибок во входных данных с помощью CRC

Линейные коды блоков

Binary Cyclic EncoderСоздайте систематический циклический код из двоичных векторных данных
Binary Cyclic DecoderДекодируйте систематический циклический код, чтобы восстановить двоичные векторные данные
Binary Linear EncoderСоздайте линейный код блока из двоичных данных векторов
Binary Linear DecoderДекодируйте линейный блочный код, чтобы восстановить двоичные векторные данные
Hamming EncoderСоздайте код Хемминга из двоичных векторных данных
Hamming DecoderДекодируйте Код Хемминга, чтобы восстановить двоичные векторные данные

Коды BCH

BCH EncoderСоздайте код BCH из двоичных векторных данных
BCH DecoderДекодируйте код BCH, чтобы восстановить двоичные векторные данные

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

Binary-Input RS EncoderСоздайте код Рида-Соломона из двоичных векторных данных
Binary-Output RS DecoderДекодируйте код Рида-Соломона, чтобы восстановить двоичные векторные данные
Integer-Input RS EncoderСоздайте код Рида-Соломона из целочисленных векторных данных
Integer-Output RS DecoderДекодируйте код Рида-Соломона, чтобы восстановить целочисленные векторные данные
Integer-Input RS Encoder HDL OptimizedЗакодируйте данные с помощью энкодера Рида-Соломона
Integer-Output RS Decoder HDL OptimizedДекодируйте данные с использованием декодера Рида-Соломона (RS)

Коды LDPC

LDPC EncoderЗакодируйте двоичный код с низкой плотностью проверки четности (LDPC)
LDPC DecoderДекодируйте двоичный код с низкой плотностью проверки четности (LDPC)
Коды

Продукта Turbo

TPC EncoderТурбокодер продукт кода (TPC)
TPC DecoderДекодер продукта кода (TPC)
Convolutional EncoderСоздайте сверточный код из двоичных данных
Turbo EncoderЗакодируйте двоичные данные с помощью параллельной конкатенированной схемы кодирования
APP DecoderДекодируйте сверточный код с помощью метода апостериорной вероятности (APP)
Turbo DecoderДекодируйте входной сигнал с помощью параллельной конкатенированной схемы декодирования
Viterbi DecoderДекодируйте сверточно закодированные данные с использованием алгоритма Viterbi

Темы

Выявление ошибок и Коррекция

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

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

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

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

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

Проколотая сверточная кодировка

Эта модель показывает, как использовать блоки Convolutional Encoder и Viterbi Decoder для симуляции проколотой системы кодирования.

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

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

Работа с полями Galois

В этом примере показано, как работать с полями Галуа.

Представление символов полиномов

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

Рекомендуемые примеры