Уважаемые коллеги, стал разбираться с "подготовкой" данных перед пересылкой и забуксовал. Нужна ваша помощь.
Система у меня для северной Америки, она немного отличается от европейской. Первым этапом идет "framing", в котором
заголовки пакетов 0x47 MPEG-2 заменяются на контрольную сумму. Описание тут:
http://eu.sabotage.org/www/ITU/J/J0083e.pdfначиная с пункта B.4
Попытался я реализовать подсчет контрольной суммы по Figure B.2/J.83. Затем попытался декодировать по Figure B.3/J.83.
Результат отазался неверным. Есть несколько моментов, в которые хотелось бы внести ясность:
1. Как я понимаю, блок с названием Z-1497 это 1497 триггеров. Просто задерка на 1497 тактов.
2. Не понятно, тригера энкодера (в частности линия задержки) обнуляются только в самом начале или перед каждым пакетом (188 байт).
3. Первый бит результата (как для decoder, так и для encoder) забирается с выхода после первого такта или сразу, как
был подан входной бит? На схеме декодера видно, что со входа ны выход сигнал проходит в том же такте.
4. Декодер работает в скользящем режиме. Ни о каком обнулении речи не идет. Задержка в 1497 тактов приводит к тому, что
syndrome рассчитывается с использованием данных как текущего пакета, так и предыдущего. Может это говорит о том,
что в энкодере обнуление только перед первым пакетом?
5. Декодер может проверять пакет еще и по варианту с матрицей Р, Figure B.5
Тут видно что расчет ведется только по одному пакету. Это не укладывается в мою теорию, что Z-1497 - это задержка на 1497 тактов (вопрос 4).
Возможно, некоторые вопросы кажутся примитивными. Но прошу понять - не моя это область. Я больше по ПЛИС специализируюсь.
Пытался нарыть в инете хоть что-нибудь. О исходниках и не мечтаю. Хотябы тулзу, которая рассчитает чексумму,
чтобы знать что я должен получить. А то не знаю, то ли энкодер я изваял неверно, то ли декодер. То ли оба.
Сообщение отредактировал otv116 - Nov 2 2011, 19:42