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

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

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

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

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

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

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

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

Функции

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

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

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

Коды BCH

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

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

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

Коды LDPC

ldpcEncodeЗакодируйте бинарный код LDPC
ldpcDecodeДекодируйте бинарный код LDPC
ldpcEncoderConfigСоздайте настройку энкодера LDPC
ldpcDecoderConfigСоздайте настройку декодера LDPC
ldpcQuasiCyclicMatrixМатрица проверки четности квазициклического кода LDPC
dvbs2ldpcКоды имеющей малую плотность проверки четности (LDPC) из стандарта DVB-S.2

Турбо коды продуктов

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

Расчеты поля Галуа — даже заказывают конечные поля

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

Поля Галуа нечетной характеристики — нечетный порядок конечные поля

gfaddДобавьте полиномы по Полю Галуа
gfconvУмножьте полиномы по Полю Галуа
gfcosetsПроизведите cyclotomic, балует для Поля Галуа
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Закодируйте данные с помощью энкодера Тростника-Solomon
comm.RSDecoderДекодируйте данные с помощью декодера кода Рида-Соломона
comm.HDLRSEncoderЗакодируйте сообщение с помощью энкодера Тростника-Solomon
comm.HDLRSDecoderДекодируйте сообщение с помощью декодера кода Рида-Соломона

Коды LDPC

comm.gpu.LDPCDecoderДекодируйте бинарный код имеющей малую плотность проверки четности (LDPC) с помощью графического процессора
comm.ConvolutionalEncoderСверточное кодирование двоичных данных
comm.gpu.ConvolutionalEncoderСверточное кодирование двоичных данных с GPU
comm.TurboEncoderЗакодируйте входной сигнал с помощью конкатенированной схемы кодирования параллели
comm.APPDecoderДекодируйте сверточный код при помощи метода APP
comm.TurboDecoderДекодируйте входной сигнал с помощью параллели, конкатенированной, декодируя схему
comm.gpu.TurboDecoderДекодируйте входной сигнал с помощью параллельного декодирования конкатенации с помощью графического процессора
comm.ViterbiDecoderДекодируйте convolutionally закодированные данные с помощью алгоритма 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Закодируйте данные с помощью энкодера Тростника-Solomon
Integer-Output RS Decoder HDL OptimizedДекодируйте данные с помощью декодера Тростника-Solomon (RS)

Коды LDPC

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

Турбо коды продуктов

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

Темы

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

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

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

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

Кодирование тростника-Solomon со стираниями, проколы и сокращение в Simulink

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

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

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

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

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

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

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

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

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

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