当数据传输被篡改1位或2位时,接收机能自动纠正它吗?CRC是否具有以下功能
回答
不,CRC是一个错误检测代码,而不是一个错误纠正码。
更多here
CRC主要用作一个检错码。但是,如果总比特数(包括CRC中的比特数)小于CRC的周期,则可以通过计算综合症(xor计算和接收的CRC)来校正单比特错误。如果单独翻转,每一位都会产生一个独特的综合征。我们可以迭代CRC算法来查找与每个位相关的综合征;如果发现与每个位相关的综合症,可以翻转它并纠正一位错误。
但是,这样做的一个主要危险是,CRC对于拒绝伪造数据将不太有用。如果对15个字节的数据包使用8位CRC,则256个随机数据包中只有一个会通过有效性,但所有随机数据包的一半可以通过翻转一位来“纠正”。
为此,CRC必须能够检测到所有1位和2位错误。 – philcolbourn 2014-04-05 04:57:01
@philcolbourn:如果一个CRC的周期为N,那么它将无法检测到的任意长度输入的唯一两位错误将是那些错误数量为N位数倍的错误。如果输入流为N位或更短,则会检测到所有的两位错误。 – supercat 2014-04-05 23:14:04
是的,这听起来没错。我认为N非常大 - 比16和32位CRC的大多数数据包或帧大小要大。但对于8位CRC来说,这可能是个问题 - 对吗? – philcolbourn 2014-04-06 09:27:28
- 1. 是否有jQuery图库插件具有以下功能?
- 2. 现有功能的组合是否具有新功能?
- 3. Netezza是否具有ODBC DESCRIBE功能?
- 4. NumPy是否具有均匀性功能?
- 5. vim是否具有Notepad ++功能?
- 6. VBA是否具有ATan2功能?
- 7. ValueInjecter是否具有这些automapper功能?
- 8. Nifi是否具有循环功能?
- 9. 是否打印功能具有在python
- 10. blueprintjs是否具有步进功能?
- 11. LESS是否具有“扩展”功能?
- 12. Doxygen是否具有续行功能?
- 13. java是否具有钳位功能?
- 14. DataSet是否具有Contain或In功能?
- 15. JSF1.2是否具有CSRF保护功能?
- 16. Eclipse是否具有“Syntax Aware Selection”功能?
- 17. Acumatica Report Designer是否具有此功能?
- 18. TextMate是否具有untabify功能?
- 19. Procmail是否具有小写功能或类似功能?
- 20. 是否有vDSP功能来执行以下操作?
- 21. 是否有可能具有命名的角度配置功能?
- 22. 是否有可能直接启动功能具有定时
- 23. 是否有可能具有jQuery功能的OR语句?
- 24. 是否有可能具有无状态定时功能
- 25. 是否有免费的CRC库,涵盖了很多CRC算法?
- 26. 是否有类(功能,方法等或任何功能)像下面的功能?
- 27. 是否有建设功能?
- 28. 是否有MAKELONGLONG功能?
- 29. OCaml是否有popcnt功能?
- 30. Redis是否有decr功能
哪种CRC算法?多少位?这个问题真的很含糊。阅读[维基百科链接](http://en.wikipedia.org/wiki/Cyclic_redundancy_check)了解更多信息。 – 2011-02-24 01:46:19
伙计有这个真棒网站,我认为它叫“维基比达”或什么的。 Idk的人,你应该检查出来。 – rook 2011-02-24 02:47:37