exponenta event banner

DVB-S.2 Ссылка, включая кодирование LDPC в Simulink

Эта модель показывает современную схему кодирования канала, используемую в стандарте цифрового видеовещания второго поколения (DVB-S.2), который развернут DIRECTV в США. Схема кодирования основана на конкатенации кодов LDPC (проверка четности с низкой плотностью) и BCH. LDPC-коды, изобретенные Галлагером в его основной докторской диссертации в 1960 году, могут достигать чрезвычайно низких коэффициентов ошибок вблизи пропускной способности канала, используя алгоритм итеративного декодирования с низкой сложностью. Внешние коды BCH используются для исправления спорадических ошибок, сделанных декодером LDPC.

Канальные коды для DVB-S.2 обеспечивают значительное увеличение пропускной способности по сравнению с DVB-S при тех же условиях передачи и позволяют работать без квазиошибок (частота ошибок пакетов ниже 10 ^ -7) на уровне от 0,7 дБ до 1 дБ от предела Шеннона, в зависимости от режима передачи.

Этот пример моделирует кодер BCH, кодер LDPC, перемежитель, модулятор, а также их аналоги в приемнике в соответствии со стандартом DVB-S.2.

Структура примера

Система связи в этом примере выполняет следующие задачи:

  • Генерация BBFRAME случайным источником

  • Кодирование BCH для всех параметров кодирования и нормального FECFRAME

  • Кодирование LDPC для всех параметров кодирования и нормального FECFRAME

  • Чередование

  • Модуляция (QPSK, 8PSK, 16APSK или 32APSK)

  • Моделирование каналов AWGN

  • Демодуляция с мягким решением

  • Deinterleaving

  • Декодирование 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 и DATA FIELD в BBFRAME с использованием двоичного случайного источника Бернулли и не выполняет скремблирование основной полосы частот

  • Поддерживает только обычный FECFRAME (т.е. длина блока кодов 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-коды, в кодировании и обработке сигналов для магнитных систем кодирования (Bane Vasic, ред.), CRC Press, 2004.