210 likes | 638 Vues
Raptor - Reed-Solomon Göndermede Hata Düzeltim Kodları (FEC). Ar.Gör. Ufuk DEMİR Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği Bölümü ufuk@cs.deu.edu.tr. İçerik. Çalışmanın Amacı İletim esnasındaki hataların kaynağı “Göndermede Hata Düzeltimi” ne demek
E N D
Raptor - Reed-Solomon Göndermede Hata Düzeltim Kodları (FEC) Ar.Gör. Ufuk DEMİR Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği Bölümü ufuk@cs.deu.edu.tr
İçerik • Çalışmanın Amacı • İletim esnasındaki hataların kaynağı • “Göndermede Hata Düzeltimi” ne demek • Raptor-Reed Solomon kodlarının karşılaştırılması • Kaynak kullanımı • Hesaplama Karmaşıklığı • Dosya indirimi için gereken bellek miktarı • Esneklik • Gecikme Süresi
Çalışmanın Amacı • 2 Alternatif “Göndermede Hata Düzeltim” kodu arasındaki ana farkları ortaya koymak. • Son kullanıcıya sonuçları sunarak uygun seçimi yapmalarını sağlamak.
Hataların Kaynakları Ağda ilerleyen paketler bazı hata risklerine sahiptir. Özellikle ağın koşulları iyi değilse paketler kaybolabilir yada bozulabilir. Bu tip hataların düzeltilmesi ise “göndermede hata düzeltimi” konusuna girer. Göndermede hata düzeltimi genel olarak iki kategoriye ayrılır: bit-düzeyinde alıcı tarafındaki hata düzeltimi ve paket düzeyinde alıcı tarafındaki hata düzeltimi. • Bit Hataları Dijital verinin ağ üzerinden taşınması esnasında maruz kalacağı bazı dışsal faktörler (örneğin:elektromanyetik dalgalar) dijital veriyi bozabilir. Bu etkenler verinin bit bazında bozulmasına neden olabilir. Alıcı bu tip bozulmuş veriyi tanıyamaz. • Paket Kayıpları IP tabanlı ağlar gibi, güvenilir olmayan (TCP verinin güvenli bir şekilde iletilip iletilmediğini garanti etmez) ağlarda, paket gönderim esnasında kaybolabilir. Özellikle gerçek zamanlı verilerde gecikme faktörü önemlidir. Uzun süre geciken veriler “kayıp” olarak nitelendirilir. “Ağ tıkanıklığı” da ağda ilerleyen paketlerin kaybolmasına neden olabilir.
Göndermede Hata Düzeltimi Nedir? • Paket düzeyindeki kayıpları düzeltmek için kullanılan en belirgin yöntem “tekrar iletim” yöntemidir. Bu yöntemde alıcı, kayıp olarak belirlediği paketleri, göndericiden tekrar ister. Bu yöntem sık kullanılmakla beraber gerçek zamanlı uygulamalarda ve uydu iletiminde kullanılabilecek uygun bir yöntem değildir. • Paket düzeyindeki kayıpları düzeltmek için kullanılan diğer yöntem ise “göndermede hata düzeltim” yöntemidir. Bu yöntemde gönderici orijinal veriyi göndermeden önce kodlar. Bu kodlamada orijinal veriye kendisinden yaratılmış ekstra paketler eklenir. Ağda ilerlerken kaybolan paketler alıcı tarafında bu ekstra paketler yardımı ile tekrar yaratılır. Tekrar iletim söz konusu değildir.
Göndermede Hata Düzeltim Kodlayıcısı ve Çözücüsü k tane orijinal sembol n tane sembol n sembolün herhangi k tanesi k tane orijinal sembol Bir “Göndermede Hata Düzeltim” kodu (n,k) kod olarak adlandırılır. Örneğin: (255,223) kod dendiğinde 32 ekstra sembolün 223 orijinal sembole eklendiği anlaşılır. Kodlayıcı Çözücü
%50 Göndermede Hata Düzeltimi Kodlayıcı Çözücü Extra paketler
Kaynak Kullanımı • Reed-Solomon Göndermede Hata Düzeltim Kodunun ağ kaynaklarının ne kadarına ihtiyaç duyduğu
Hesaplama karmaşıklığı • Reed-Solomon Göndermede hata düzeltim kodunun hesaplanması (dosya indirim zamanı, kodu çözme zamanı, kodlama zamanı) esnasında ne kadar CPU yükü getirdiği
Dosya indirimi için gereken bellek miktarı • Küçük dosyalarda (512 KB) 700KB hızında bellek • Büyük dosyalarda (3 MB) 4MB hızında bellek • Bellek yönetim algoritmaları ile bellek kullanımı düşürülebilir. Ancak bu standart değildir.
Esneklik • Farklı bit oranlarında çalışabilir. • Reed-Solomon farklı kaynak paket boyutlarını yönetebilir. (ağ kaynaklarının kullanımı, hesaplama karmaşıklığı ve performans değişir)
Gecikme Süresi • “protection_period+ε<x< 2*protection_period” • Gerçek zamanlı uygulamalarda gecikme “protection_period+decoding delay”
Kaynak Kullanımı • Küçük dosya boyutu: (50-512kbytes) • Raptor kodu ağ kaynaklarının %0.8 ini harcar %1 ve %10 hata oranında • Büyük dosya boyutu : (1MB-3MB) • Raptor koduağ kaynaklarının %0.1 ini harcar %1 ve %10 hata oranında • Duraksız İşlem: Yüksek kalitede duraksız işlem ve düşük koruma periyodu ile • Raptor kodu düşük bit oranlarında (32kbit/s, 64kbit/s) %93-95 oranında • Raptor kodu yüksek bit oranlarında (128kbit/s, 256kbit/s) %97-98 oranında hataları yok eder. • Uzun koruma periyotlarında daha fazla oranda hatayı yok eder
Hesaplama karmaşıklığı • Raptor kodu çok az CPU yükü getirir. • Yüksek hata oranlarında Raptor kodunun çalışması Reed-Solomona oranla daha az karmaşıktır.
Dosya indirimi için gereken bellek miktarı • Raptor kodu 512k belleğe ihtiyaç duyar
Esneklik • Raptor kodu bütün bit oranlarını, dosya boyutlarını, paket kayıp oranlarını, paket boyutlarını, koruma periyotlarını hem duraksız akış hem de dosya indirmede destekler.
Gecikme Süresi • En çok paket kaybolduğu durumda, kodlamayı çözmek için gereken zaman “Protection period” zamanının 10% undan daha azdır ve az CPU yükü getirir,. • Genel olarak Raptor kodunun “tune-in delay” (= protection period + kodlamayı çözme zamanı) zamanı oldukça düşüktür.