Yüksek Hızlı ve Düşük Gecikmeli Viterbi Kod Çözücünün Tasarımı ve Uygulanması

0 Önsöz

Viterbi kod çözme, 1967'de VITERBI A J tarafından önerilen olasılıklı bir kod çözme algoritmasıdır ve maksimum olasılık kod çözme yöntemidir. Daha sonra, bu algoritmanın, semboller arası girişim altında yargılama, sürekli faz FSK sinyallerinin optimal alımı, kelime tanıma, sekans izleme ve kaynak kodlama gibi çeşitli dijital tahmin problemleri için kullanılabileceği keşfedildi. Viterbi algoritmasının bu uygulamalarının tümü, zaman ayrık ve durum sınırlı Markov sürecinin optimal tahmin problemine atfedilebilir Bu nedenle, bu sadece evrişimli kodlar için önemli bir kod çözme algoritması değil, aynı zamanda daha büyük teorik öneme sahiptir.

Evrişimli kodların mükemmel hata düzeltme performansı ve basit Viterbi donanım kod çözücüsü (yüksek hızlı kod çözme elde etmesi kolay) sayesinde, derin uzay iletişimlerinde, uydu iletişimlerinde, IEEE 802.11, ultra geniş bant (UWB) sistemlerinde, DAB, DVB, 2G'de yaygın olarak kullanılmaktadır. , 3G, LTE, Wimax ve güç hattı iletişimleri.

1986'dan beri, Viterbi kod çözücü tasarımı hakkında literatür gibi birçok makale uluslararası olarak yayınlandı ~. Kod çözme hızı arayışında, çoğu 1.74 Gb / s ve 2.8 Gb / s'ye varan çıktılarla tamamen paralel bir yapı benimsiyor.Aynı zamanda, büyük FPGA üreticileri zaten birçok IP çekirdeği sağladı.

Farklı dahili ara bağlantı mekanizmaları nedeniyle, FPGA tabanlı kod çözücülerin çalışma hızı, yapılandırılmış ASIC'lerden ve özel ASIC'lerden farklıdır.FpGA'da uygulanan kod çözücülerin çalışma frekansı genellikle 140 ~ 510 MHz arasındadır ve aynı tasarım Yapı özel bir ASIC tarafından uygulanıyorsa, literatüre benzer bir çalışma frekansı elde edebilmelidir (800 MHz ~ 1.4 GHz).

Mühendislik uygulaması perspektifinden bakıldığında, Viterbi kod çözücünün performans değerlendirme indeksleri temelde kod çözme hızı, işlem gecikmesi ve kaynak işgalini içerir. Geleneksel Viterbi kod çözücü yapısının düşük kaynak tüketimi ve düşük gecikme avantajlarını birleştirmesi zordur. Bununla birlikte, yüksek hızlı iletişim sistemlerinde, çoğu zaman yüksek kod çözme gecikmeleri gerektirir. Bu makale, kod çözme gecikmesi performansını ve mantık kaynaklarının tüketimini hesaba katmak için kısmi kayıt değişimini kullanan bir yöntem önermektedir. Test sonuçları, hayatta kalan yolu depolamak için bu kısmi kayıt değiştirme geri izleme yönteminin kullanılmasının küçük kayıt değişim gecikmesi avantajına sahip olduğunu ve gerekli mantık kaynaklarının normal geri izleme yöntemine eşdeğer olduğunu ve gerekli depolama biriminin sıradan geri izleme yönteminden çok daha küçük olduğunu göstermektedir.

1 Kısmi kayıt değişiminin yol depolaması

1.1 Geleneksel yol depolama

Hayatta kalma yolu belleğinin iki ana yapısı vardır: biri kayıt değişim yapısı (RE) ve diğeri geri izleme yapısıdır (TB).

İlki, giriş sinyali bilgilerini yol üzerinde depolayan ve kod çözmeyi başarmak için kayıt dizisindeki sabit veri alışverişini kullanan ana depolama gövdesi olarak özel kayıtlar kullanır. Bu yöntem, daha az depolama birimi ve kısa kod çözme gecikmesi avantajlarına sahip olsa da, karmaşık dahili bağlantısı ve yüksek güç tüketimi nedeniyle büyük durumlu Viterbi kod çözme için uygun değildir (her yeni karar biti girildiğinde kayıt çevrilmelidir) İşlemcinin FPGA uygulaması.

Geri izleme yöntemi, hayatta kalma yolunun şebeke bağlantı ilişkisini depolayan ve RAM'i okuyup yazarak veri yazma ve geri izleme çıktısını tamamlayan ana depolama birimi olarak genel RAM kullanır. Avantajları basit ve düzenli ara bağlantı ilişkileridir; birinci dezavantaj, kod çözme gecikmesinin büyük olmasıdır - genel olarak paralel kod çözmede geri izleme yönteminin gecikmesi, kayıt değiştirme yönteminin 4 katıdır ve ikinci dezavantaj, depolama biriminin daha fazlasını gerektirmesidir. Spesifik performans farkı analizi aşağıdaki gibidir.

Evrişimsel kod kodlama kısıtlama uzunluğunun L ve kod çözme derinliğinin V = 6 × L olduğunu varsayalım; kod oranı R = 1/2 olan bir kod çözücü için, her sistem saati 2 bit kodlanmış iletim bilgisi girer ve kod çözmeden sonra 1 bit verir bilgi.

Temel 2 artı karşılaştırması tarafından seçilen tamamen paralel RE modu için: yol depolama bölümü, 2L-1 durumlarının uzun V yolu bilgilerini kilitlemeli ve değiştirmelidir, yani V × 2L-1 mantık birimleri ve yazmaçları gereklidir ve kod çözme gecikmesi V'dir. Sistem saati.

Tam paralel geleneksel TB yöntemi için, her 1 bitin kodu çözüldüğünden, en az V bit geri izlenir Sürekli kod çözme elde etmek için, bir seferde x'e ayarlanarak çok sayıda bitin kodu çözülmelidir. Daha sonra, V + x sistem saatlerinin, kod çözme girdisinden geri izleme için hazırlığa kadar beklenmesi gerekir Her sistem saati yalnızca y = 1 bit geri izlerse, bir kod çözme çıktısının V + x sistem saatlerini geriye doğru izlemesi gerekir. Çok çipli yuvarlak okuma (tek çipli yazma, 2'den çok çipli okuma) modu benimsenir ve V + x sembol yolu bilgisi, geri izleme süresi boyunca yazılır.

Ardışık düzen modu işleminde, en az n kez traceback kod çözme x bit (n + 1) x sistem saati içinde tamamlanır. 2 dilim okurken, (V + x) sembolünün izinin 2x saatte tamamlanması gerekir, yani genellikle x = V.

Bu şekilde, 2x saatte okunan 2 adet RAM'in derinliği 2V, genişliği 2L-1 durum 1 bit yol bilgisi, toplam 4V derinlik (önceki 4V sistem saati yazma dizisinde 1a, 1b olarak işaretlenmiş ve ardından 2a yazmaya başla) 2b derinliği 2V 2 adet RAM'dir), 2V derinlik yazdıktan sonra 1b, 1a okumaya başlayın; V derinliğinden sonra başka bir parça 2a, 1b okur, böylece 1a, 1b'deki iletim bilgileri geriye doğru izlenip aynı anda yazılabilir. 2b, 1a yolu.

Bu süre boyunca, RAM'in 2 dilimindeki önceki 2V derinlik RAM'in okuma bilgisini (1b, 1a) kesen 2V derinlik yolu bilgisi (1a, 1b) yazılır. Yol depolama RAM'i, bir okuma ve bir yazma ile çift bağlantı noktalı bir RAM tarafından uygulandığında, iki parça RAM, bir parça yazma ve iki okuma parçasının yazma ve geriye dönük izleme işlevlerini gerçekleştirebilir.

Bu nedenle, toplam depolama birimi, 4V sembol derinliğine sahip 2L-1 durum yol bilgisi, yani 4V × 2L-1bit depolama birimi olmalıdır ve gerçek derinlik, (M = 2N > 4V), M'ye karşılık gelen en küçük pozitif tam sayıdır N'dir.

Kod çözme gecikmesi: Geri dönüş için hazır olmak için kod çözücünün başlangıcından itibaren 2V saat gereklidir.İzleme (V + x), 2V derinliğin toplam 4V sistem saati için 2V sistem saati gerektirdiği anlamına gelir.

1.2 Geliştirilmiş kısmi kayıt değiştirme geri izleme yöntemi

Yukarıda bahsedilen geleneksel TB yönteminden, kod çözme gecikmesini ve depolama birimini azaltmak için, çok bitli sembollerin yol bilgilerinin bir seferde paralel olarak okunabileceği görülebilir. Bu makale, kısmi kayıt değiştirme yöntemini benimsemeyi, çoklu sembol (2 ~ 6) yol bilgisini biriktirmeyi, depolama birimini bir seferde bir adres kaydetmeyi ve yazmayı, böylece sonraki okuma sürecini hızlandırmayı önermektedir.

RE parçasının uzunluğu y olsun. Bir bellek hücresi, bir okuma ve bir yazma yöntemi, her x bit geri izleme kodu çözüldüğünde, geri izleme gecikmesi t = (V + x) / y'dir; bu geri izleme süresi boyunca, yol bilgisini sağlamak için t-bit yol bilgisi tekrar yazılır Depolama birimi yararlı bilgi kapsamına sahip değildir ve tx yani x (V + x) / y yani xV / (y-1) olması gerekir. Genellikle x, koşulu sağlayan en küçük tam sayı değerini alır.

Kod çözme gecikmesi, bekleme süresi artı geri izleme süresidir. Kodu çözülen bilginin her bir parçası için, almanın başlangıcından geri dönüşe kadar bekleme süresi: V + x bit kod çözülmüş bilgi alma süresi V + x sistem saatleri. Toplam kod çözme gecikmesi V + x + tV + 2x'tir.

Yol bilgisi depolama birimi (V + 2x) / y derinliğidir (gerçek derinlik M = 2N'yi sağlamak için alınır. > (V + 2x) / y'nin en küçük pozitif tamsayısı N, M'ye karşılık gelir, y × 2L-1 geniş ve toplam bit sayısı (V + 2x) × 2L-1'dir.

Buna ek olarak, geri izleme sırasında 2L-1'den seçilen y daha fazla mantıksal kaynak tüketir, yani y × 2L-1 birleşik bir LUT kullanır; kısmi yazmaç değişimi nedeniyle, mevcut yol bilgisini kilitlemek için y uzunluğunda 2L-1 yazmaçları gerekir.

2 Diğer optimizasyon önlemleri

Literatürde bahsedilen dal ölçüsü doğrusal dönüşüm 3 bit nicemlenmiş demodüle edilmiş sinyal kullanıldığında, dal ölçüsü hala negatif olmayan bir 3 bit sayısıdır, bu da sonraki yol ölçüsü taşma işlemini basitleştirir.

Dal metriği bir kez hesaplanır ve birçok kez aranır - (2, 1, n) kodu için, yani 4'ten biri seçilir.

Basit kümülatif yol metrik taşması, (2, 1, 7) 3 bitlik nicelleştirilmiş evrişimli kod için maksimum ve minimum yol metriği aralığı 3 + log27 bit içindedir. Tüm yol ölçütleri ve dal ölçütleri negatif olmayan sayılar olduğundan, yol ölçütlerini 3 + log27 + 17 olarak depolayan yazmacının bit genişliğini belirlemek için en yüksek bitin bir taşma biti daha eklenir.

Tamamen paralel yapı nedeniyle, ACS (Ekle-Karşılaştır-Seç) bir saatte bir tamamlanmalıdır, böylece ACS bölümü literatürdeki boru hattı yapısını kullanmaz.ACS, tamamen paralel yapı Viterbi kod çözücünün maksimum çalışma frekansını sınırlayan bir faktördür bir. Ancak, dal ölçüsü seçiminin gecikmesini hafifletmek için benimsenen, iki seviyeli hesaplama mandalının dal ölçüsü algoritması, tek seviyeli dal metrik mandalına kıyasla, yaklaşık 10 MHz'lik maksimum çalışma frekansı arttırılır.

3 Dekoder tasarımı

Kod çözücünün blok diyagramı Şekil 1'de gösterilmektedir.

4 Kaynak meslek deney performansı

Şekil 1'e göre tasarlanan temel-2 tamamen paralel kod çözücünün Quartus9.1 altında doğru bir şekilde simüle edilmesinden sonra, kapsamlı adaptasyon sonuçları Tablo 1 ila 4'te gösterilmektedir, burada: V = 6 × L ve niceleme bitlerinin sayısı 3'tür.

5 Kod çözücünün diğer performansı

5.1 Kod çözücünün kod çözme performansı

MATLAB altında 3 bit nicemleme sabit nokta simülasyonu ve Modelsim altında simülasyondan önce 3 bit nicemleme: sırasıyla (2,1,3), (2,1,5), (2,1,7), (2,1,9) 40.000 uzunluğundaki 50 segment (sinyal-gürültü oranı 4,4 dB veya daha az olduğunda) veya 100 segment (sinyal-gürültü oranı 4,4 dB'den büyük olduğunda) kodlanmış sekansların sinyal-gürültü oranı (SNR = Eb / no) 3 5,4 dB ( Yalnızca MATLAB altında ve Modelsim altında, her bir evrişimli kod, simülasyon için yalnızca BER = 10-3 ve 10-4 ile AGWN BPSK kanal iletiminin alınan sinyalinin kodunu çözmeyi seçer Hata performansı Şekil 2'de gösterilmektedir. . Simülasyon sonrası 4 evrişimli kod (2,1,3), (2,1,5), (2,1,7), (2,1,9) için sırasıyla 5.2 dB, 4.8 dB, 4.0 seçilmiştir. DB ve 3.4 dB'nin altında 40.000'lik bir uzunluğa sahip gürültülü kodlanmış bir alıcı sekansın bit hatası performans testi, Şekil 2 ile tamamen tutarlıdır.

5.2 Verim

Verimlilik, kod çözücünün çıkış bilgi hızı olarak tanımlandığında (ve literatürde verim, niceleme bitinden bağımsız olarak kod çözücünün giriş hızı olarak tanımlandığında), bu makaledeki baz 2 tam paralel kod hızı R = 1/2 Viterbi çevirisi için 2fmax iş hacmine sahip kodlayıcı. Yani Cyclone III üzerinde gerçekleştirilen (2, 1, 7) tam paralel kod çözücü verimi, 290 ile 350 Mb / s arasındadır.

HardCopyIII gibi yapılandırılmış ASIC cihazlarında tüketilen mantık kaynakları CycloneIII (2, 1, 7) ile eşdeğer olduğunda, evrişimli kodların maksimum çalışma frekansı 340 Hz'dir ve verim 680 Mb / s'dir.

Özel bir ASIC ile uygulanırsa, çıktı, girişte bahsedilen Viterbi kod çözme kullanılarak mevcut standartların (500 Mb / sn) gereksinimlerini karşılayabilmelidir.

5.3 Paralel kod çözücünün diğer belgelerle performans karşılaştırması

Tablo 5, diğer belgelerdeki (2, 1, 3) tam paralel kod çözücülerin performans karşılaştırmasını (EP3-C10F256C6) gösterir.

Tablodaki verilerden, bu yazıda tasarlanan (2, 1, 3) evrişimli kod tamamen paralel kod çözücünün, Altera tarafından sağlanan IP çekirdeğinden önemli ölçüde daha iyi olduğu görülebilir.Mantık kaynağı yalnızca% 25 kaplar ve kod çözme gecikmesi de Sadece% 25'i. Tablo 6, diğer belgelerdeki (2, 1, 7) tam paralel kod çözücülerin performans karşılaştırmasını gösterir.

6. Sonuç

Bu yazıda, kısmi kayıt değişimini kullanan kod çözücü, değişim uzunluğu 3 olduğunda basit geri izleme modu ile hemen hemen aynı mantık kaynaklarını tüketir ve kod çözme gecikmesi, depolama biriminin% 25 -% 66 oranında azaltılması koşuluyla yarıya indirilebilir.

(2, 1, 3), (2, 1, 5) gibi kısa kısıt uzunluklarına sahip evrişimli kodlar için, tam kayıt değişim kaynak tüketiminin kullanımı çok fazla artmayacak, ancak kod çözme gecikmesi değişim uzunluğu 3'e kıyasla azalacaktır. % 50, daha pratik değer.

(2,1,7), (2,1,9) gibi uzun kısıt uzunluklarına sahip evrişimli kodlar için, tam yazmaç değişim kaynak tüketiminin kullanımı çok artmaktadır. 4 veya 6 yazmaç değişim uzunluğunu seçmek daha uygundur. Gecikme, tam kayıt değişimine benzer, ancak tüketilen mantık kaynakları basit geri izleme moduna eşdeğerdir. Bellek birimi, basit geri izleme modundan çok daha küçüktür (% 50 veya% 62,5 daha küçük), ancak bu makalede FPGA altında uygulandığında tüketilen bellek bloklarının sayısı Daha fazlası, ancak bunun nedeni, Cyclone III'ün her bellek bloğunun nispeten büyük olmasıdır (geniş derinlik ve sınırlı genişlik). Minimum 16 derinliğe sahip küçük bir bellek bloğu (özel ASIC teknolojisi gibi) kullanılırsa, avantajları açık olacaktır.

Referanslar

TRUONG T K, SHIH M T, REED IS, ve diğerleri Bir geri izleme Viterbi kod çözücüsü için bir VLSI tasarımı. IEEE Transaction on Commuications, 1992, 40 (3): 616-624.

FEYGIN G, GULAK P G. Viterbi kod çözücülerinde hayatta kalan sıra bellek yönetimi için mimari ödünleşimler IEEE Trans on Commun, 1993, 41 (3): 425429.

GOO Y J, LEE H. Yüksek performanslı UWB uygulamaları için iki bit seviyesinde ardışık düzenlenmiş viterbi kod çözücü IEEE International Symposium on Circuits and Systems, ISCAS 2008, 2008: 1012-1015.

BRUELS N, SICHENEDER E, LOEW M, ve diğerleri 2.8 Gb / s, 32 durumlu, radix-4 Viterbi kod çözücü ekle-karşılaştır-seç birimi. 2004 VLSI Devreleri Sempozyumu, 2004: 170-173.

Yang Min., FPGA tabanlı Viterbi kod çözücünün tasarım optimizasyonu. 2011 Uluslararası Elektrik Bilgi ve Kontrol Mühendisliği Konferansı, 2001, 5: 4129-4131.

Tang Jiuling. Bir Viterbi kod çözücünün tasarımı ve FPGA uygulaması: systemVerilog ve ortak simülasyon kullanan bir vaka çalışması. 2009 IEEE Uluslararası Sinyal İşleme ve Bilgi Teknolojisi Sempozyumu (ISSPIT), 2009: 1-6.

Altera Cooperation.Viterbi Compiler v9.1 Kullanıcı Kılavuzu. 2009.

Xia Yuwen Verilog Digital System Design Tutorial (Second Edition) Beijing: Beihang University Press, 2008.

yazar bilgileri:

Yang Min

(Elektronik Bilgi ve İletişim Okulu, Huazhong Bilim ve Teknoloji Üniversitesi, Wuhan 430074, Hubei)

Game of Thrones 8'in ilk bölümü yaklaşık 60 milyon izlenmeye sahip. "Iron Throne" u kim öldürecek?
önceki
"Paddington Bear 2" ağızdan ağza gişe rekorları kıran Paddington ve dev pandalar "Ulusal Hazine ile Buluşuyor"
Sonraki
Pennefather MT750S kablosuz çok modlu değerlendirme: iş adamları için ilk tercih
Sıcaklık dengelemeli konvertöre dayalı zaman alanı sıcaklık sensörü
"Tasasız Bakkal" "aile portresi" çiçek gibi gülümsüyor, zamanın ve mekanın sırrı ortaya çıkmayı bekliyor
iPhone XR, 4999 yuan donma noktasına düştü, başlamayı seçer miydiniz?
Square Enix Mali Raporunu Açıkladı İlk Çeyrek Faaliyet Karı% 66,9 Düştü
FlyPods Youth Edition, AirPods Android telefonlar için en iyi gerçek kablosuz Bluetooth kulaklık ortağını ifade eder
Kulak madenciliği dünyasını altüst eden siyah teknoloji, durdurulamayacak kadar ferahlatıcı kafa doruk noktası | Smart Planet
Fairy Mountain ifade verdi, 99 çift karlı Han tarzı bir toplu düğün düzenledi
"Academic Paper" Çift Bantlı Çevresel Enerji Toplama Devresi Tasarımı
Taoying Daily Weinstein olayı bir belgesel "Charlotte" yönetmeni yapacak ve Shen Teng yeni bir film yapacak
Otomobil Finansmanının "Gülen Kılıcı"
Sanayi ve Bilgi Teknolojileri Bakanlığı: telekomünikasyon ve askeri endüstrilerde özel sermaye için piyasa erişimini rahatlatın
To Top