CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı
CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı
Output: CRC remainder after XOR long division.
CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı taşıma ve ödünç alma olmadan ikili bölme yapar; her adımda bit düzeyinde XOR kullanır. Bu, döngüsel sağlama toplamlarının (CRC) aritmetiğidir: mesaja sıfır bitleri eklenir ve üretec polinomuna bölünür; kalan CRC sağlama toplamı olur. Modulo-2 toplama ve çıkarma ikisi de XOR olduğundan her adım basit bit karşılaştırmasıdır. Her hizalama, XOR ve nihai kalanı görmek için veri sözcüğü ve üreteci (bölen) girin.
CRC / XOR / Modulo-2 Hesaplayıcı nasıl kullanılır
Modulo-2 bölme ile CRC hesaplamak için şu 4 adımı izleyin:
- İlk alana ikili mesajı (veri bitleri) girin.
- İkinci alana üreteç polinomunu ikili bitler olarak girin.
- Hesaplayıcı (n − 1) sıfır biti ekler; n üreteç uzunluğudur.
- Mesaj boyunca XOR indirmek için Hesapla'ya tıklayın; kalanı CRC olarak okuyun.
CRC işinde bölüm genelde atılır — kalan, iletimden önce mesaja eklenen sağlama toplamıdır.
CRC ve modulo-2 aritmetiği
Döngüsel sağlama toplamı iletim hatalarını, mesajı büyük ikili polinom gibi ele alıp üzerinde anlaşılan üreteç polinomuna bölerek algılar. Bölme GF(2) modulo-2 aritmetiğinde yapılır; toplama ve çıkarma özdeş ve XOR'dur — taşıma ve ödünç alma yoktur. Bu bölmenin kalanı CRC'dir. Alıcı mesaj artı CRC'yi aynı üretece böldüğünde kalan 0 algılanmamış hata anlamına gelir. Hesaplayıcı bu bit düzeyinde süreci birebir üretir.
Bölme bir toplamı eşit gruplara paylaştırır. Uzun bölme bunu rakam rakam yapar.
Bölen (32) — kendisiyle böldüğünüz sayı. Çatının soluna yerleştirin.
Modulo-2 CRC bölmesi nasıl çalışır
Hesaplayıcı CRC'yi beş iç işlemle hesaplar:
- Mesaja (n − 1) sıfır biti ekler; n üreteç bit sayısıdır.
- Üreteci mevcut kalıntının en soldaki 1 bitinin altına hizalar.
- O bitlere üreteci XOR'lar (ödünçsüz modulo-2 çıkarma).
- Sonraki baş 1 bitine kaydırır ve XOR hizalamayı tekrarlar.
- Kalan bitler üreteçten az olunca durur; o bitler CRC'dir.
Her bölüm biti üretecin XOR'landığı yerde 1, aksi halde 0'dır; CRC için yalnızca nihai kalan önemlidir.
Mesaja (n − 1) sıfır biti ekler; n üreteç bit sayısıdır.
CRC bölme formülü
CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı GF(2)'de CRC = (M(x) · xⁿ⁻¹) mod G(x) hesaplar; M(x) mesaj, G(x) n bitlik üreteç ve tüm toplamalar XOR'dur. İletilen çerçeve M(x)·xⁿ⁻¹ + CRC; G(x) tam böler. Alıcı tarafında sıfır kalan bütünlüğü doğrular.
CRC / XOR örnek problemler
Bu örnekler her adımda XOR ile modulo-2 bölmesini gösterir.
Örnek 1 — Mesaj 1101, üreteç 101
- Üreteç uzunluğu 3; 2 sıfır ekleyin: 1101 → 110100.
- Baş bitlere tekrar XOR: 110100 → 011100 → 001000 → 000010.
- Son 2 bit, 10, CRC kalansıdır.
Örnek 2 — Çıkarma neden XOR'dur
- Modulo-2'de 1 + 1 = 0 ve 1 − 1 = 0; toplama ve çıkarma aynı işlemdir.
- Bu işlem tam olarak bit düzeyinde XOR'dur; taşıma veya ödünç yoktur.
- Her bölme adımı mevcut bitlere bir XOR'dur.
Örnek 3 — Alıcı kontrolü
- CRC'yi mesaja ekleyin ve aynı üretece bölün.
- Önceki gibi XOR indirin.
- Kalan 0 algılanmamış hata demektir.
Üreteç uzunluğu 3; 2 sıfır ekleyin: 1101 → 110100. Baş bitlere tekrar XOR: 110100 → 011100 → 001000 → 000010. Son 2 bit, 10, CRC kalansıdır.
Modulo-2'de 1 + 1 = 0 ve 1 − 1 = 0; toplama ve çıkarma aynı işlemdir. Bu işlem tam olarak bit düzeyinde XOR'dur; taşıma veya ödünç yoktur. Her bölme adımı mevcut bitlere bir XOR'dur.
CRC'yi mesaja ekleyin ve aynı üretece bölün. Önceki gibi XOR indirin. Kalan 0 algılanmamış hata demektir.
Çözülmüş CRC problemleri
10110 mesajının CRC'si üreteç 1011 ile nasıl hesaplanır?
Üreteç uzunluğu 4; 3 sıfır ekleyin → 10110000, sonra XOR indirin. Her baş 1 altına 1011 hizalayıp XOR yapın; ardışık XOR'lardan sonra son 3 bit CRC kalansıdır. Kalan 10110'a eklenir; tam çerçeve 1011'e kalan bırakmadan bölünür.
Sıfır kalan verinin sağlam olduğunu neden gösterir?
Gönderici CRC'yi iletilen çerçevenin üretecin tam katı olması için seçti. G(x)'in her katı G(x)'e bölündüğünde kalan 0 bırakır. Yolda bitler değişirse çerçeve genelde kat olmaktan çıkar; alıcının bölmesi sıfır olmayan kalan verir ve hata işaretlenir.
Yaygın CRC / modulo-2 hataları
Modulo-2 CRC bölmesi 5 sık hataya yol açar:
- XOR yerine normal ikili çıkarma ve ödünç alma kullanmak.
- Yanlış sayıda sıfır eklemek (üreteç uzunluğu eksi bir olmalı).
- Üreteci 0 biti yerine baş 1 bitinin altına hizalamamak.
- GF(2)'de taşıma varmış gibi davranmak.
- CRC yerine bölümü bildirmek.
CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı her adımda XOR yapar, doğru sıfırları ekler ve kalanı sağlama toplamı olarak döndürür.
Sik sorulan sorular
Modulo-2 bölme nedir?
Modulo-2 bölme nedir?
CRC nasıl hesaplanır?
Neden normal çıkarma yerine XOR kullanılır?
Mesaja kaç sıfır biti eklerim?
Alıcı CRC'yi nasıl kontrol eder?
CRC'de bölüm önemli mi?
Üreteç polinomu nedir?
CRC özdeşliği
CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı GF(2)'de CRC = (M(x)·xⁿ⁻¹) mod G(x) kullanır; iletilen çerçeve M(x)·xⁿ⁻¹ + CRC, G(x)'e tam bölünür. Üretecin katı kalan 0 bıraktığından alıcının modulo-2 bölmesi veri sağlamken 0 döner.