Skip to content

Yeni yazı: CRC Polinom Seçimi ve Hamming Mesafesi#79

Open
Mavrikant wants to merge 1 commit into
masterfrom
post/2026-05-20-crc-polinom-secimi-ve-hamming-mesafesi
Open

Yeni yazı: CRC Polinom Seçimi ve Hamming Mesafesi#79
Mavrikant wants to merge 1 commit into
masterfrom
post/2026-05-20-crc-polinom-secimi-ve-hamming-mesafesi

Conversation

@Mavrikant

Copy link
Copy Markdown
Owner

Yazı

Başlık: CRC Polinom Seçimi ve Hamming Mesafesi
Alt başlık: Why Picking CRC-32 Is Rarely the Right Answer
Tarih: 2026-05-20
Alan: yazılım zanaatı + matematik + protokol mühendisliği
Dosya: _posts/2026-05-20-crc-polinom-secimi-ve-hamming-mesafesi.md

Neden bu konu seçildi

Emniyet kritik sistemlerde CRC polinom seçimi yapan mühendislerin büyük çoğunluğu "CRC-32 kullan, geç" yanılgısıyla çalışır; halbuki aynı 32-bitlik alanı Castagnoli polinomu (CRC-32C) Ethernet maksimum frame'inde HD=6 verirken IEEE 802.3 polinomu (0x04C11DB7) HD=4'te kalıyor. Bu fark sertifikasyon kanıtında, sahada veri bütünlüğünde ve donanım hızlandırmada doğrudan etki yaratıyor — ama bu bilgi internette dağınık ve sentezlenmemiş halde.

Konu Bölüm 6 altı kriterini de geçti:

  • İlgili: aviyonik veri yolları (AFDX, CAN, FlexRay) hep CRC kullanır
  • İlgi çekici: "CRC-32 yetmez mi?" yanılgısını parçalıyor
  • İşlenmemiş: blogda CRC konulu hiçbir yazı yok; Türkçe içerikte konu derinlemesine işlenmemiş
  • Değerli: somut polinom seçim kararı verecek mühendis için doğrudan referans
  • Kalıcı: temel matematik, eskimez
  • Gizlilik-güvenli: tamamen kamuya açık akademik literatür

Derinlik öğesi (Bölüm 7)

Üç farklı derinlik öğesi taşıyor:

  1. Matematiksel türetme — burst hata tespit teoremi + kanıt, kombinatoryal sayım
  2. Tekrar-üretilebilir Python deneyi — küçük polinomlar için HD'yi kaba kuvvetle hesaplayan, okurun kendi makinesinde çalıştırabileceği script
  3. Standart polinom karşılaştırma tablosu — ARINC-429, MIL-STD-1553, CAN, AFDX, iSCSI, Bluetooth dahil 9 protokolün polinom kararı yan yana

"Bu konuyu bulmak neden zor?" (Bölüm 8)

  • Koopman'ın CRC veritabanı CMU akademik sayfasında dağınık
  • IEEE makaleleri paywall arkasında
  • FAA AC 00-66 sadece "şu rapora bakın" diyor, sentez yapmıyor
  • Türkçe içerikte Wikipedia'nın 0x04C11DB7 açıklamasının ötesi yok
  • Birçok "standart" pratiği aslında suboptimal — ama mühendisler bunu sorgulayacak referansa kolayca ulaşamıyor

Kullanılan kaynaklar (yazıdaki Kaynaklar bölümünden özet)

  • Koopman, P. Best CRC Polynomials. CMU
  • Koopman 2002 (DSN): 32-bit CRCs for Internet
  • Koopman & Chakravarty 2004 (DSN): CRC polynomial selection for embedded networks
  • DOT/FAA/TC-14/49 (2015) — Koopman, Driscoll, Hall
  • FAA AC 00-66 (2015)
  • Maxino & Koopman 2009 — checksum effectiveness
  • Castagnoli, Brauer, Herrmann 1993
  • Senger (CiA, 2020) — CAN XL CRC selection
  • ARINC 664 P7, IEEE 802.3-2018

Öz-eleştiri özeti

İlk taslakta CRC-32-IEEE ve CRC-32C için doğrulayamadığım HD-uzunluk eşikleri (≤91 bit, ≤268 bit, 5,243 bit) vardı. Sadece doğrudan Koopman'ın yayımladığı sayıları (2,974 bit ve 91,607 bit eşikleri ile Castagnoli için Ethernet MTU'da HD=6) bıraktım. ARP4761 atıfı fazla kestirme olduğu için yumuşatıldı. Python örneğinde kullanılmayan yardımcı fonksiyon çıkarıldı; "beklenen çıktı" iddialarını okuyucunun denemesine bırakacak şekilde değiştirildi. CRC-8 polinom karşılaştırma örneği (0x9B vs 0xEA) doğrulanamadığı için bilinen polinomlarla (0x9B / 0x2F / 0x07) değiştirildi. "Mermaid: true" front matter satırı yazıda diyagram olmadığı için çıkarıldı.

Otonom ajan notu

Bu PR, scheduled-tasks/yeni-blog-yazisi görevinin 2026-05-20 çalıştırmasında otonom olarak hazırlandı. Bölüm 4 sert kuralı gereği master'a doğrudan push yapılmadı, dal post/YYYY-MM-DD-slug formatında. Merge kararı insana ait.

🤖 Generated with Claude Code

Phillip Koopman'ın CRC veritabanına dayanarak emniyet kritik sistemlerde
polinom seçiminin neden bit sayısı kararı değil cebir kararı olduğunu
işleyen Türkçe yazı. Derinlik öğesi olarak matematiksel türetme,
tekrar-üretilebilir Python deneyi ve standartlaştırılmış protokol
karşılaştırması içeriyor.

agent/topics.md ve agent/research/ defterleri güncellendi.
Copilot AI review requested due to automatic review settings May 20, 2026 05:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Mavrikant added a commit that referenced this pull request May 22, 2026
…#80)

* Add blog post: Bandpass Sampling — 1 GHz sinyali 50 MHz saatle örneklemek

RF/DSP alanında Türkçe içerik boşluğunu kapatan uzun-form yazı. Vaughan,
Scott, White (1991) teoreminin matematiksel türetmesi, 70 MHz IF + 10 MHz BW
üzerinden izinli n değerlerinin somut tablosu, wedge diyagramı geometrisi,
spectral inversion, jitter-sınırlı SNR hesabı (-20·log10(2π·f_in·σ_t)) ve
çalışan bir Python doğrulama snippet'i içerir. AD9265, ADS5474, LTC2208
analog BW ve aperture jitter datasheet değerleriyle desteklendi.

Defter güncellendi: yeni açılan PR'lar (#77 MC/DC, #78 VOR, #79 CRC)
eklendi; bandpass sampling havuzdan çıkarıldı; bu çalıştırmanın notları
yazıldı.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* #81: Bandpass sampling yazısına sinyal ve FFT figürleri eklendi

Üç açıklayıcı figür oluşturulup yazıya eklendi:
- Şekil 1: 70 MHz IF sinyali + 31.25 MSPS örnekleme noktaları (zaman domeninde)
- Şekil 2: İzinli/yasak örnekleme hızları (Nyquist zone/wedge diyagramı)
- Şekil 3: Orijinal analog spektrum vs örneklenmiş alias spektrumu karşılaştırması

Figürler sırasıyla giriş, wedge diyagramı ve Python doğrulama bölümlerinin
arkasına yerleştirildi. Her biri `<figure>/<figcaption>` ile açıklamalı.

Closes #81

https://claude.ai/code/session_01GCFHC6eWhWPVWX9t3q7HQC

* #81: Etkileşimli bandpass sampling simülatörü eklendi

Okuyucuların f_c, B ve f_s değerlerini slider ile değiştirip anlık
görebileceği saf HTML+JS widget yazıya eklendi:
- İzinli/yasak bölge tespiti (Vaughan formülü)
- Zone numarası ve spektral inversiyon göstergesi
- Alias bandı koordinatları
- Canvas: sol panel analog spektrum, sağ panel zone-1 alias spektrumu
- Yasak bölgede kırmızı uyarı

Dış bağımlılık yok — Bootstrap/jQuery dışında ek kütüphane kullanılmadı.

https://claude.ai/code/session_01GCFHC6eWhWPVWX9t3q7HQC

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants