Самостоятельная работа по дисциплине 
«Системы и сети связи с подвижными объектами».
Тема: Оценка эффективности LDPC-кодов стандарта DTMB.
Выполнила: 
студентка 319 группы
Горбунова В. Б.
Часть 2.
Как было сказано в статье №1, в исследуемом мной стандарте DTMB рассматриваются  LDPC-коды, иначе говоря, коды с низкой плотностью проверок на четность. Это линейные блоковые систематические коды, которые задаются проверочной матрицей и итеративным декодированием.  Декодирование – это процедура поиска и исправления ошибки, наложенной каналом на кодовое слово, по принятому из канала вектору или собственно поиск кодового слова по вектору, принятому из канала. Итеративное декодирование заключается в том, что нахождение кодового слова будет производиться за несколько циклов с последовательным уточнением результата на каждом шаге. В стандарте DTMB декодирование основано на алгоритме с распространением доверия, который работает с мягкими решениями демодулятора. 
Рассмотрим код программы, с помощью которого было произведено моделирование системы. 
Листинг 1. Здесь задаются входные данные программы. Основные величины, необходимые для корректной работы: диапазон ОСШ с выбором определенного шага, максимальное число итераций декодера и число исправления ошибок.
ind=find(H==1);                     %найти элементы матрицы Н, равные “1”
[r,c]=ind2sub(size(H),ind);      % r – номер строки; c – номер столбца
[rows,cols] = size(H);
h=sparse(H);                          % для использования LDPC-кода на базе Matlab
n=cols;                                  % количество столбцов
k=n-rows;                              % количество строк
randn('seed',843);                   %присваивание начального значения ГСЧ
dB=[0:0.25:1.95];                  % диапазон значений ОСШ в дБ
SNRpbit=10.^(dB/10);           % Eb/No преобразование из дБ в десятичное число
No_uncoded=1./SNRpbit;       % т. к. Eb=1
R=k/n;                                  % кодовая скорость
No=No_uncoded./R;
max_iter=50;                         %максимальное число итераций декодера
maximum_blockerror=100;     %максимальное число исправления ошибок

Листинг 2. Часть кода, где собственно производится декодирование. 

%u - кодовое слово для передачи сообщения
%u=zeros(1,cols); %%нулевая матрица u
1. x = (sign(randn(1,k))+1)/2;      % случайные биты
2. u = mod(x*G,2);                     % кодирование
3. tx_waveform=bpsk(u);             % входной сигнал
4. sigma=sqrt(No(z)/2);
5. rx_waveform=tx_waveform + sigma*randn(1,length(tx_waveform));  %накладывание шума

%%% Декодер LDPC, основанный на С%%%
gamma_n=(4/No(z))*rx_waveform;
vhat=decode_ldpc_new(max_iter,gamma_n,check_node_ones,max_check_degree,BIGVALUE_COLS-1,variable_node_ones, max_variable_degree, BIGVALUE_ROWS-1,rows,cols);
uhat=vhat;

На данный момент в результате выполнения программы были полученные некоторые практические результаты для LDPC-кода с тремя различными скоростями.
 
Рисунок 1 -   Зависимость вероятности битовой ошибки от ОСШ. LDPC7493,3048), скорость кодирования 0,4


Рисунок 2 -  Зависимость вероятности битовой ошибки от ОСШ. LDPC7493,4572), скорость кодирования 0,6


Рисунок 3 - Зависимость вероятности битовой ошибки от ОСШ. LDPC7493,6096), скорость кодирования 0,8

В ходе проделанной работы были извлечены и распакованы порождающие и проверочные матрицы из стандарта китайского телевидения DTMB. Произведено моделирование системы передачи данных с низкоплотностным кодированием при скоростях 0.4, 0.6, 0.8. Для оценки качества работы декодера использовалась оценка вероятности ошибки декодирования (BER) на информационный бит, вычисляемая как отношение количества ошибочных информационных бит после декодирования к общему количеству переданных информационных бит. 

Используемая литература:

1.   Gallager R. G. Low Density Parity Check Codes, 1963

2.   GB20600-2006 Framing Structure, Channel Coding and Modulation for Digital Terrestrial Television Broadcasting, 2006

3.   Солтанов А. Г. Схемы декодирования и оценки LDPC-кодов // Безопасность информационных технологий. – 2010.–№2.–С. 61-67

4.  http://omoled.ru/publications/view/1091