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

CRC в E1

Здравствуйте.

Возникла такая проблема. Нужно посчитать CRC принятого потока E1 и сравнить его с исходным.

 

сейчас делаю так ищу CRC-синхронизацию по нулевому биту. затем беру биты CRC которые идут между синхросигналом. Далее в предидущих 8-ми циклах считаю CRC

полином использую x4+x+1 (10011). алгоритм такой:

 

Загрузим регистр нулевыми битами

Дополним хвостовую часть сообщения W нулевыми битами

While (пока еще есть необработанные биты)

Begin

Сдвинем регистр на 1 бит влево и поместим очередной

еще не обработанный бит из сообщения в 0 позицию регистра.

If (из регистра был выдвинут бит со значением "1")

Регистр = Регистр XOR Полином

End

Теперь в регистре содержится остаток

 

но расчитанное CRC очень редко совпадает с тем CRC что идет в потоке. в потоке синхронизация FAS и CRC устойчивая, разговор по одному каналу также нормально сохраняется в wav-ку так что поток записан нормально

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


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

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

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

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

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

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

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

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

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

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