|
Матричный анализ кодов, Поиск параметров LDPC |
|
|
|
Jan 5 2016, 06:22
|
Группа: Участник
Сообщений: 6
Регистрация: 15-12-15
Пользователь №: 89 693

|
Всем привет. Пишу диплом. Нужна помощь следующего характера. Мой руководитель дал мне запись ЦИФРОВОГО ПОТОКА после демодуляции QPSK сигнала. Видна структура на периоде. Путем перебора удалось подобрать правильную фазу для устранения фазовой неоднозначности. Уровень сигнала при приеме 22 дБ - ошибок быть просто не должно!
Теперь собственно вопрос - как получить проверочную или порождающую матрицу LDPC-кода из имеющегося потока?
Я знаю, как определять параметры кодов Хэмминга - заполнить матрицу и получить диагональную. Это канает для всех блочных циклических кодов - для LDPC тоже?
|
|
|
|
|
 |
Ответов
|
Jan 6 2016, 00:46
|
Группа: Участник
Сообщений: 6
Регистрация: 15-12-15
Пользователь №: 89 693

|
Цитата(Grizzzly @ Jan 6 2016, 01:13)  То есть вам априори ничего неизвестно о коде? Например, его скорость, длина блока и т.д. Это задача слепой идентификации кода. Смотреть статьи по темам "Blind Identification of LDPC Codes", "Identification of LDPC Codes" и т.д. Спасибо, что откликнулись! Совсем забыл про это написать! Скорость кода известна - 0.5. Длина кодового слова тоже известна, но так как у меня все данные в академии я не помню точно сколько - но длина блока известна. Соответственно мне надо написать декодер этого кода, а чтобы его написать надо получить матрицу.
|
|
|
|
|
Jan 6 2016, 08:41
|
Знающий
   
Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748

|
Цитата(Loona @ Jan 6 2016, 03:46)  Спасибо, что откликнулись! Совсем забыл про это написать! Скорость кода известна - 0.5. Длина кодового слова тоже известна, но так как у меня все данные в академии я не помню точно сколько - но длина блока известна. Так уже лучше, но все равно таких матриц может быть очень много. Задача идентификации, как вы понимаете, весьма непростая. Кстати, про фазу. У вас после демодуляции должен быть битовый поток - последовательность 0 и 1. Как вы могли подбирать фазу? В случае мягкой демодуляции на выходе последовательность LLR. Здесь тоже непонятно, как вы что-то делали с фазой.
Сообщение отредактировал Grizzzly - Jan 6 2016, 10:30
|
|
|
|
|
Jan 7 2016, 09:12
|
Группа: Участник
Сообщений: 6
Регистрация: 15-12-15
Пользователь №: 89 693

|
Цитата(Grizzzly @ Jan 6 2016, 18:41)  Кстати, про фазу. У вас после демодуляции должен быть битовый поток - последовательность 0 и 1. Как вы могли подбирать фазу?
В случае мягкой демодуляции на выходе последовательность LLR. Здесь тоже непонятно, как вы что-то делали с фазой. Сигнал записан простым спутниковым модемом, кажется CDM какой-то, на его выходе БИТОВЫЙ поток. Код оказался систематическим - явно можно отделить проверочную часть от информационной. Так как модуляция 4-х позиционная, то путем перебора удалось подобрать фазу путем проворота созвездия, отсюда же и удалось выяснить истинную преамбулу (уникальное слово). Конец повествованию. Цитата(andyp @ Jan 6 2016, 21:17)  Вопрос не очень корректен по двум причинам: 1. Существует много линейных кодов, соответствующих одному и тому же набору кодовых слов (см. эквивалентные коды). Их порождающие матрицы могут быть получены линейными преобразованиями друг из друга. 2. В потоке может быть недостаточно кодовых слов, чтобы получить порождающую матрицу (на сколько я это представляю, должно быть как минимум n/2 линейно независимых кодовых слов в Вашем случае)
Если 2 выполняется, то можно выписать кодовые слова в строки и с помощью линейных преобразований привести полученную матрицу к виду [I -P], I - единичная, размером n/2. Получите порождающую матрицу эквивалентного кода в стандартной форме. Ирония в том, что у LDPC в строках и столбцах должно быть не больше определенного количества единиц (ну или четко определенное количество, если код регулярный). Полученная матрица этому условию скорее всего удовлетворять не будет, так как про систематические LDPC коды что-то не слышно. Мало того, даже если и удастся найти матрицу, удовлетворяющую этому условию (для этого надо знать макcимальную связность (parity and chеck node degree)), то не факт, что найденный эквивалентный код соответствует исходному (он, например, может быть получен из исходного простой перестановкой строк порождающей матрицы). На практике нам давали записанный цифровой поток, который являл собой турбокод на базе компонентных кодов Хэмминга. К сожалению это было достаточно давно и параметры кода я не помню. Так вот что мы делали, коротко говоря мы выписали кодовые слова (не турбокода, а одного из кодов Хэмминга), зная длину кодового слова мы заполнили матрицу шириною, равной длине кодового слова и очень большой высоты. Затем складывая различные строки мы получили матрицу с диагональной информационной частью - это была порождающая матрица. Из нее мы получили порождающий полином и из него - проверочный. Подставив полученный полином в программу для декодирования - мы получили поток после декодирования. Поэтому я точно знаю, что параметры турбокода так можно определить и я даже подозреваю, что наш препод иногда делает работу для государства. Тем не менее, как он говорил - так он колонул не один код и сам писал декодеры для взломанных кодов. Почему же LDPC код так нельзя сделать? Получить матрицу с диагональной информационной частью можно или нельзя?
|
|
|
|
Сообщений в этой теме
Loona Матричный анализ кодов Jan 5 2016, 06:22   Serg76 Цитата(Grizzzly @ Jan 6 2016, 11:41) Кста... Jan 6 2016, 10:39 andyp Цитата(Loona @ Jan 5 2016, 09:22) Теперь ... Jan 6 2016, 11:17 Maverick Цитата(andyp @ Jan 6 2016, 13:17) Вопрос ... Jan 6 2016, 13:06  andyp Цитата(Maverick @ Jan 6 2016, 16:06) на м... Jan 6 2016, 13:31 smoke_111 Проблема в том что даже если вы получите матрицу в... Jan 7 2016, 10:43 Corner Как это бывает в России. Преподаватель вынес на ди... Jan 8 2016, 06:51 Serg76 Цитата(Corner @ Jan 8 2016, 10:51) Как эт... Jan 8 2016, 08:21 Loona Цитата(Corner @ Jan 8 2016, 16:51) Как эт... Jan 8 2016, 09:12 smoke_111 Это все данные для этой задачи? Jan 10 2016, 10:03 Fat Robot Если вопрос в дипломе именно в такой постановке, т... Jan 10 2016, 11:32 roman522 Приветствую.
Решал данную задачу практически совсе... Jan 12 2016, 07:10 Serg76 Цитата(roman522 @ Jan 12 2016, 10:10) Реш... Jan 12 2016, 14:38  roman522 Цитата(Serg76 @ Jan 12 2016, 17:38) Харак... Jan 12 2016, 18:38   Serg76 Цитата(roman522 @ Jan 12 2016, 21:38) N=7... Jan 12 2016, 19:11    roman522 Цитата(Serg76 @ Jan 12 2016, 23:11) Ок, с... Jan 12 2016, 20:03     Serg76 Цитата(roman522 @ Jan 13 2016, 00:03) Гла... Jan 12 2016, 21:00     SKov Цитата(roman522 @ Jan 12 2016, 23:03) Не ... Jan 28 2016, 15:07      andyp Цитата(SKov @ Jan 28 2016, 18:07) Это пра... Jan 28 2016, 16:15       SKov Цитата(andyp @ Jan 28 2016, 19:15) ..
Оче... Jan 28 2016, 19:15        andyp Цитата(SKov @ Jan 28 2016, 22:15) Было ск... Jan 28 2016, 21:10         SKov Цитата(andyp @ Jan 29 2016, 00:10) Не наш... Jan 28 2016, 21:44          andyp Цитата(SKov @ Jan 29 2016, 00:44) Честно ... Jan 28 2016, 23:29        AspireSky Цитата(SKov @ Jan 28 2016, 22:15) Было ск... Jan 29 2016, 23:00 Loona Цитата(roman522 @ Jan 12 2016, 17:10) При... Dec 22 2017, 12:35  Tpeck Цитата(Loona @ Dec 22 2017, 15:35) Я все ... Dec 22 2017, 12:57   Serg76 Цитата(Tpeck @ Dec 22 2017, 15:57) abp - ... Dec 22 2017, 13:47    Tpeck Цитата(Serg76 @ Dec 22 2017, 16:47) Навер... Dec 22 2017, 13:55     Serg76 Цитата(Tpeck @ Dec 22 2017, 16:55) Спасиб... Dec 22 2017, 13:58 abraziv Добрый день товарищи инженера. Почему все говорят,... Sep 18 2017, 13:15 Serg76 Цитата(abraziv @ Sep 18 2017, 16:15) Добр... Sep 19 2017, 10:12 AspireSky Цитата(abraziv @ Sep 18 2017, 16:15) Добр... Sep 22 2017, 20:22 abraziv Да, но декодирование с помощью полученной матрице ... Sep 19 2017, 11:37 AspireSky Цитата(abraziv @ Sep 19 2017, 15:37) Да, ... Sep 21 2017, 08:11
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|