Register to reply 
Find a message given a CRC and generating polynomial 
Share this thread: 
#1
Mar2014, 07:17 PM

PF Gold
P: 287

I am working on a circuit that inputs a 31bit pseudorandom binary string into a CCIT CRC16 block which generates a 16bit CRC output.
I know that M(x)/G(x) = Q(x) + R(x) and the transmitted code will be R(x) appended to M(x). When I simulated the circuit, I got a CRC of 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0. From the help file of the software (VisSim/Comm), I know that the generating polynomial is G(x) = 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1. How do I determine the 31bit input sequence that generated the CRC result? Since M(x)/G(x) = Q(x) + R(x), we can say that M(x) = [Q(x) + R(x)]G(x). But we don't know Q(x). Assuming the 16bit CRC is equal to R(x) and the G(x) is given, how do I go about finding M(x) without knowing Q(x)? 


#2
Mar2014, 09:16 PM

Sci Advisor
Thanks
P: 1,923

Because the generating polynomial is symmetrical = 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 you should be able to reverse the process in time without rewiring the generator.
First reverse the order of bits in your final CRC and load it into the generator. Then feed the data stream bits backward in time through the generator until you reach the original starting position. 


Register to reply 
Related Discussions  
How do we assign a generator matrix for generating linear block codes from message ?  Electrical Engineering  0  
Derive Hermite Polynomial Generating Function from Recurrence Relation  Calculus & Beyond Homework  0  
How do you find the Probability Generating Function?  Calculus & Beyond Homework  13  
Find the curvature of the generating curve.  Calculus & Beyond Homework  1  
How to find pdf given moment generating function  Set Theory, Logic, Probability, Statistics  1 