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

Özet:

Vitebi kod çözücünün uygulanmasında, yol depolama yöntemlerinin farklılığından dolayı, geri izleme ve kayıt değiştirme modlarına bölünmüştür.Etki, gecikme ve kaynak tüketiminin genellikle birbiriyle çelişen ikisinden sadece biri olabilmesidir. 3-6 uzunlukta RE-register değişimini, karışık geri izleme modunu benimseyen, geri izleme süresini büyük ölçüde azaltan ve yol depolama alanı gereksinimlerini azaltan, ödenen fiyat ACS başına 2 5 LUT artışıdır; diğer Viterbi kod çözücü optimizasyonu ile birlikte Bir dal ölçüsü hesaplaması ve her ACS araması gibi algoritmalar - yani 4-seçim 1 ve diğer önlemler, yüksek verim (340 Mb / sn), düşük gecikme süresi ve düşük kaynak tüketimi ile tamamen paralel bir Viterbi kod çözücüyü gerçekleştirir.

Çince alıntı biçimi: Yang Min.Yüksek oranlı ve düşük gecikmeli Viterbi kod çözücünün tasarımı ve uygulaması.Elektronik Teknoloji Uygulaması, 2018, 44 (9): 56-58, 62.

İngilizce alıntı biçimi: Yang Min.Yüksek hızlı ve düşük gecikmeli Viterbi kod çözücünün tasarımı.Elektronik Tekniğin Uygulanması, 2018, 44 (9): 56-58, 62.

0 Önsöz

Viterbi kod çözme, 1967'de VITERBI A J tarafından önerilen bir olasılık 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ı, 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, sadece evrişimsel kodlar için önemli bir kod çözme algoritması değil, aynı zamanda daha büyük teorik önemi de vardır.

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'de, 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ının peşinden gitmek için, çoğu tamamen paralel bir yapı benimsiyor ve verim 1,74 Gb / sn ve 2,8 Gb / sn kadar yüksek olabilir.Aynı zamanda, büyük FPGA üreticileri birçok IP çekirdeği sağlamıştır.

Farklı dahili ara bağlantı mekanizmaları nedeniyle, FPGA tabanlı kod çözücüler ve yapılandırılmış ASIC'ler ve özel ASIC'ler farklı çalışma hızlarına sahiptir.FPGA'larda uygulanan kod çözücülerin çalışma frekansı genellikle 140 ile 510 MHz arasındadır. Aynı tasarım Yapı özel bir ASIC ile 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 temel olarak 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 zaman gecikmesi 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), diğeri ise geri izleme yapısıdır (TB).

İlki, giriş sinyali bilgisini yolda depolayan ve kod çözmeyi sağlamak için kayıt dizisindeki sabit veri alışverişini kullanan ana depolama gövdesi olarak özel yazmaçları kullanır. Bu yöntem, daha az depolama birimi ve kısa kod çözme gecikmesi avantajlarına sahip olmasına rağmen, karmaşık dahili bağlantısı ve yüksek güç tüketimi nedeniyle büyük durum 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 okuyarak ve yazarak veri yazma ve geri izleme çıktısını tamamlayan ana depolama gövdesi 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 olduğunu 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ırma ile 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.

Tamamen paralel geleneksel TB yöntemi için, her 1 bitin kodu çözüldüğünden, en az V bit geri izlenir Sürekli kod çözmeyi gerçekleştirmek 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 hazırlığına kadar beklenmesi gerekir Her sistem saati yalnızca y = 1 bit geriye doğru izlerse, bir kod çözme çıktısının V + x sistem saatlerini geriye doğru izlemesi gerekir. Bir ç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, bu nedenle x = V genellikle alınır.

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 dilim RAM'dir), 2V derinliğini yazdıktan sonra 1b, 1a okumaya başlayın; V derinliğinden sonra başka bir dilim 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, 2 RAM dilimindeki önceki 2V derinlik RAM'in okuma bilgisini (1b, 1a) kesen 2V derinlik yolu bilgisi (1a, 1b) tekrar 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-1 bit depolama birimi olmalı ve gerçek derinlik (M = 2N > 4V) en küçük pozitif tam sayı N, M'ye karşılık gelir.

Kod çözme gecikmesi: Geri izleme hazırlığını almak için kod çözücüden 2V saat gereklidir Geri izleme (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 bilgisinin bir seferde paralel olarak okunabileceği görülebilir. Bu makale, çok sembollü (2 ~ 6) yol bilgisini biriktirdikten sonra kısmi kayıt değiştirme yöntemini benimsemeyi, depolama birimini bir seferde bir adres kaydetmeyi ve yazmayı, böylece sonraki okuma sürecini hızlandırmayı önerir.

RE parçasının uzunluğu y olsun. Bir bellek hücresi, bir okuma ve bir yazma, her x bitin geri izleme kodu çözüldüğünde, geri izleme gecikmesi t = (V + x) / y'dir; bu geri izleme periyodu sırasında, 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ülmüş her bilgi 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 tam sayısı N, M'ye karşılık gelir, y × 2L-1 geniş ve toplam bit sayısı (V + 2x) × 2L-1'dir.

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; 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.

Şube ölçüsü bir kez hesaplanır ve birden ç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 yazmaçların bit genişliğini belirlemek için en yüksek bitin bir taşma biti daha eklenir.

Tamamen paralel yapı nedeniyle, ACS (Add-Compare-Select) 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ı artırıldı.

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ü, Quartus 9.1 altında doğru şekilde simüle edildikten 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) ( Yalnızca MATLAB altında ve Modelsim altında, her bir evrişimli kod yalnızca simülasyon için BER = 10-3 ve 10-4 ile AGWN BPSK kanalında iletilen alınan sinyalin kodunu çözmeyi seçer Hata performansı Şekil 2'de gösterilmiştir. . Simülasyon sonrası 4 evrişimli kod (2,1,3), (2,1,5), (2,1,7), (2,1,9) için 5.2 dB, 4.8 dB, 4.0 seçilmiştir. Bit hatası performans testi, Şekil 2 ile tamamen tutarlı olan 3.4 dB ve 3.4 dB'nin altında 40.000'lik bir uzunluğa sahip gürültülü kodlanmış bir alıcı dizisinde gerçekleştirilir.

5.2 Verim

Verimlilik, kod çözücünün çıkış bilgi hızı olarak tanımlandığında (ve literatürdeki verim, niceleme bitinden bağımsız olarak kod çözücünün giriş hızı olarak tanımlandığında), bu makalede temel 2 tam paralel kod hızı R = 1/2 için, Viterbi çevirisi 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) 'de tüketilen mantık kaynakları 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 tarafından uygulanırsa, çıktı, girişte bahsedilen Viterbi kod çözme kullanarak 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 tam 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ıtlama uzunluklarına sahip evrişimli kodlar için, tam yazmaç değişim kaynak tüketiminin kullanımı çok fazla artmayacaktır, ancak kod çözme gecikmesi değişim uzunluğunun 3 olduğu zamandan daha az olacaktır. % 50, daha pratik değer.

(2,1,7), (2,1,9) gibi uzun kısıtlama uzunluklarına sahip evrişimli kodlar için, tam yazmaç değişim kaynak tüketimi çok artar. 4 veya 6'lık bir yazmaç değişim uzunluğu 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şmeler 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)

İş teklifleri

1,23 inç geniş renkli dokunmatik ekranı yükseltin! AMAZFIT metre el halkası 2 tushang
önceki
36 yaşında bir kadın anaokulu öğretmeni tüm vücudunda 8 kanserin canlı yayınını yapıyor. 3,000 mil uzakta bir erkek netizen ilgilenmek ve evlenme teklif etmek için geldi
Sonraki
ToF 3D vücut zayıflama hayallerin yaşamasına izin verir, Honor V20 "en tanrıça" kendisiyle buluşur
Pekin Üniversitesi Bilgisayar Bilimleri Bölümü'nden Huang Tiejun tarafından yapılan CCF-ADL atölye çalışmasının ilk bölümü: Bilgisayar geliştirme-beyin benzeri bilgi işlem tarihinden süper yapay zeka
Pekin Üniversitesi Bilgisayar Bilimleri Bölümü Huang Tiejun CCF-ADL Çalıştayı Bölüm II: Nöromorfik hesaplamanın ve yapay zeka biyolojik görüş sınırının ayrıntılı açıklaması
Antec P101 Değerlendirmesi: Basit ve Atmosferik Sessiz Kasa
Başlangıç | Dashi Johnson Yeni Yıla başlamak için size eşlik ediyor! "The Brave" oyunu için bir grup kurmaya cesaretin var mı?
Görsel telif haklarının yönetimi ve izlenebilirliği konusunda arama motorları ve içerik platformları başka neler yapabilir?
"Demon Ling Ling" Shenyang izleyicileri gelecek yıl için mutlu 12.29: Emma her zaman komik
WeGame'in Monster Hunter World yayınlanmasından önce bilmeniz gerekenler
BAT kıdemli algoritma mühendisi "Derin Öğrenme" okuma serisi paylaşımı (1) | Paylaşım özeti
Vivo, daha genç ve daha moda olan yeni bir marka imajını yayınladı ve dünya çapında 18 ülke ve bölgede piyasaya sürülecek
Oyun telefonları sözde talep haline geldi, yerli üreticiler kendilerini kullanmak için neye güveniyorlar?
"Sektörün Etkin Noktası" Zhang Zhongmou: TSMC, Amerika Birleşik Devletleri, Çin ve Japonya'dan gelen zorluklarla karşı karşıya
To Top