Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как получить порождающую матрицу LDPC DVB S-2 ?
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Cat-S
Добрый вечер!

Завела тему в разделе "Математика и физика", но никто не отвечает, похоже, ошиблась с разделом.
Здесь вижу больше тем по LDPC.

https://electronix.ru/forum/index.php?showtopic=139113

Наверное, продублирую здесь, т.к. больше по теме ЦОС. Архивы читала, но ответа на свой вопрос так и не нашла.

-----------------------------------------
В стандарте ETSI EN 302 307 V1.2.1 (2009-08) в пункте 5.3.2 приведен метод генерации проверочной матрицы H, но отсутствует метод генерации порождающей матрицы G. Проверочная матрица с двойной диагональю, т.е. метод конструирования порождающей матрицы, приведенный во всех книжках:
H=[A I n-k ], G =[I k | A t ] не подходит. (I- единичная матрица)

Саму порождающую матрицу удалось вытащить из МАТLAB, но нужен именно способ генерации порождающей матрицы G.

Подскажите, пожалуйста, алгоритм или книги-статьи, в которых этот метод описан.
andyp
Цитата(Cat-S @ Dec 6 2016, 21:34) *
Добрый вечер!


Наверное, продублирую здесь, т.к. больше по теме ЦОС. Архивы читала, но ответа на свой вопрос так и не нашла.

-----------------------------------------
В стандарте ETSI EN 302 307 V1.2.1 (2009-08) в пункте 5.3.2 приведен метод генерации проверочной матрицы H, но отсутствует метод генерации порождающей матрицы G. Проверочная матрица с двойной диагональю, т.е. метод конструирования порождающей матрицы, приведенный во всех книжках:
H=[A I n-k ], G =[I k | A t ] не подходит. (I- единичная матрица)

Саму порождающую матрицу удалось вытащить из МАТLAB, но нужен именно способ генерации порождающей матрицы G.

Подскажите, пожалуйста, алгоритм или книги-статьи, в которых этот метод описан.


Есть один ответ, но он Вам скорее всего не понравится:

Генерирующую матрицу находят как решение уравнения G * transpose(H) = 0 (*)

DVB-S2 использует так называемый eIRA код, специально построенный так, чтобы процедура кодирования имела линейную сложность. Для них проверочная матрица разбивается на две части H = [H1 H2]

H2 имеет по две единицы на главной диагонали и при инверсии дает нижнюю треугольную, т.е. H2_inv = H2^-1 - нижняя треугольная

Пусть генерирующая матрица имеет вид G = [I P]. тогда для (*):

I*transpose(H1) + P *transpose(H2) = 0; + по модулю 2

Отсюда

P *transpose(H2) = transpose(H1)
P = transpose(H1) * inverse(transpose(H2))

Получаем: P = transpose(H1)*transpose(H2_inv);

transpose(H2_inv) - верхняя треугольная из единиц.

Читать про две половинки проверочной матрицы и какой вид они имеют в случае DVB-S2 можно например отсюда:
http://www.csee.wvu.edu/~mvalenti/documents/DVBChapter.pdf (стр 13)

Как конкретно формируется H1 для DVB-S2 кода я не знаю.

Про eIRA читать можно начать отсюда
https://www.josephboutros.org/ldpc_vs_turbo...n_li_TCOM04.pdf

А вообще не очень понятно, зачем оно Вам - авторы стандарта дали вам эффективную процедуру кодирования с линейной сложностью, вместо нее Вы хотите поизучать нечто со сложностью O(n^2)

Cat-S
Спасибо большое за ответ! Выкладки ваши поняла, перечитала нужный пункт стандарта и обнаружила, что мой вопрос и попытка "залезть в дебри" был вызван невнимательным чтением стандарта.
Tpeck
Цитата(andyp @ Dec 6 2016, 23:26) *
Есть один ответ, но он Вам скорее всего не понравится:

Не подскажите где можно найти порождающую матрицу LDPC WiMAX?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.