380 likes | 692 Views
HATA DÜZELTEN KODLARA GİRİŞ 08053020 KUDRET UYAR 08052001 CİHAN KOCAKAYA 08052007 YASEMİN YUMUŞAK 10053061 GİZEM OKAT. CONVOLUTIONAL KODLAR. TARİHÇE.
E N D
HATA DÜZELTEN KODLARA GİRİŞ08053020 KUDRET UYAR08052001 CİHAN KOCAKAYA08052007 YASEMİN YUMUŞAK10053061 GİZEM OKAT
TARİHÇE Blok kodların kullanımıyla performans bakımından önemli bir artış elde edilmesine rağmen, blok kodların kendi iç yapısından kaynaklanan birkaç dezavantaja sahip olması nedeniyle, bu tür kanal kodlama tekniğinin iletişim sistemlerinin tasarımında kullanılması sıkıntı yaratmaktadır:
1-Blok kodlar çerçeve uyumlu olması nedeniyle kod çözme işlemi başlamadan önce iletilen bütün blokların alıcı tarafından alınması gerekmektedir. Bunun sonucunda, özellikle büyük blok uzunluklarında sistemde tahammül edilemeyecek bir gecikme oluşmaktadır. 2-Blok kodlar, kesin (çok iyi) bir çerçeve senkronizasyonuna gerek duymaktadır. 3-Blok kodlarda kullanılan kod çözücüler, sıfır-bir kararına dayalı olarak çalışmaktadır. Sıfır-bir kararına dayalı olarak çalışan kod çözücülerde, kanal çıkısında alınan bilgi ikili düzende (0 veya 1) olmasına rağmen, soft-decision kod çözücülerde kanalın çıkısında alınan bilgi sürekli (reel) bir değer olacaktır. Oysa Shannon tarafından tanımlanan teorik performans sınırına ulaşabilmek için sürekli değerde kanal çıkısına ihtiyaç duyulmaktadır.
Bu nedenden dolayı, genel olarak blok kodlar, iyi kanallarda etkileyici bir performans oranı yakalamasına rağmen, güç tüketiminde verimli olamadıkları için işaret/gürültü oranının düşük olduğu değerlerde kötü bir performans sergilemektedir. Yalnız unutulmamalıdır ki, blok kodların düşük işaret/gürültü oranı değerlerinde kötü bir performans sergilemesi, blok kodların kendi iç yapılarından dolayı değil de daha çok bu kodların kod çözme işleminde kullanmış olduğu sıfır-bir kararına dayalı olarak çalışan kod çözücülerden kaynaklanmaktadır. Gerçekte, blok kodlarda soft-decision kod çözücüler kullanma olası bir ihtimal olmasına rağmen, işlem karmaşıklığının artacağı düşünülmesinden dolayı tercih edilmemektedir. Blok kodların dezavantajlarından, kodlama için farklı bir yaklaşım olan ve ilk kez1955’te Elias tarafından ileri sürülen convolutional kodların ele alınması ile kaçınılmıştır .
Convolutional kodlar günümüzde kullanımı yaygınlaşmış güçlü kodlar olup giriş bilgisi bloklar halinde gruplanmayıp, bir kaç tane giriş bilgisi üzerinden koda özgü fonksiyonlar kullanarak katlanması ile kodlanmaktadır. Bir başka deyişle convolutional kodlar, veri bitlerinin sonlu duruma sahip lineer kaydırmalı kaydedicilerden geçirilerek iletilmesi ile oluşmaktadır. Bu özelliği sayesinde convolutional kodlarda hem blok kodlarda olduğu gibi veri bloğunun hazır olup olmaması gibi bir sorunla karşılaşılmamakta hem de blok kodlara oranla convolutional kodlarda kodlama işlemi daha kısa bir süre içerisinde gerçekleşmektedir.
Günümüzde Viterbi algoritması convolutional kodlar için optimum çözümü teskiletmektedir. Viterbi algoritmasının kesfinden sonra convolutionalkodlayıcılar, iletisimdegenisbir uygulama alanı bulmustur. • Sınır uzunluğu K=5, kod oranı R=1/2 ve R=1/3 olan “Odenwalder” convolutional kodu ticari uydular arası iletisim uygulamalarında bir standart olmustur. • “Voyager” ve “ Pioneer” gibi birkaç convolutional kod derin uzay arastırmalarındakullanılmıstır. • Global Systemfor Mobile communications (GSM), R=1/2, K=5 convolutional kod, • UnivesalMobile TelecommunicationsSystem (UMTS) • GlobalstarR=1/2, K=9 convolutional kod, • IridiumR=3/4, K=7 convolutional kod • Digital hücresel sistemlerde, çevirmeli modemlerde, uydu iletişimlerinde, kablosuz yerel ağlarda (LANs)kullanmaktadır.
PETER ELİAS 23 Kasım 1923 te New Jersey de doğdu. MIT Profesörü. Elias 1955te block kodlara alternatif olarak, convolutional kodları tanıttı. Ayrıca, hata düzeltmeye, benzersiz bir alternatif olan ikili silme kanal ve liste çözmeyi buldu. Elias 1998 de IEEE (Bilgi Teorisi Toplumu) ‘ndan teknolojik buluşu için Altın Jübile Ödülü ve 2002de “temel ve öncü bilgi teorisine katkı ve uygulamaları” için IEEE Richard W Hamming madalyası aldı. Peter ELİAS 78 yaşında öldü.
John WOZENCRAFT 30 Eylül 1925 te doğdu. Massachusetts Institute of Technology den emekli profesör ve aynı zamanda Elektrik mühendisidir. Öncüsü olduğu konulardan biri de kodlama teorisidir, Wozencraft convolutional kodlar için daha az güç harcayarak hatasız iletişimi mümkün kılan sıralı dekodlama teknikleri geliştirmiştir.1965 te Irwin M. Jacobs ile birlikte Principles of Communication Engineering i yazdılar. Wozencraft 2006 da IEEE Alexander Graham Bell Medal ödülünü aldı. 31 Ağustos 2009 da Redmond, Washington da öldü.
Robert FANO Robert Mario FANO 1917 de İtalya’da doğdu. MIT den emekli profesör. Aynı zamanda Bilgisayar Bilimleri ve Elektrik Mühendisi. Fano bilgi teorisi üzerine çalışmasıyla ve Claude Shannon la birlikte buldukları Shannon-Fano kodlamasıyla bilinir. 1960 ların başında time-sharing bilgisayarların gelişimiyle ilgilendi ve 1963yılındaki kuruluşundan 1968 e kadar MIT nin MAC projesinde yönetici olarak hizmet etti. 1941 de MIT Elektrik Mühendisliğinden S.B aldı. Savaştan sonra 1947 de yine MIT den ScD ünvanını aldı. 1958 de Amerikan Bilim ve Sanat Akademisi ne, 1973 te Ulusal Akademi Mühendisliği ne ve 1978 de Ulusal Akademi Bilimlerine seçildi. FANO, 1976 da bilgi teorisi üzerine çalışmaları için Claude E. SHANNON ödülünü aldı.
CONVOLUTİONAL KODLARIN TEMEL YAPISI • Convolutionalkodlar bilgiyi seri olarak veya sürekli olarak kısa bloklar halinde işleyen hata düzelten lineer kodlardır. • Standart blok kodlardan farklı olarak kodlayıcılarda(dizisel devre) m tane hafıza elemanı bulunur. • Kodlama yapılırken birkaç zaman adımındaki bilgi bitleri etkileşim halindedir. • Bir zaman adımında (cycleclock) k-tane girdisi, n-tane çıktısı ve m hafıza elemanına sahip binaryconvolutional kod B(n, k,m) ile gösterilir.
KODLAMA • Convolutional kodlayıcıların bellekleri vardır. Her giriş biti bellekler gönderilerek giriş bitleri ve hafızanın içerikleri ile mod2 ye göre işleme sokularak kodlanarak çıkış bitleri elde edilir. Bellekler convolutional(convolutional) kodlayıcının durum bilgilerini saklarlar. Kodlamayı örnek vererek en kolay şekilde anlatabiliriz. Örnekten önce bazı terimlerden bahsedelim: • u: giriş bitleri dizisi • m: bellek sayısı • R: kod oranı(hızı) • k: giriş bilgi bitleri sayısı • n: kodlanmış çıkış bitleri sayısı • bi: her koldan çıkan kodlanmış bitler • u=(1,1,0,1,0,0,..) , m=2, R=1/2 olsun:
R = 1/2, m = 2, K = m + 1 constraint uzunluğu Veri çıkışları b(1) ve b(2) olmak üzere iki sinyal çoğaltıcı tarafından verilir. Tüm bellek kaydedicileri 0 ile başlar. bi(1) = ui + ui-1 + ui-2 bi(2)= ui + ui-2 formülleri ile çoğaltıcılardan çıkan sonuçlar bulunur.
Örneğin u1 için; • b1(1)= 1+0+0 = 1 • b1(2)= 1+0= 1 • u2 için; • b2(1)= 1+1+0 = 0 mod2 • b2(2)=1+0 = 1 • Kodlama sonucu b(1)=(1,0,0,0,1,1,..) b(2)=(1,1,1,0,0,1,..) çıktıları alınır. • b(1) ve b(2)nin çoğullanmasından sonra b=(1,1,0,1,0,1,0,0,1,0,1,1,..) elde edilir. • Convolutional kodlama bir lineer ardışık devredir. Süreklidir. Giriş bitleri devam ettikçe devamlıdır. Filmin fotoğrafların kare kare birleştirilmesi gibi bitler kodlayıcıya alınır ve hafızada yer ederler. Bu yüzden LTI(Linear Time-Invariant) sistemler adı verilir. LTI sistem tamamen ani/etkili(impulse) cevaplar tarafından vasıflandırılmıştır.
ÜRETEÇ MATRİSİ • Tıpkı lineer kodlardaki gibi, üretici matrisle kodlanmış diziyi elde edebiliriz. b = uG u ve b bilgi dizileri yarı sonsuzdur. Bu nedenle convolutional kodun üretici matrisi de yarı sonsuz yapıya sahip olur. Üreteç matris kxn boyutlu Gi altmatrislerden oluşur. Verdiğimiz örneğe göre; elde edilir. Gi altmatrisimiz iϵ [0,m] için;
DURUM DİYAGRAMI Şimdiye kadar 2 kodlama yönetimi üzerinde durduk biri lineer ardışık devre, büyük ihtimalle donanım uygulamaları için en uygun olanı, bir diğeri ise üreteç matrisi ile kodlamaydı. Şimdi ise grafiksel gösteriminden bahsedeceğiz. Durum diyagramları dekodlama algoritmalarında ve uzaklık özelliklerinde bize yardımcı olacaklar.
DEKODLAMA • Bir convolutional kodun dekodlanması için birkaç farklı yaklaşım vardır. Bu yöntemler iki ana kategoride gruplanabilir. • 1-Ardışık Dekodlama • -Fano algoritması • 2-Maximum olasılık dekodlaması • -Viterbi Dekodlaması • Bu metodların her ikisi de dekodlamadaki temel mantığa 2 farklı yaklaşım sunar.
DEKODLAMADA TEMEL MANTIK • ½ oranında bir kod üzerinden 3 bit in gönderildiğini varsayalım.Bu gönderim sonucunda 6 bit alırız.Alınan bu 6 bit hatalara sahip olabilir veya hatasız olabilir.Kodlamasüreciden biliyoruz ki bu bitler birbirinden farklı olarak eşsiz bir şekilde eşlenir.Bu yüzden 3 bitlik bir dizinin 6 bitlik kendine has bir çıktısı olacaktır.Ancak hatalara bağlı olarak bu 6 bit in farklı kombinasyonlarını da alabiliriz. • 3 girdi bitinin permütasyonları 8 farklı girdi dizisi olarak sonuçlanır.Bunların her biri kod sayesinde 6 bitlik çıktı dizisi için eşsiz bir eşleme sahiptir.Bunlar uygun dizilerin kümesini oluşturular ve dekodlayıcının görevi de bunları göz önünde bulundurarak hangisinin gönderildiğini bulmaktır.
Diyelim ki 111100 alındı. Bu yukarıdaki tablodaki mümkün 8 diziden biri değil.Bunu nasıl dekodlayabiliriz? İki şey yapabiliriz: 1-Bu alınan diziyi bütün mümkün dizilerle karşılaştırarak en az hamming uzaklığa sahip olanı alırız, 2-Bir korelasyon(bağ,bağıntı ilişki) kurarız ve en iyi korelasyona sahip olanları alırız.
ARDIŞIK DEKODLAMA • Ardışık dekodlama en iyi analoji(benzetme, örnekleme) ile tanımlanır. Sana bir yere ulaşman için bazı yön talimatları verilir. Ama sana talimatları veren kişi işini iyi yapmaz ve bazen sana söylenen yönü yanlış algılayarak yanlış bir yola girersin. Ancak bu andan itibaren artık yanlış yola girdiğin için herhangi bir talimat alamayacağından dolayı yanlış bir yola girdiğinin farkına varırsın. Bu andan itibaren en son talimat aldığın yere geri dönersin ve bir sonraki talimatı alana kadar alternatif yolları denersin ve sonunda bu şekilde hedefine ulaşırsın. Sana verilen talimatlar ne kadar iyi olursa o kadar az geri dönüşler yaşarsın.
Ardışık dekodlamada da benzer şekilde sadece bir yol ile ilgileniyorsun. Bu yolu bırakıp istediğin herhangi bir an geri dönüp başka bir yol deneyebilirsin ancak önemli olan aynı anda birden fazla yol takip edemezsin. • Ardışık dekodlama trellis üzerinde hem ileri hem geri hareket imkanı sağlar. Dekodlayıcı verdiği kararları izler, aynı zamanda belirsiz kararlar verir ve hesaplamasını yapar. Eğer hesabı eşik değerinden daha hızlı artıyorsa, dekodlayıcı bu yolu bırakır ve hesabın eşik değerinin altında olduğu yere geri dönüş yapar.
Maximum Olasılık ve Viterbi Dekodlaması Viterbi dekodlaması,maximum olasılık dekodlamasının en bilinen uygulamasıdır.Burada her hamlede seçenekler sistematik olarak daraltılır.Seçeneklerin azaltılmasının temeli budur. • 1-Hatalar seyrek olarak meydana gelir.Hata olasılığı küçüktür. • 2-Bir satırdaki iki hatanın olasılığı, tek bir hatanınkinden küçük ise,hataların rastgele dağıldığı anlaşılır.
Viterbidekodlayıcısı verilen uzunlukta alınan dizinin tamamını kontrol eder.Her yol için bir metrik hesaplar ve bu metriklere dayalı olarak kararlar verir.İki yol birleşip düğüm oluşturuncaya kadar tüm yollar takip edilir.Daha sonra yüksek metriğe sahip olan yol alınır ve düşük metrikli olan yol elenir.Seçilen bu yollara da survivor adı verilir. • N bitlik bir dizi için, alınabilecek mümkün dizi sayısı 2Ndir.Bunlardan sadece 2kL tanesi geçerlidir.Viterbialgoritması,tüm yolları kontrol etmek yerine 2kL tane survivingpath ile kıyaslamaları daraltmak için maksimum olasılık prensiplerini uygular.
Her dal alınan mesaja ve o an geçerli kodsözlerin ne olduğuna bağlı olarak bir Hamming uzaklığına sahiptir.
DEKODLAMA UYGULAMASI Örneğin kodumuz (2,1,4) olsun ve bize 1011 000 gönderilsin. Eğer hata yoksa alacağımız kodlar: 11 11 01 11 01 01 11 Ama diyelim ki şöyle bir kod aldık: 01 11 01 11 01 01 11. Bir hata oluştu. İlk bit 0 olarak alındı.
t=0’da, 01 bitini aldık.Dekodlayıcı daima 000 durumundan başlar.Bu noktadan sonra önünde iki yol vardır ama bu yollardan hiçbiri alınan bitler ile eşleşmemektedir. Dekodlayıcı bu iki yol için birer dal metriği hesaplar ve ardışık dekodlamanın aksine aynı anda bu iki dal üzerinden devam eder. Her iki dal için metrik 1’e eşit olduğunda iki bitten birinin gelen bitler ile eşleştiği anlamı çıkar.
t=1’de dekodlayıcı yukarıdaki iki mümkün durumdan dört duruma yayılır. Buradan sonra gelen 11 bitine ve kodsözle ile olan uyuşmaya bakarak bu dallar için dal metrikleri hesaplanır. Yeni metrik Trellis’in sağında gösterilir.
t=2’de , dört durum tüm olası yolları göstermek için 8 yola yayılır. Yol metriği 01 bitleri için hesaplanır ve önceki t=1 den gelen metriğe eklenir.
t=7’de aşamada trellis tamamlanıyor.Ş imdi yüksek metriğe sahip olan yollara bakıyoruz.Bir galibimiz var. Yolumuz 000, 100, 010, 101, 110, 011, 001, 000 sözleri tarafından takip ediliyor ve 1011000 dekodlanmış diziye karşılık geliyor.
KAYNAKÇA • W. W. Petersonand E. J. Weldon, Jr., ErrorCorrectingCodes, 2nd ed. Cambridge, MA: The MIT Press, 1972. • V. Pless, IntroductiontotheTheory of Error-CorrectingCodes, 3rd ed. New York: John Wiley & Sons, 1998. • C. Schlegeland L. Perez, TrellisCoding. Piscataway, NJ: IEEE Press, 1997 • S. B. Wicker, Error Control SystemsforDigitalCommunicationand Storage. EnglewoodCliffs, NJ: PrenticeHall, 1995. • Robert H. Morelos-Zaragoza ,The Art Of ErrorCorrectingCoding, 2006 • AndreNeubauer,VolkerKöhnandJürgenFreudenberger, CodingTheory-Alghoritms,Architecturesand Applications, 2007
BİZİ DİNLEDİĞİNİZ İÇİN TEŞEKKÜR EDERİZ……