Skip to content

CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı

CRC / XOR / Modulo-2 Uzun Bölme Hesaplayıcı

CRC / XOR calculator: enter message bits and generator poly for modulo-2 division.

Output: CRC remainder after XOR long division.

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.

110100111 = 1011 × 108902 + 189 → Özdeşlik sağlanıyor

CRC / XOR örnek problemler

Bu örnekler her adımda XOR ile modulo-2 bölmesini gösterir.

Örnek 1 — Mesaj 1101, üreteç 101

  1. Üreteç uzunluğu 3; 2 sıfır ekleyin: 1101 → 110100.
  2. Baş bitlere tekrar XOR: 110100 → 011100 → 001000 → 000010.
  3. Son 2 bit, 10, CRC kalansıdır.

Örnek 2 — Çıkarma neden XOR'dur

  1. Modulo-2'de 1 + 1 = 0 ve 1 − 1 = 0; toplama ve çıkarma aynı işlemdir.
  2. Bu işlem tam olarak bit düzeyinde XOR'dur; taşıma veya ödünç yoktur.
  3. Her bölme adımı mevcut bitlere bir XOR'dur.

Örnek 3 — Alıcı kontrolü

  1. CRC'yi mesaja ekleyin ve aynı üretece bölün.
  2. Önceki gibi XOR indirin.
  3. 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.

Çö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.

1101001111011

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.

1010111

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.

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.

Sik sorulan sorular

Modulo-2 bölme nedir?

Modulo-2 bölme nedir?

GF(2)'de ikili bölmedir; toplama ve çıkarma XOR'dur; taşıma ve ödünç yoktur. Her adım baş bit 1 olduğunda üreteci mevcut bitlere XOR'lar.

CRC nasıl hesaplanır?

Mesaja (üreteç uzunluğu − 1) sıfır biti ekleyin; üretece modulo-2 (XOR) uzun bölme ile bölün. Kalan CRC sağlama toplamıdır.

Neden normal çıkarma yerine XOR kullanılır?

Modulo-2'de 1 + 1 = 0, taşıma yok; toplama ve çıkarma özdeş ve XOR'dur. Her bölme adımı tek bit düzeyinde XOR olur.

Mesaja kaç sıfır biti eklerim?

Üreteç bit sayısından bir eksik ekleyin. 4 bitlik üreteç 3 sıfır demektir; CRC kalansı için yer ayrılır.

Alıcı CRC'yi nasıl kontrol eder?

Alıcı mesaj artı CRC'yi aynı üretece modulo-2 bölme ile böler. Kalan 0 algılanmamış hata; sıfır olmayan kalan bozulmayı işaretler.

CRC'de bölüm önemli mi?

Hayır. CRC için yalnızca kalan sağlama toplamı olarak kullanılır; bölüm genelde atılır.

Üreteç polinomu nedir?

Anlaşılmış ikili bölen; x³ + x + 1 (1011) gibi polinom olarak yazılır. Gönderici ve alıcı aynı üreteci kullanmalıdır.

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.