Про данные-то ничего не сказано. Если тебе чем-то не подходит хемминг, Используй, например коды рида-соломона. Кроме того это зависит от того какие данные. Тут бы даже расстояние левенштейна подошло в определенной ситуации.
http://en.wikipedia.org/wiki/BCH_code тут ещё посмотри.
Или тебе надо будет затачивать под какую-то конкретную модуляцию, например, если тут
http://www.dsplog.com/2007/08/05/bit-er ... odulation/, тут показано при чем тут erfc(относится к вероятности ошибки).
http://mathworld.wolfram.com/Erfc.html Вот тут её описание.