Перейти к содержанию
    

Есть сигнал закодированный кодеком LDPC. Но такое впечатление, что часть информации (примерно 1%) на передатчике после кодирования просто выброшена. Соответственно на приемной стороне сначала необходимо восстановить выброшеную инфу и уж потом декодировать LDPC. Кто нибудь с таким сталкивался?

Заранее спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 минут назад, Anton1990 сказал:

Но такое впечатление, что часть информации (примерно 1%) на передатчике после кодирования просто выброшена.

Очень странно звучит. Я бы понимал, если бы это было перфорирование, но в таком случае точно не 1% выбрасывается.

 

39 минут назад, Anton1990 сказал:

восстановить выброшеную инфу и уж потом декодировать LDPC.

Зачем? Если известны параметры кода (и граница кодового блока), то на то он и помехоустойчивый код, чтобы восстанавливать переданные данные. Пусть он их исправляет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Grizzly said:

Очень странно звучит. Я бы понимал, если бы это было перфорирование, но в таком случае точно не 1% выбрасывается.

 

Зачем? Если известны параметры кода (и граница кодового блока), то на то он и помехоустойчивый код, чтобы восстанавливать переданные данные. Пусть он их исправляет.

Если используется выравнивание скорости (rate matching, применяется, например, в WCDMA и LTE), то может быть и 1 бит выброшен, и 10, и 100.

Под восстановлением ТС имеет ввиду, вероятно, вставку удаленных бит, обычно с нулевым значением, без этой процедуры декодировать, понятно, не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, stealth-coder сказал:

(rate matching, применяется, например, в WCDMA и LTE)

В этом случае не получится декодировать, да. Согласен. Но параметры rate matching можно отнести к набору необходимых знаний о кодеке. В LTE в круговом буфере ведь ещё и перемежение производится к тому же, а не только удаление или вставка битов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/10/2020 at 6:01 PM, Grizzly said:

Очень странно звучит. Я бы понимал, если бы это было перфорирование, но в таком случае точно не 1% выбрасывается.

 

Зачем? Если известны параметры кода (и граница кодового блока), то на то он и помехоустойчивый код, чтобы восстанавливать переданные данные. Пусть он их исправляет.

При таком объеме неизвестных (ошибочных бит) код как то не очень справляется.

On 1/10/2020 at 7:08 PM, Tano said:

"Есть сигнал закодированный кодеком LDPC. " Ну конкретизируйте...модель плизззз...

Сигнал реальный, модели никакой нет. Тут хотелось бы понять саму идею. Зачем это делается и какой подход к декодированию нужно применять?

20 hours ago, stealth-coder said:

Если используется выравнивание скорости (rate matching, применяется, например, в WCDMA и LTE), то может быть и 1 бит выброшен, и 10, и 100.

Под восстановлением ТС имеет ввиду, вероятно, вставку удаленных бит, обычно с нулевым значением, без этой процедуры декодировать, понятно, не получится.

Здесь Вы, наверное, наиболее близки к истине. Но вопрос в том является ли это типовым случаем? И если "да", то какой подход применяется для декодирования таких сигналов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Anton1990 сказал:

При таком объеме неизвестных (ошибочных бит) код как то не очень справляется.

А как вы это определяете? По CRC?

 

2 часа назад, Anton1990 сказал:

Сигнал реальный, модели никакой нет.

Но ведь система какая-то определенная, в которой заданы параметры кодека.

 

2 часа назад, Anton1990 сказал:

Зачем это делается и какой подход к декодированию нужно применять?

Чтобы гибко управлять скоростью кода. Зачем? Для управления помехоустойчивостью и спектральной эффективностью. Например, в LTE есть набор полос с определенными наборами частотно-временных ресурсов. Если кодовый блок большой, то его не разместить в слоте, поэтому необходимо удалить часть проверочных битов. Если же блок мал, то как-то нужно заполнить всю частотно-временную плоскость, логично в этом случае определенным образом повторить какие-то биты, уменьшив тем самым скорость кода и увеличив помехоустойчивость.

 

2 часа назад, Anton1990 сказал:

Но вопрос в том является ли это типовым случаем?

Да. В названных системах это типовой случай.

 

2 часа назад, Anton1990 сказал:

И если "да", то какой подход применяется для декодирования таких сигналов?

Знание характеристик блоков rate matcher/dematcher. Они дуальны, поэтому одного.

Вернусь к первому моему вопросу о том, как вы определили, что какие-то биты не передаются. В начале блока, в середине, в конце? Если бы использовались блоки выравнивания скоростей, как я описал про LTE, то без знания их структуры вы бы не смогли безошибочно декодировать ваш код.

Нужны еще какие-то подробности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/12/2020 at 1:51 AM, Grizzly said:

Если кодовый блок большой, то его не разместить в слоте, поэтому необходимо удалить часть проверочных битов.

Извините что вмешиваюсь, а точно там удаляются только проверочные биты? Прочитал пару раз, документ 3GPP TS 38.212 V15.7: есть всего два вида матриц(графов) для коротких и длинных пакетов, длина данных дополняется нулями для графа 1/2 до размера К = 22Z/10Z, длина блока кодирования N = 66Z. (Z - размер базовой подматрицы).

Получается код 1/3. Но вот дальше не вижу способа формирования остальных скоростей кодирования, хотя максимальная заявлена 948/1024. В процедуре "Rate matching for LDPC code", судя по псевдо коду в разделе 5.4.2.1 Bit selection следует что вырезается линейный блок, нужного размера, начиная с определенного, не обязательно нулевого, индекса. Получается выкалывают не только проверочные биты. :search: Если это так, то мне странно, почему это работает)

ЗЫ. А вы не разбирались, почему первые 2Z битов данных на входе кодера отбрасываются и не передаются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, des00 сказал:

Извините что вмешиваюсь, а точно там удаляются только проверочные биты?

Всегда рады :bb:

Да я еще про старый, то есть нынешний вариант, где турбокоды. Новый с LDPC я особо не читал. Типа, про общий принцип написал. Надо ждать конкретики по системе от ТС.

2 часа назад, des00 сказал:

ЗЫ. А вы не разбирались, почему первые 2Z битов данных на входе кодера отбрасываются и не передаются?

Надо будет почитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/11/2020 at 9:51 PM, Grizzly said:

А как вы это определяете? По CRC?

При последующей обработке сигнала

On 1/11/2020 at 9:51 PM, Grizzly said:

Но ведь система какая-то определенная, в которой заданы параметры кодека.

Сигнал реальный, система не известна, ну по крайней мере не у кого спросить.

On 1/11/2020 at 9:51 PM, Grizzly said:

Чтобы гибко управлять скоростью кода. Зачем? Для управления помехоустойчивостью и спектральной эффективностью. Например, в LTE есть набор полос с определенными наборами частотно-временных ресурсов. Если кодовый блок большой, то его не разместить в слоте, поэтому необходимо удалить часть проверочных битов. Если же блок мал, то как-то нужно заполнить всю частотно-временную плоскость, логично в этом случае определенным образом повторить какие-то биты, уменьшив тем самым скорость кода и увеличив помехоустойчивость.

 

Да. В названных системах это типовой случай.

 

Знание характеристик блоков rate matcher/dematcher. Они дуальны, поэтому одного.

Вернусь к первому моему вопросу о том, как вы определили, что какие-то биты не передаются. В начале блока, в середине, в конце? Если бы использовались блоки выравнивания скоростей, как я описал про LTE, то без знания их структуры вы бы не смогли безошибочно декодировать ваш код.

Нужны еще какие-то подробности.

В сигнале выброшены быты двумя блоками. Первый блок N - выброшены, потом кусочек сигнала, потом снова K-бит выброшены.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Anton1990 сказал:

При последующей обработке сигнала

Так какая метрика используется? По данным в payload, которые ожидаются?

 

2 часа назад, Anton1990 сказал:

Сигнал реальный, система не известна, ну по крайней мере не у кого спросить.

Это понятно было с самого начала. Нужно читать стандарты и искать что-то похожее. Дальше уже подбирать/перебирать неизвестные параметры. Только запись должна быть идеальной для таких задач.

 

2 часа назад, Anton1990 сказал:

В сигнале выброшены быты двумя блоками. Первый блок N - выброшены, потом кусочек сигнала, потом снова K-бит выброшены.

Непонятно. Кусочек сигнала - это ожидаемые информационные биты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 minutes ago, Grizzly said:

Так какая метрика используется? По данным в payload, которые ожидаются?

 

50 minutes ago, Grizzly said:

Это понятно было с самого начала. Нужно читать стандарты и искать что-то похожее. Дальше уже подбирать/перебирать неизвестные параметры. Только запись должна быть идеальной для таких задач.

А можно тыкнуть носом в стандарты или хотя бы направление где искать?

50 minutes ago, Grizzly said:

Непонятно. Кусочек сигнала - это ожидаемые информационные биты?

Точных данных о сигнале расказывать не буду (надеюсь причины понятны), но приведу такой пример.

Сигнал порезан на слоты каждый из которых обрабатывается отдельно. Длина слота 2000 бит.

Формат принятого слота 1500 бит информации и 500 проверочных бит. Но достоверно известно, что на выходе декодера должно быть 1600 бит информации. Путем анализа установлено, что он формируется из 1200 бит принятой информации, потом вставка из 20 бит информации (т.е. эти 20 бит не принимались и они отсутствуют во входном потоке), потом 40 бит принятой информации, потом 80 бит информации, которой нет во входном потоке, и потом оставшиеся биты принятой информации.

Соответственно не понятно откуда взялись два блока информации по 20 и 80 бит, которых нет в входном потоке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, Anton1990 сказал:

А можно тыкнуть носом в стандарты или хотя бы направление где искать?

Например, это может быть что-то подобное DVB-S2, новому LTE, WiMax. Вариантов много.

 

7 минут назад, Anton1990 сказал:

Соответственно не понятно откуда взялись два блока информации по 20 и 80 бит, которых нет в входном потоке. 

Вполне возможно, что у вас мультиплексированы потоки. Блоки с малым количеством битов отвечают за служебную информацию (MCS, RSSI и т.д.). Опять же это по аналогии с LTE.

На самом же деле может быть всё что угодно.

10 минут назад, Anton1990 сказал:

Путем анализа установлено, что он формируется из 1200 бит принятой информации, потом вставка из 20 бит информации (т.е. эти 20 бит не принимались и они отсутствуют во входном потоке), потом 40 бит принятой информации, потом 80 бит информации, которой нет во входном потоке, и потом оставшиеся биты принятой информации.

То есть у вас есть устройство, на вход которого вы можете подавать данные, а затем разбирать выход? Половина дела у вас уже сделана. Можно существенно сузить поле для поиска. А так, да. Придется очень долго и много всего перебирать, если нет хоть какой-нибудь конкретики.

15 минут назад, Anton1990 сказал:

Формат принятого слота 1500 бит информации и 500 проверочных бит.

Вы демодулировали и декодировали сформированные и переданные вами блоки данных? Смотрели на систематическую часть кода?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 minutes ago, Grizzly said:

Например, это может быть что-то подобное DVB-S2, новому LTE, WiMax. Вариантов много.

Это точно не DVB-S2

9 minutes ago, Grizzly said:

На самом же деле может быть всё что угодно.

Здесь я полностью согласен.

9 minutes ago, Grizzly said:

То есть у вас есть устройство, на вход которого вы можете подавать данные, а затем разбирать выход? Половина дела у вас уже сделана. Можно существенно сузить поле для поиска. А так, да. Придется очень долго и много всего перебирать, если нет хоть какой-нибудь конкретики.

Вы демодулировали и декодировали сформированные и переданные вами блоки данных? Смотрели на систематическую часть кода?

Пока есть программная реализация и то не моя. И да есть демодулированный поток. И все. Больше инфы никакой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, Anton1990 сказал:

демодулированный поток

Тогда только единственный выход - смотреть на параметры сигнала (пилоты, преамбулы, длительность фреймов и т.д.) и искать похожие стандарты. Один только поток вряд ли чем-то поможет.

 

34 минуты назад, Anton1990 сказал:

Пока есть программная реализация и то не моя.

Нужно читать внимательно исходники и разбираться, что же всё-таки за система. Желательно с автором, чтобы процесс шел быстрее.

И всё равно странно. Как вы, не зная стандарта, так смело можете утверждать о числе информационных битов - 1500. Может быть, это вообще какой-то мусор на выходе декодера. Непонятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...