Есть ли библиотека CRC, которая позволяет пользователю не только обнаруживать ошибки, но и исправлять их? Я ищу библиотеку C/C++ или Java, идеально с открытым исходным кодом.CRC библиотека коррекции ошибок?
ответ
Я считаю, что CRCs может обнаруживать ошибки, а не исправлять их. Это, безусловно, относится к наиболее распространенной реализации. Вы хотите какой-то метод error correction, а не CRC. Я не знаю каких-либо библиотек для этого, но их должно быть достаточно легко найти, как только вы знаете, что ищете.
Звучит не так. Согласно http://www.cs.nmsu.edu/~pfeiffer/classes/573/notes/ecc.html: «Любой код проверки ошибок, который всегда может обнаружить двухбитную ошибку, всегда может исправить любую однобитовую ошибку» , И http://www.dsprelated.com/showmessage/107079/1.php: «Чтобы иметь возможность делать единую коррекцию ошибок, размер слова с ECC бит должен быть меньше или равен 2 ** N, где N - номер бит ECC « – Gili
Это верно на общем уровне, но алгоритм CRC не выполняет коррекцию. – skaffman
Вы, безусловно, можете выполнить коррекцию ошибок с помощью CRC. Используйте тот факт, что CRC (A XOR B) = CRC (A) XOR CRC (B) ... пусть B - ошибка, A переданное сообщение, A XOR B - это принятое сообщение. Тогда CRC (B) = CRC (A XOR B) XOR CRC (A). Это правда, что доказательство расстояния Хэмминга не особенно применимо ко всем кодам проверки ошибок (примером могут быть безопасные хэш-коды, которые нельзя зарезервировать без особых усилий), но CRC не имеет такой трудности. Затем вам нужна таблица поиска, чтобы перейти от CRC (B) обратно к B (для однократной коррекции ошибок таблица поиска будет содержать индекс одиночного бита ошибки). –
Я не думаю, что CRC часто используется для исправления ошибок, однако если вы хотите проверить и восстановить наборы файлов, вы всегда можете попробовать par2, который часто используется в usenet. Вы можете найти много документации и реализаций в Интернете, например, win32 library.
Вы не хотите CRC, но FEC (исправление ошибок). Вы можете найти реализацию с открытым исходным кодом в libfec.
Лучшее техническое решение об исправлении ошибок называется турбокодом. См. http://en.wikipedia.org/wiki/Turbo_code для получения дополнительной информации.
Но я боюсь, что вы не найдете много свободных реализаций.
Если вы действительно хотите один свободный, дать попробовать на http://rscode.sourceforge.net/
Турбокоды довольно сложны для достижения высокой эффективности кодирования. –
В ссылке на следующее: Я считаю, что ЗПК может обнаружить только ошибки, но не исправлять их.
Автор дезинформирован. CRC могут использоваться для исправления ошибок одного бита. C/C++ Журнал пользователя - Июнь 2003 - стр.6
http://www.drdobbs.com/an-algorithm-for-error-correcting-cyclic/184401662?queryText=Bill%2BMcDaniel
Было бы неплохо иметь ссылку на онлайн-источник. – Gili
- 1. Коррекции ошибок?
- 2. Абстрактный класс коррекции ошибок
- 3. Библиотека коррекции базовой линии Python
- 4. Ошибка коррекции ошибок для Python
- 5. Модель ошибки коррекции ошибок в r
- 6. Как запустить модель коррекции ошибок в R?
- 7. Библиотека CRC-16-ANSI для Java/Groovy?
- 8. Проверка возможностей обнаружения ошибок полиномов CRC
- 9. .NET 4.5 Обнаружение ошибок при связи (CRC?)
- 10. Как использовать библиотеку коррекции ошибок reed-solomon ezpwd
- 11. Переменная в коррекции коррекции эха
- 12. Библиотека обработки ошибок Windows
- 13. Как получить разумный CRC CRC
- 14. CRC 8 и CRC 16
- 15. Есть ли у Wifi какие-либо формы прямой коррекции ошибок?
- 16. Как работает ECC для обычной [циклической] коррекции ошибок пакета?
- 17. где zxing проверяет яркость, шаблон искателя и уровень коррекции ошибок
- 18. Репликация примера модели коррекции ошибок (ECM) в R?
- 19. Коды коррекции ошибок для исправления 4 битов ошибки
- 20. Возможно ли генерировать QR-код без коррекции ошибок?
- 21. Библиотека исключений/ошибок для PHP
- 22. Ловля ошибок в MySQLdb Библиотека
- 23. ошибок Gd Библиотека в Symfony
- 24. Библиотека регистрации ошибок и исключений
- 25. Ручная библиотека для исправления ошибок?
- 26. Библиотека обработки ошибок Java/.NET
- 27. Библиотека ошибок libUartLib.a (печать Bluetooth)
- 28. код ошибки коррекции верхняя граница
- 29. Обнаружение ошибок в двоичных сообщений с использованием CRC/Полином ключ
- 30. Возможно ли выполнить рудиментарную коррекцию ошибок с помощью CRC?
Просто проверка, но CRC жестким требованием здесь, или это более общее требование для коррекции ошибок/обнаружения? – skaffman
Общее требование для исправления ошибок/обнаружения, если это имеет смысл для протоколов связи низкого уровня. В прошлый раз, когда я проверял, кто-то использовал CRC32 для них. – Gili
Вы должны указать больше о данных, с которыми работаете. Вы потоки данных или хранения? Насколько шумно передается передача? – heyitsme