Embedded CRC Insertion for Variable-Length Packet Error Localization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cyclic redundancy check (CRC) methods are inadequate for data packets with variable lengths, as they either use CRC polynomials with insufficient Hamming distance, leading to non-unique CRC values, or those with excessive Hamming distance, resulting in unnecessary computational effort and hardware requirements.
Innovation Solution
A method and device that dynamically generate and embed CRC values within data packets based on the number of data units, using a counter to determine when to add CRC values, ensuring they are generated only up to the Hamming distance limit, allowing for efficient error detection and localization without discarding entire data packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a CRC polynomial with large Hamming distance is used to handle variable-length data packets, then error detection capability is improved, but computational effort and hardware requirements increase unnecessarily
Solution Approach 1:
The patent applies dynamics by making the CRC calculation length variable rather than fixed. The system dynamically adjusts the number of data units processed for CRC calculation based on the actual packet length, using a counter that increments with each data unit and stops when reaching the actual packet length. This allows the same CRC polynomial to be used efficiently for packets of any length without requiring unnecessarily large Hamming distance capabilities.
Solution Approach 2:
The patent changes the parameter of CRC calculation length to match the actual data packet length. Instead of using a fixed CRC polynomial designed for maximum packet length, the system calculates CRC over exactly the number of data units present in the packet, thereby optimizing the Hamming distance to match the actual data size and reducing unnecessary computational complexity.
2Device complexity
If a CRC polynomial with small Hamming distance is used for variable-length data packets, then computational effort is reduced, but the CRC value becomes non-unique and error detection fails
Solution Approach 1:
The system uses a dynamic counter that increments for each data unit processed and compares against the actual packet length. This dynamic approach ensures that the CRC calculation always covers the complete packet data, maintaining uniqueness and reliability regardless of packet length variations, while avoiding the need for overly complex polynomials.
Solution Approach 2:
The patent makes a single CRC polynomial universal for handling data packets of any length. By combining this universal polynomial with a dynamic calculation length that adapts to the actual packet size, the system achieves both simplicity (using one polynomial) and reliability (maintaining uniqueness for all packet lengths).
3Reliability
If fixed-size data packets are used with matching CRC polynomial Hamming distance, then unique CRC values are ensured, but adaptability to variable-length packets is lost
Solution Approach 1:
The patent introduces dynamic elements including a counter that increments with each data unit and a comparison mechanism that stops the CRC calculation when the counter reaches the actual packet length. This dynamic adaptation allows the system to handle variable-length packets while maintaining the reliability benefits of matched Hamming distance.
Solution Approach 2:
The system segments the CRC calculation process into discrete data unit steps, counting each unit and processing it individually. This segmentation allows the CRC calculation to adapt to any packet length by processing exactly the number of data units present, combining the benefits of fixed-size reliability with variable-length adaptability.
Data Source
AI summary
A method and a device for generating a data packet to be transmitted comprising data and at least one value for a cyclic redundancy check (CRC) value, are described, wherein the CRC value is generated using at least one previously determined polynomial on the basis of at least some of the data and the method comprises initializing a counter value, counting units of data, wherein the counter value changes for each unit of data, and adding a CRC value into the data packet, when the counter value reaches a reference value or all units of data in the data packet have already been counted, wherein the CRC value is generated over the units of data which have been counted since the counter value last reached the reference value or since the counter value was initialized. Furthermore, a method and a device for checking a corresponding received data packet are described.


