Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How we decide the polynomial for CRC

Status
Not open for further replies.

amitk3553

Advanced Member level 4
Joined
Jul 20, 2012
Messages
117
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Location
DELHI, INDIA
Activity points
1,982
On what basis we decide the polynomial equation.

Is there criteria for that? must be there?




Thanks with Regards
cam
 

Dependent of your application
 

For different word length of the CRC, the configuration of the polynomial used for a particular CRC will be different. Also, remember that if you are using any wrong or hueristic polynomial, the CRC might not work properly.

So, you first need to know your data length and then consequently you can select any polynomial.

This simple article will also guide you in the right direction:

https://www.ece.cmu.edu/~koopman/roses/dsn04/koopman04_crc_poly_embedded.pdf

- - - Updated - - -

Also, you can use this one.

http://en.wikipedia.org/wiki/Polynomial_representations_of_cyclic_redundancy_checks
 

could you brief this with some example of application?

Is this some related to increasing precision or accuracy by increasing degree of polynomial?

and one more thing output/input is serial so output value is bit by bit and output depends on input like if we apply 8 bit input serially then at output we would get 8 bit serially?

- - - Updated - - -

For different word length of the CRC, the configuration of the polynomial used for a particular CRC will be different. Also, remember that if you are using any wrong or hueristic polynomial, the CRC might not work properly.

So, you first need to know your data length and then consequently you can select any polynomial.

This simple article will also guide you in the right direction:

https://www.ece.cmu.edu/~koopman/roses/dsn04/koopman04_crc_poly_embedded.pdf

- - - Updated - - -

Also, you can use this one.

https://en.wikipedia.org/wiki/Polynomial_representations_of_cyclic_redundancy_checks

if input data is 8-bits then what should be the polynomial, How would u decide this?
 

From application, I really don't understand. Whether you are interested in hardware implementation or software.

In hardware, you may need some memory buffers to store the information and the you can use your design logic.

Yes, the polynomial are related to the increasing the precision of accuracy for the data bits and different standards as mentioned in the wiki may have some good or bad things.

Tell me, if you are working on matlab, I can pass you the code?

But for hardware implementation, I can't help!
 

From application, I really don't understand. Whether you are interested in hardware implementation or software.

In hardware, you may need some memory buffers to store the information and the you can use your design logic.

Yes, the polynomial are related to the increasing the precision of accuracy for the data bits and different standards as mentioned in the wiki may have some good or bad things.

Tell me, if you are working on matlab, I can pass you the code?

But for hardware implementation, I can't help!

thanks

I am working on hardware implementation
 

The application means that
1. how much is the length of your packet
2. what is the protocol you want to design for

Generally, the (2) is the most important factor when you decide polynomial for CRC.
Once the protocol is specified, the length of packet and polynomial for CRC are also decided.
The specification will explicitly specify what the polynomial is and you can't use another one no matter how better it is.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top