Эта модель показывает современную схему кодирования канала, используемую в стандарте Цифрового телевидения второго поколения (DVB-S.2), который развертывается DIRECTV в Соединенных Штатах. Схема кодирования основана на конкатенации LDPC (Имеющая малую плотность Проверка четности) и коды BCH. Коды LDPC, изобретенные Gallager в его оригинальном докторском тезисе в 1 960, могут достигнуть чрезвычайно низких коэффициентов ошибок около способности канала при помощи низкой сложности итеративный алгоритм декодирования. Внешние коды BCH используются, чтобы откорректировать спорадические ошибки, совершенные декодером LDPC.
Коды канала для DVB-S.2 предоставляют значительное полное усиление по DVB-S при тех же условиях передачи и позволяют операцию Quasi-Error-Free (пакетный коэффициент ошибок ниже 10^-7) на уровне приблизительно 0,7 дБ к 1 дБ от предела Шеннона, в зависимости от режима передачи.
Этот пример демонстрирует энкодер BCH, энкодер LDPC, interleaver, модулятор, а также их дубликаты в приемнике, согласно стандарту DVB-S.2.
Система связи в этом примере выполняет эти задачи:
Генерация BBFRAME по случайному источнику
Кодирование BCH, для всех параметров кодирования и нормального FECFRAME
Кодирование LDPC, для всех параметров кодирования и нормального FECFRAME
Перемежение
Модуляция (QPSK, 8PSK, 16APSK, или 32APSK)
Моделирование канала AWGN
Демодуляция мягкого решения
Устранение чередования
Декодирование LDPC, посредством алгоритма передачи сообщений
Декодирование BCH
Освобождение буфера BBFRAME
modelname = 'commdvbs2' ; open_system(modelname); RX = [modelname '/RX Constellation']; % Define Simulink object as a variable set_param(RX,'openScopeAtSimStart','off' ); % Set Simulink scope visibility parameter T = evalc('sim(modelname)');
Кроме того, эта модель имеет блоки для измерения и отображения пакетного коэффициента ошибок, частоты ошибок по битам LDPC и оцененного Es/No. Существует также осциллограф графика рассеивания, отображающий полученный сигнал, который помогает пользователям визуализировать искажения канала сигнала.
Упрощения и предположения
Для простоты, этого примера
Принимает идеальную синхронизацию между передатчиком и приемником
Использует комплексную основополосную модель канала AWGN, а не полного спутникового канала
Модели BBHEADER и ПОЛЕ ДАННЫХ в BBFRAME использование Бернуллиевого бинарного случайного источника, и не выполняют основополосное скремблирование
Поддержки только нормальный FECFRAME (i.e., длина блока кодов LDPC 64800),
Обрабатывает одну кодовую комбинацию LDPC в одном модуле времени в Simulink®
Аппроксимирует отношение логарифмической правдоподобности канала выход для декодирования LDPC путем рассматривания только двух вопросов в созвездии, самом близком к полученному сигналу во время демодуляции мягкого решения
Использование Es/No, обеспеченный пользователем для декодирования LDPC, вместо того, чтобы оценить Es/No от полученного сигнала
Кроме того, пример не демонстрирует эти аспекты стандарта DVB-S.2:
Короткий FECFRAME
Структурирование физического уровня (PL)
Сигнализация PL и Экспериментальная вставка
Скремблер PL
Основная полоса (BB) фильтр и квадратурная модуляция
Параметры модели
Двойной клик по блоку Model Parameters позволяет пользователям устанавливать следующие параметры для модели:
Когда модель запускается, окно автоматически подходит, чтобы отобразить график рассеивания полученного сигнала. Частота ошибок по битам LDPC, пакетный коэффициент ошибок и оцененный Es/No от полученного сигнала будут постоянно обновляться.
% Set scope visibility for next display and run simulation set_param(RX,'openScopeAtSimStart','on'); sim(modelname);
Степень кодов LDPC может с готовностью наблюдаться с помощью настроек по умолчанию: QPSK, уровень 1/2, Es/No = 1 дБ и 50 итераций в декодировании. Даже с таким низким Es/No, декодер LDPC будет редко совершать ошибку. График рассеивания ярко иллюстрирует, насколько шумный канал.
Если Es/No будет немного уменьшен, например, к 0,5 дБ, частота ошибок по битам LDPC будет намного больше. Это сопоставимо с типичными крутыми кривыми производительности кодов LDPC.
% Cleanup % % To clear the variables set above and close without saving the changes to % the model, type the following commands into the MATLAB(R) command prompt. % close_system(modelname,0);
[1] Спецификация стандарта DVB-S.2, ETSI EN 302 307 V1.1.1 (2005-03).
[2] Р. Г. Галлэджер, Имеющие малую плотность Коды с проверкой четности, Транзакции IRE на Теории информации, Издании 8, № 1, январь 1962, стр 21-28.
[3] В. Э. Райан, введение в коды LDPC, в Кодировании и Обработке сигналов для Магнитных Систем Перекодирования (Отравляют Vasic, редактора), Нажатие CRC, 2004.