W teorii kodowania „jak dobry jest kod” oznacza liczbę błędów kanału, które można poprawić lub, mówiąc lepiej, maksymalny poziom szumu, z którym kod może sobie poradzić.
Aby uzyskać lepsze kody, kody są zaprojektowane przy użyciu dużego alfabetu (zamiast binarnego). A potem kod jest dobry, jeśli może poradzić sobie z dużą liczbą błędnych „symboli”.
Dlaczego nie uważa się za oszukiwanie? Czy nie powinno nas obchodzić tylko to, co się stanie, kiedy „przetłumaczymy” każdy symbol na ciąg binarny? „Szybkość błędu bitowego” różni się od częstości „błędu symbolu”. Na przykład częstość błędów bitowych nie może przekroczyć 1/2, natomiast (jeśli dobrze to rozumiem), przy wystarczająco dużym alfabecie, błąd symbolu może wzrosnąć do . Czy dzieje się tak, ponieważ sztucznie ograniczamy kanał do zmiany tylko „symboli”, a nie bitów, czy może dlatego, że kod jest rzeczywiście lepszy?