LDPC Kodlarına ve FPGA-Based Decoding

Düşük Boyut Parity-Check (LDPC) kodları, yüksek çözünürlükte modern dijital iletişimin temel taşı haline gelen lineer hata kayıt kodlarının sınıflandırılmasıdır. İlk olarak Robert Gallager tarafından 1963 MIT tezlerinde keşfedildi, LDPC kodları şimdi, performansla ilgili standartlarda kullanılan yöntemlerden dolayı on yıllardır göz ardı edildi.

Bir LDPC kodunun özü, toplam ürün algoritması (belirtme) veya basitleştirilmiş kapı dizileri (FPGA) ile ilgili kısıtlamalara uygun olarak kullanılan bir veri kümesinin kullanım süresine göre, doğrulanmış ve geç saatlerde işlem için zor kullanım alanları kullanılarak yapılan grafik tabanlı algoritmaları kullanarak, alan programlama algoritması ile ilgili olarak genişletilebilir.This algorithm exchange olasılıksal mesajları birlikte bir Tanner grafiğin kenarlarında bir araya getirir.

FPGAs, yazılımların esnekliğini özel donanımın performansıyla birleştirir. yeniden yapılandırılabilir mantık kumaşları tasarımcılara belirli kod oranlarına, blok uzunluklarına ve geç istasyonlara ve yazılım tanımlı radyolara veya GPU'lara kıyasla, FPGA'lara göre daha düşük güç sunar.Bu, uydu zemin istasyonlarında, 5G temel istasyonlarda, 5G tabanlı radyo (SDR) ve yazılım tanımlı radyo (SDR) sistemleri için vazgeçilmez hale getirir.

Bu makale, FPGA tabanlı LDPC decoder tasarımının teknik nüanslarına daha derin bir şekilde dalarak orijinal genel bakış açısına genişletir. algoritma ticaretlerini, donanım mimarisi seçimlerini, uygulama zorlukları ve önümüzdeki yüksek performanslı iletişim sistemlerini şekillendirecek trendlerini inceleyeceğiz.

LDPC Kodlarının Temelleri

Parity-Check Matrix ve Tanner Graph

Bir LDPC kodu ikili bir matrix tarafından tanımlanır:0)H[DÜDÜDÜSÜye ait olan kod uzunluğu ve 8.DÜye ait olan [DÜye Olmayanlar İçindekiler)[DÜye Olmayanlar[DÜye Olmayanlar İçindekiler)[DÜye Olmayanlar İçindekiler[DÜye Olmayanlar İçindekiler)[Üye Olmayanlar İçindekiler[DÜye Olmayanlar İçindekiler)[Üye Olmayanlar İçindekiler[Üye Olmayanlar İçindekiler)

Yapı, iki node tipi ile bipartite Tanner grafiği olarak görselleştirilebilir: [FONT:0] Değişken düğümleri kontrol etmek için) ve [[Dönder:2|Dönekli düğümler[Dönetici denklemi)[Dönderlik denklemi)[Dönderlik denklemi)[Dönder:)[Dönder:)))[Dönemli düğümler için geçerli olmayan mesajları kontrol etmek için geri yüklemeleri gerekir.

Iterative Decoding Algorithms

[FONT=0]Sum-product algoritması (SPA)) günlük olarak benzerlik oranları üzerinde çalışır (LLRs). Her bir sabit sayıdaki LLRs veya tüm bağlantılı çek düğümleri kanaldan hesaplar ve tüm bağlantı düğümleri hedef çek düğümleri hesaplayın. Check nodes.

[FONT=0]=0))))[MÜDÜSÜSÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN

Algoritma seçimi kritik bir tasarım kararıdır. SPA en iyi BER performansı verir ancak doğrusal olmayan fonksiyonlar için daha fazla mantık ve hafıza gerektirir. Min-sum daha basit arithmetic (comparison ve ek) ancak ölçeklendirme veya dengeleme faktörlerine ihtiyaç duyar.

Gerçek Zamanlı LDPC Dekoding için neden FPGA?

Paralellik ve Forput

FPGAs, her çek düğümü için bir öğeyi kullanarak, tüm mesajların aynı anda güncellenebilmesine izin verir.Bu tür mimariler, orta blok uzunlukları için 10 Gbps'yi aşabilir (örneğin, 1.024 bitleri).

FPGA'ların yeniden yapılandırılabilir doğası, düşük kullanım maliyetine paralellik yapmak için bir sistem tasarımcısına izin verir. Örneğin, aİLFLT:0)partial-parallel decoder), birden fazla düğüm arasında hesaplama birimleri paylaşıyor, alanı ve gücü düşük devre dışı bırakmak için sabit bir ASIC ile imkansızdır.

Deterministic Latency

Uydu geri dönüş bağlantıları veya kapalı-loop kontrolü gibi gerçek zamanlı sistemler, yazılım görevi önbellekleri veya GPU dalgası içerikli şifreler ile getirilen jitterleri ortadan kaldırır ve iterasyon sayar.In design, every bit of a codeword experience the same processing gecikme, remove the jitter introduce by software task scheduling cachees or GPU dalgası contention.

Güç Verimliliği

FPGA'larda özel veri yolları, eğitim alma, decode ve önbellek hiyerarşisinden kaçınır.Recoded bit (pJ/bit) enerjide ölçülmelidir, FPGA uygulamaları genellikle her iki CPU ve GPU'yu da ölçeklendirmek için uygular.

Yeniden yapılandırma

İletişim standartları hızla gelişti. FPGA tabanlı bir modem, yeni kod oranları, blok uzunlukları veya hatta tamamen farklı kod algoritmaları desteklemek için alanda güncellenebilir. Bu, yeni ürünler için zaman pazarlama süresini azaltır ve kullanılan donanımın operasyonel hayatını genişletebilir.

LDPC Decoders için FPGA Mimarisi

Core Bileşenler

Tipik bir FPGA tabanlı LDPC decoder şunları içerir:

  • [FONT:0)Variable Node Birimleri (VNUs)) - gelen LLR'lerin hesaplarını hesaplar ve düğümleri kontrol etmek için giden mesajlar üretir.
  • [FONT=0)Check Node Birimleri (CNUs))[değiştir | kaynağı değiştir]
  • [FONT=0]Memory Blocks[[Dönetici: 1 ) – LLR değerleri, kenarlarda mesajlar ve orta sonuçlar. Block RAM (BRAM) düşük gecikme ve yüksek yoğunluk için tercih edilir.
  • [FONT=0)Denetler Devlet Makine[[Dönetici:0))[Döneticiler Devlet Sistemi[[Dönetici: 1) - değişken ve kontrol-node işleme aşamaları (selleme programı için) veya tabakalı sequencing için.
  • [FONT=0]Input/Output Interfaces[Dönder: 0 ) – yayın kanalı LLRs'leri dekoder ve çıktı decoded bitleri içine.

Yüksek kod tasarımları ayrıca VNUs ve CNUs'ın boru hattını ve yenidenplikasyonunu, gelen bağlantının veri oranını eşleştirmeyi de içerir.

Memory Architecture Thinkations

Tanner grafik kenarları mesajın geçiş programını tanımlar. Storing kenar mesajları verimli bir şekilde büyük bir meydan okumadır çünkü büyük bir matrixin karşılıklı listesi BRAM'a geçebilir. Common yaklaşımlar şunları içerir:

  • [FONT:0) Tam tabanlı depolama – kenardaki bir bellek yeri. Simple ama hafıza yoğun.
  • [FONT:0]Comprepre/column depolama[DÜT:1) - sadece nonzero pozisyonları ve ilişkili LLR değerleri depolamak. bellekleri azaltın ama jenerasyon mantığı gerektirir.
  • [FONT:0)Layered decoding memory yeniden) – çünkü katmanlar süreç kontrol-node grupları, kenar hafızaları tabakaların arasında yeniden ele alınabilir ve yeniden kullanılabilir.

Dış hafıza (DDR4, HBM) çok büyük kodlar için kullanılabilir, ancak geç kalmışlık ve bant şişeleri ekliyor: Küçük, sık sık erişimler ve daha geniş ancak daha yavaş dış hafıza için BRAM.

Boru Hattı Tasarım

Modern FPGA'lar üzerinde 300 MHz'yi aşan yüksek saat frekansları elde etmek için, derin bir boru hattı VNU ve CNU işleme arasında yerleştirilmiştir.Her bir iterasyon, değişken düğümlerin bir dizi güncelleme olmasını sağlar ve bir sonraki iterasyon için zaman içinde birden fazla iletileri çakışmaz.(FLT:1) veyaFLT:2.

Katmanlı decoders için, boru hattı, yedek parça arasında veri bağımlılığını ele almalıdır: Katmanda bir değişken node güncellenme:0)) hemen bir sonraki tabakanın kontrol düğümlerini etkiler.Bu bağımlılık bir çift-buffered).

Tasarım metodolojisi ve Araçlar

RTL vs. High-Level Synthesis

Çoğu üretim FPGA LDPC decoders, Xilinx Vitis HLS veya Intel HLS Comp. HLS, zamanlama ve kaynak kullanımı üzerinde algoritmayı ifade etmek için yazılmamıştır. Ancak, algoritmaların yükselen karmaşıklığı, yüksek çözünürlükte (HLS) el kılavuzları (pragmas) ile birlikte, standart olmayan bir kontrol için algoritmayı ifade eder ve C/C++'da algoritmayı ifade eder.

Simülasyon ve Doğrulama

Decoders, bilinen hata kalıpları için IP çekirdeği sağlayan donanım-in-loop testibenches ile doğrulanmış olmalıdır (örneğin, Xilinx'ten 5G LDPC) ile yapılandırılabilir ve Vivado IP veya tümleşik bir blok diyagram ortamında entegre edilebilir.

Uygulama Challenges and Solutions

Routing Congestion

Binlerce düğümle tam kodlayıcılar büyük bir routing kaynakları gerektirir. VNUs ve CNUs'u bağlayan uzun teller, kongestion ve degrad saat frekansına neden olur.

  • [FONT:0)Hierarchical floorplanning[Dönetici:0)[Dönetici:0))- Tanner grafiği tek bir saat içinde sığan kümelere bölmek.
  • [FONT=0)Yüksekten (C) küresel tel uzunluğu azaltmak için çapraz bar veya ağ-on-çip (NoC) yapıları kullanın.
  • [FONT:0)Partially paralel mimari[[Dönemli mesaj değişimi sayısı, daha küçük bir işlem birimi tarafından çok karmaşık hale gelir.

Timing Closure

Saat frekansları 300 MHz'in ötesine geçiyor, toplantı kurulumu ve zamanları zorlaşıyor. Boru kayıtları doğru yoldan gecikmeler için eklenmelidir. Tasarımcılar otomatik retimleme yetenekleri içerir, ancak manuel müdahale birden çok bölgeye yayılan mesajlar için genellikle gereklidir.

Güç Dissipation

Dekoder mantığındaki yüksek geçiş aktivitesi, özellikle kompakt form faktörlerinde termal sorunlara yol açabilir: Güç optimizasyon teknikleri şunları içerir:

  • [FONT:0)Clock gating[DÜDÜT:1) – boş dönemler sırasında işlem birimlerini devre dışı bırakmak veya erken sona erdiğinde.
  • [FONT:0]Early end[[DÜDÜT:1) – tüm parite kontrolleri memnun olduğu sürece, dinamik güç tasarrufu sağlar.
  • [FONT=0) Düşük güç bellek modları[[Dönemli: 1) erişilebilirken BRAM'ı uyku modunda kullanın.
  • [FONT=0)Voltage ölçeklendirme[Dönetici: 1 ) – bazı FPGA'lar per-region gerilim adalarına destek vermektedir.

Latency ve Throughput Trade-offs

Gerçek zamanlı kısıtlamalar genellikle en fazla izin verilen gecikmeleri dikte eder (örneğin, 5G kontrol kanalı için 100 μs) Boru hatları aşamalarını arttırır, ancak saat frekansı ve netleri güçlendirebilir. Tasarımcı bu çatışma hedeflerini dengelemeli.0 göz önünde bulundurur.

Performans Metrikleri ve Gerçek Dünya Standartları

Anahtar Toplayıcılar

  • [FONT=0)Throughput[[Dönetici: 1 ) - 3 saniye sonra, genellikle modern FPGA decoders için 1-20 Gbps.
  • [FONT=0)Latency[[Dönetici:0)[Dönetici] - ilk girişten LLR'ye, tamponlama ve iterasyon gecikmesi dahil olmak üzere şifreli çıktı.
  • [FONT=0)Bit Hata Puanı (BER)) - hedef < 10). - 6[Döneticileri çoğu standartlarda kodlanmamış miktarlar için).
  • [FONT:0) Biraz başına enerji [DÜDÜT:1) - pJ/bit; devlet-of-art tasarımları 10 pJ /bit 5G LDPC decoders altında elde eder.

Örnek: 5G NR LDPC

5G Yeni Radyo standardı, LDPC kodlarını, yeniden yapılandırma ile ilgili ölçümler için 80048 bit ve fiyatlara sahip 10 Gbps'ye kadar 3,9. Base grafikler BG1 ve BG2 desteği farklı kod boyutları. FPGA uygulamaları:0XI TS 38.212[değiştir | kaynağı değiştir] için 10 Gbps'ye ulaşan referans tasarımları ile ele alınmalıdır.[değiştir | kaynağı değiştir]

DVB-S2/S2X

Dijital Video Yayınlama – Uydu İkinci Nesil, LDPC kodlarını 64800 bitlerine kadar blok uzunluğuyla kullanıyor. FPGA'da bu kadar uzun bloklar dikkatli kaynak bölmesini ve dış hafıza erişimini talep ediyor. Birçok uydu alanı[FLT) Xilinx Kintex veya Intel Arria FPGA'yı düşük güçle 1 Gbps'yi elde etmek için kullanıyor.

Gerçek Zamanlı Başvurular

Deep-Space İletişim

NASA'nın Deep Space Network, teleskop ve komuta bağlantıları için LDPC kodlarını kullanıyor. FPGAs, radyasyon toleransı (üçten modüler kırmızıdan) ve kanal koşullarını değiştirmek için kod oranları ayarlama yeteneği. Mars rovers ve James Webb Space teleb Space teleskobu, mikrop'tan uygulanan LDPC dekotlara güveniyor (eskiden Microsemi).

Yazılım Savunmalı Radyo (SDR)

ABDRP veya LimeSDR gibi SDR platformları genellikle tek bir çipli bir FPGA ile bir FPGA'yı temel bant işleme için bir FPGA ile eşleştirir. Bir LDPC decoder IP çekirdeği aynı FPGA'ya filtre, senkronizasyon ve FFT, kompakt bir tek-çipli alıcıya teslim edilebilir.

Future Trendleri

Makine Öğrenme-Aided Decoding

Araştırmacılar, sabit nokta arithmetic ile küçük sinir ağlarının geçici olarak gerekli olan sayısını araştırırlar. Örneğin, [[Döneticileri]], [[Döneticileri]], [[Döneticileri]], [[Döneticileri]], [[Geçmişleri/tr|Döneticileri]] ile ilgili araştırma[Dönlendirmeler) ile daha hızlı bir şekilde bir şekilde devam ettirir.Bu yöntemler daha iyi BER performansı azaltır.For example,2Bu araştırma kanal için derin öğrenme hakkında bilgi için ).

Yüksek-Band geniş bellek (HBM) Bütünleşme

Xilinx (Virtex UltraScale+) ve Intel (Stratix 10 MX) aynı paketi kullanarak HBM2 hafızasını entegre eder. Bu, dış hafıza erişimini ortadan kaldırmak için yüksek çözünürlükte bulunan tüm Tanners'ı sağlar.

Hybrid FPGA-ASIC Çözümleri

Daha yüksek aktarım gereksinimleri (100 Gbps ve ötesinde), bazı satıcılar bir hibrit yaklaşım öneriyor: FPGA'yı bir ASIC'nin (örneğin, Xilinx RFSoC) ile birleştiren bir ASIC'nin yoğunluğu ve hızıyla esneklik sağlıyor.

Çok-Standart Sistemler için Yeniden Dekoleler

Future kablosuz sistemler (6G) muhtemelen birden fazla kod ailesi için (LDPC, kutup kodları, turbo kodları) bir cihazda destek gerektirecektir. FPGAs birden fazla kodlayıcıya ev sahipliği yapabilir ve bir çerçeve tabanlı bir şekilde değiştirin.Birleştirilmiş parametresiz mimarinin geliştirilmesi, kodlama şemalarındaki işleme elemanlarının işlenmesi aktif bir araştırma alanıdır.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Gerçek zamanlı LDPC kodu için temel çözümler canlı ve temel bir alan olarak kalır. paralellik kombinasyonu, yeniden yapılandırılabilirlik ve güç verimliliği FPGAs'ı talep eden iletişim sistemleri için seçim platformu haline getirir, 5G baz istasyonlarından derin alana kadar uzanan bir algoritma seçimi, hafıza mimarisi, boru hattı tasarımı ve kaynak yönetimi. Standartlar geliştikçe, FPGA decoders, iletişim sistemleri için seçim platformunu zorlamaya devam edecektir.