Kod teorisinin bir parçası olan blok kodlama, mesajları belirli kodlara dönüştüren ve bilgileri önceden belirlenmiş bir uzunluğa sahip bir veri bloğu olarak gönderen, bir kanal kodu olarak da bilinen bir ileri hata düzeltme biçimidir (FEC). Daha büyük veri blokları alıcı bilgisayarın bilgilerin kodunu çözmesini ve transfer sırasında meydana gelen hataları düzeltmesini kolaylaştırır. Blok kodlar ve evrişimli kodlar FEC'de yaygın olarak kullanılan iki kod türüdür. Bu kod türleri, güvenilir olmayan bir bağlantı üzerinden bir mesajın gönderilmesine ve geldiğinde deşifre edilmesine izin verir.
Bir mesaj gönderildiğinde ortaya çıkan gürültü nedeniyle blok kodlamanın kullanılması gereklidir. Verilerin uzun bir mesafe veya güvenilir olmayan bir bağlantı üzerinden gitmesi gerektiğinde, hata olasılığını belirlemek için Hamming ağırlığı ve mesafesi kullanılır. Hamming ağırlığı, tüm olası kod kombinasyonlarını ifade etmek için gereken hane sayısıdır ve hamming mesafesi, biraz meşru ancak yanlış bir bilgi parçasını temsil etmeden önce kaç hatanın meydana gelmesi gerektiğidir.
Örneğin, blok kodlamayı kullanan bir gönderen, her üç basamak uzunluğunda olan yalnızca üç olası kodu kullanabilecek bir mesaj göndermek istiyorsa, Hamming ağırlığı üç olacaktır. Kodlar 000, 010 ve 011 olabilir. 000 gibi bir rakamın değişmesiyle sonuçlanan bir hata oluşursa, kod meşru bir kod (010) olarak okunur, ancak gönderenin istediği kodu (000) okuyamaz. . Bu nedenle, bu kod için Hamming mesafesi birdir, çünkü bilgisayarın düzeltemeyeceği bir hataya neden olması için yalnızca bir rakamın değişmesi gerekir.
Hamming mesafesini azaltmak ve hataları azaltmak için, veriler belirli bir uzunlukta belirli kod kelimelerine kodlanmış bir kod bloğu olarak gönderilir. Orijinal mesaj veri bitleri, k bit olarak adlandırılır. K bitleri, her k bit için daha uzun kodlar olarak durmak üzere seçilen kodlar olan karşılık gelen n bitlere çevrilir. Uçları tek bir uzunlukta yapmak ve Hamming mesafesini azaltmak için onlar veya sıfırlar eklenir. Daha sonra bu n bit blokları alıcı bilgisayara iletilir.
Blok kodlamayı düşünmek, sohbet eden iki kişiyle karşılaştırırken en basittir. Gürültülü bir odada konuşurken veya uzun bir mesafe boyunca bağırarak, alıcı kişinin duyduğu hatalar için daha fazla alan vardır. Eğer cümle uzunsa, cümlenin tamamını cümle içine alarak daha fazla hatayı düzeltebilir, fakat kısa cümle daha yüksek hata oranına sahiptir, çünkü kişinin ne söylediğini deşifre etmek zordur.
Örnek olarak, bir kişi bağırırsa, "Kırmızı kedi" ve diğer kişi "Fed kedi" diye duyarsa cümleyi yanlış şekilde keser. Bununla birlikte, ilk kişi "kırmızı renkli bir kedim var" dedi ve ikinci kişi "beslenmiş renkli bir kedim var", cümlenin bağlamı, aslında "kırmızı" dediği kişiyi belirlemeyi kolaylaştırır ve "beslenmiş" değil. Bu, blok kodlamanın arkasındaki temel ilkedir ve bilgisayarların bir bilgi bloğunu doğru bir şekilde çevirmesine yardımcı olmak için daha uzun, tek biçimli kodların kullanılmasıdır.


