Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: (DVB-T2) FFT32K (россия) Ишу образец живого сигнала с эфира
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
victor_lggg
Сначала пытал счастье на англоязычном GnuRadio форуме, но пока ответов не получал:

Hi, i work on software T2 decoder. Now decoder can detect and demodulate
P1 symbol, and estimate sample rate and carrier offset mostly correctly
on gaussian noise channel. (P1 Detection impemented like in "DVB-T2
Implementation Guide", robust estemation goes by correlation beetween
two FFT1K parts of P1, (sliced part shifted by 1 sample before
correlation whith middle FFT1K part, then S1, S2 indicators detected
wihth frequency loop, by minimal hamming distance, beetween received
data, and known patterns, after S1 S2 decoded, fine offset estimation
performed by comparing phase offsets beetween 2 carriers of recieved,
and generated P1 parts). Guard interval detection already works too. I
stoped after L1PRE demodulation, my decoder use only BCH, bypassing LDPC
step, (cause LDPC/BCH coding in T2 is systematic) It works normaly with
syntezited DVB-T2 signals. But not with real world signals. I have a DIY
SDR receiver whith quite poor SNR (but it can receive DVB-T 16QAM 3/2
8Mhz from test generator with antennas - in our air is only T2). I try
to capture T2 signal from air, but decoder show only S1 S2 (0 10 in my
area), but offset estemated incorrectly.


So can anyboby share DVB-T2 samples (1 sec is enough) ??

Thanks !.

Кто может оцифровать кусочек DVB-T2 ? очень надеюсь на вашу помощь
---------
Виктор
Serg76
Цитата(victor_lggg @ Mar 15 2015, 06:20) *
Сначала пытал счастье на англоязычном GnuRadio форуме, но пока ответов не получал:

Hi, i work on software T2 decoder. Now decoder can detect and demodulate
P1 symbol, and estimate sample rate and carrier offset mostly correctly
on gaussian noise channel. (P1 Detection impemented like in "DVB-T2
Implementation Guide", robust estemation goes by correlation beetween
two FFT1K parts of P1, (sliced part shifted by 1 sample before
correlation whith middle FFT1K part, then S1, S2 indicators detected
wihth frequency loop, by minimal hamming distance, beetween received
data, and known patterns, after S1 S2 decoded, fine offset estimation
performed by comparing phase offsets beetween 2 carriers of recieved,
and generated P1 parts). Guard interval detection already works too. I
stoped after L1PRE demodulation, my decoder use only BCH, bypassing LDPC
step, (cause LDPC/BCH coding in T2 is systematic) It works normaly with
syntezited DVB-T2 signals. But not with real world signals. I have a DIY
SDR receiver whith quite poor SNR (but it can receive DVB-T 16QAM 3/2
8Mhz from test generator with antennas - in our air is only T2). I try
to capture T2 signal from air, but decoder show only S1 S2 (0 10 in my
area), but offset estemated incorrectly.


So can anyboby share DVB-T2 samples (1 sec is enough) ??

Thanks !.

Кто может оцифровать кусочек DVB-T2 ? очень надеюсь на вашу помощь
---------
Виктор

Насколько я понял, проблема в реализации LDPC? Не знаю, занимался ли кто-нибудь DVB-T2, но в принципе можно попробовать взять фреймы из DVB-S2 и поработать с ними, схема FEC там такая же? Буквально недавно тема по S2 здесь всплывала, может у кого-то и есть реализации.
Dr.Alex
Цитата(Serg76 @ Mar 15 2015, 11:29) *
Насколько я понял, проблема в реализации LDPC?

Наоборот, он пишет что забил на код поскоку он всё равно систематический.
Только я не понял, как он собирается демодулировать реальный сигнал "use only BCH", если БЧХ снимается только после ЛДПЦ?
В эфирном сигнале ошибки точно будут, соотвецно БЧХ никогда не пройдёт.
Serg76
Цитата(Dr.Alex @ Mar 15 2015, 14:15) *
Наоборот, он пишет что забил на код поскоку он вс

насколько я понял, что "затык" после демодуляции, из каскадного кода реализован только БЧХ, LDPC используется в байпасе, т.е. из него просто выделена систематическая часть, без коррекции, но может проблема не в этом?
Dr.Alex
Цитата(Serg76 @ Mar 15 2015, 13:23) *
насколько я понял, что "затык" после демодуляции, из каскадного кода реализован только БЧХ, LDPC используется в байпасе, т.е. из него просто выделена систематическая часть, без коррекции, но может проблема не в этом?

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

Насчёт кода я продолжаю ничего не понимать:: байпасить можно ОБА (поскоку оба систематические), либо ВНУТРЕННИЙ, то есть БЧХ.
А применять БЧХ, проигнорировав ЛДПЦ, никак не получится.
Serg76
Цитата(Dr.Alex @ Mar 15 2015, 14:30) *
А как можно понять, что затык именно после демодуляции, если единственный критерий - декодируется или нет?
Синхронизация у него вроде проходит.

Насчёт кода я продолжаю ничего не понимать:: байпасить можно ОБА (поскоку оба систематические), либо ВНУТРЕННИЙ, то есть БЧХ.
А применять БЧХ, проигнорировав ЛДПЦ, никак не получится.

Потому что там четко написано, что он остановился после демодуляции, значит демодулятор реализован. Из декодеров с коррекцией реализован только БЧХ, LDPC - без коррекции, оба систематические, а применить БЧХ без предварительного декодирования LDPC - легко, т.к. именно LDPC используется в качестве внутреннего, а БЧХ внешнего кода, хотя нафиг такое надо (корректировать только по БЧХ, без LDPC), я не знаю, может там ломовой сигнал, может LDPC будет реализован позже, а щас по-быстрому надо отследить правильность реализации тракта. Я по-другому скажу, в этих стандартах настолько мощный LDPC, что БЧХ там и не нужен, он скорее там используется вместо CRC, потому что реальной коррекции он там практически никакой не сделает, если LDPC не справится до него, я в этом убедился и в своем декодере я от него просто избавился, т. к. по-просту жрет ресурс.
Dr.Alex
Цитата(Serg76 @ Mar 15 2015, 14:39) *
а применить БЧХ без предварительного декодирования LDPC - легко, т.к. Именно LDPC используется в качестве внутреннего, а БЧХ внешнего кода, хотя нафиг такое надо, я не знаю. Я по-другому скажу, в этих стандартах настолько мощный LDPC, что БЧХ там и не нужен, он скорее там используется вместо CRC, потому что реальной коррекции он там практически никакой не сделает, если LDPC не справится до него, я в этом убедился и в своем декодере я от него просто избавился, т. к. по-просту жрет ресурс.

Где-то вы ошиблись. Чтобы путаницы с "внутренний/внешний" не было, повторяю::
Сначала кодируется БЧХ, потом всё это кодируется ЛДПЦ.
Сначала декодируется ЛДПЦ, затем декодируется БЧХ.
Поэтому не декодировав ЛДПЦ, декодировать БЧХ нельзя: ошибок в реальном сигнале будет слишком много, а БЧХ может исправить 8-12 битовых.
БЧХ нужен для устранения error floor, который имеется у ЛДПЦ.
Serg76
Цитата(Dr.Alex @ Mar 15 2015, 15:13) *
Где-то вы ошиблись. Чтобы путаницы с "внутренний/внешний" не было, повторяю::
Сначала кодируется БЧХ, потом всё это кодируется ЛДПЦ.
Сначала декодируется ЛДПЦ, затем декодируется БЧХ.
Поэтому не декодировав ЛДПЦ, декодировать БЧХ нельзя: ошибок в реальном сигнале будет слишком много, а БЧХ может исправить 8-12 битовых.
БЧХ нужен для устранения error floor, который имеется у ЛДПЦ.

Нигде я не ошибся, и вы все правильно говорите, но что мне мешает декодировать сразу БЧХ без предварительного декодирования LDPC? Ответ: принципиально ничего, другой вопрос, что из этого ничего путного не получится и все будет определяться входным SNR; если на входе 20 дБ и QPSK, то там и ошибок не будет, может у автора такая ситуация и ему на данном этапе надо просто проверить тракт, а реализация LDPC отложена на потом. Цель БЧХ в этой схеме - это борьба с группами ошибок, которые образуются после декодирования LDPC, о чем вы и говорите, а вся основная нагрузка по коррекции ложится на LDPC, его и принято называть внутренним, вспомните хотя бы аналогию с каскадным кодом RS + Viterbi. БЧХ здесь нужен только исключительно для контроля целостности фрейма, реально никакой коррекции, он конечно же не производит.
Dr.Alex
Цитата(Serg76 @ Mar 15 2015, 15:45) *
но что мне мешает декодировать сразу БЧХ без предварительного декодирования LDPC? Ответ: принципиально ничего, другой вопрос, что из этого ничего путного не получится и все будет определяться входным SNR

Так я с этого и начал:: у автора синтезированный сигнал декодируется, а реальный — нет, и именно потому, что реальный содержит ошибки, а значит обходить ЛДПЦ а потом ещё чему-то удивляться — бессмысленно.
victor_lggg
Всем спасибо за участие. По LDPC: Я пробовал декодировать его библиотекой IT++, но у так и не получилось заставить ее работать, процедура дешифровки работает корректно (исправляет ошибки, что вроде как указывает на то что матрица составлена правильно (утверждать не берусь - с математикой я на Вы, простой полином из которого генерируется GF2 поле для BCH искал перебором, там всего 15 бит), но только если входные данные не пунктированы, в реальности же по каналу передаётся только часть кодового слова и после депунктуации, процедура из IT++ даёт неправильный результат, я пробовал по всякому изменять веса для разных областей кодового слова (не предискажённой, занулёванной и пунктирной) но так и не добился результата. Возможно, что не верно составлена матрица, но не исключено что проблема в самой IT++. Пунктир 100% правильный, всё совпадает с матлабовским результатом
Думаю, что сейчас LDPC не обазателен - L1 разделён на две области (L1pre и L1post). L1pre всегда передаётся двухуровневой модуляцией (так чо он очень помехоустойчив), по существу это структура описывающая некоторые параметры сигнала, напрмер такие как величина защитного интервала и, главное - способ модуляции L2post, который содержит инфу в частости о том какой паттерн пилот-тонов используется, так что подстройка по пилот-тонам должна осуществляться после демодуляции L1post (в T2 нет краевых пилотов, вернее они могут быть использованны опционально).
В качестве эксперимента порбовал искать частотный сдвиг перебором, (алгоритм демодуляции P0 даёт точность до третьего знака, даже на сильно зашумлённом (и неравномерном по АЧХ) сигнале но этого недостаточно дль FFT32K, но CRC (она есть в L1pre) так и не совпала, это наводит на мысль, что сигнал принят с искажениями (в нашей антенне, он действительно имеет равномерный завал (10db) сверху вниз)
думал что проблема в моём SDR, но затем проверил брелком (RTL-SDR), так и есть - притом телек показывает качество сигнала на уровне 95-100%) Синтезированный сигнал при внесении подобного искажения демодулируется нормально.

Может у кого-нибудь есть телеприёмник, который показывает расширенную информацию о сигнале - особенно интересует точное значение защитного интервала
Serg76
Цитата(Dr.Alex @ Mar 15 2015, 16:52) *
Так я с этого и начал:: у автора синтезированный сигнал декодируется, а реальный — нет, и именно потому, что реальный содержит ошибки, а значит обходить ЛДПЦ а потом ещё чему-то удивляться — бессмысленно.

Ок, а то мне показалось, что вы принципиально против возможности декодировать БЧХ без предварительного снятия LDPC )))

Цитата(victor_lggg @ Mar 15 2015, 17:28) *
Возможно, что не верно составлена матрица, но не исключено что проблема в самой IT++.

Все матрицы приведены в даташите, по крайней мере, для DVB-S2 именно так
Gold777
Что такое error floor?
Grizzzly
Цитата(Gold777 @ Mar 26 2015, 21:32) *
Что такое error floor?

http://en.wikipedia.org/wiki/Error_floor
Tano
Заходите на http://www.bbc.co.uk/search?q=dvb-t2
и в 2012 году там было много тестов. По блочно. Если не найдёте, то у меня где-то немного было. Поищу...
И ещё.... http://dvb-t2-csp.sourceforge.net/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.