Здравствуйте.
Возникла такая проблема. Нужно посчитать CRC принятого потока E1 и сравнить его с исходным.
сейчас делаю так ищу CRC-синхронизацию по нулевому биту. затем беру биты CRC которые идут между синхросигналом. Далее в предидущих 8-ми циклах считаю CRC
полином использую x4+x+1 (10011). алгоритм такой:
Загрузим регистр нулевыми битами
Дополним хвостовую часть сообщения W нулевыми битами
While (пока еще есть необработанные биты)
Begin
Сдвинем регистр на 1 бит влево и поместим очередной
еще не обработанный бит из сообщения в 0 позицию регистра.
If (из регистра был выдвинут бит со значением "1")
Регистр = Регистр XOR Полином
End
Теперь в регистре содержится остаток
но расчитанное CRC очень редко совпадает с тем CRC что идет в потоке. в потоке синхронизация FAS и CRC устойчивая, разговор по одному каналу также нормально сохраняется в wav-ку так что поток записан нормально