趙 越,何大治,徐 胤,崔競飛
(1.上海交通大學,上海 200240; 2.廣播科學研究院,北京 100866)
下一代廣播電視網(Next Generation Broadcasting,NGB)將網絡平臺的構建作為重點任務,超大流量的數據的快速傳輸問題是網絡平臺構建的難點之一[1]。同軸電纜寬帶接入技術(High performance Network Over Coax,HINOC)[2-3]是一種新興的信息傳輸理論,是解決高吞吐量信息快速傳輸難題的最佳方案。
HINOC2.0是HINOC1.0系統的升級版,對系統的各項性能提出了更高的要求,例如最大的覆蓋范圍達到1 000 m,最高的物理層傳輸速率1 Gbit/s,調制方式提高到4 096QAM,使用的低密度奇偶校驗(Low Density Pari?ty Check,LDPC)碼[4]要求有更強的糾錯能力,誤碼平層要低于1E-12等。
LDPC糾錯碼是HINOC2.0系統中信道編碼的核心部分,為滿足HINOC2.0系統的性能要求,對LDPC碼提出了基本參數和性能指標:
1)高碼率,且誤碼平層要低于1E-12;
2)碼長為1 920,3 840或5 760,LDPC碼譯碼器的延時不能超過100 μs;
3)信息吞吐量達到1 Gbit/s。
在這些基本要求中,超高的吞吐量和很低的誤碼平層是技術難點。根據經驗,對于一般的非規則碼,要達到1E-12的誤碼平層是不可能的,而規則碼則具有很低的誤碼平層,但其誤碼瀑布曲線比較平緩,因此可以適當減小不規則性來達到較低的誤碼平層和較陡峭的誤碼瀑布曲線,即選取準循環LDPC碼(QC-LDPC)[5]。
其次,首先應達到吞吐量1 Gbit/s的要求,在此基礎上即可計算出譯碼器的延時是否滿足要求。若能滿足1 Gbit/s的吞吐量要求,則對于不同的碼長有不同的譯碼器延時,1 Gbit/s的輸入數據能夠進行正常譯碼,那么LD?PC譯碼器的延時就是N/109s,例如當碼長N=5 760時,相應的延時為6 μs左右,當碼長為N=1 920時,相應的延時為2 μs左右,均滿足延時不超過100 μs的要求。
需要注意的是,上述對譯碼器延時的計算是假設1 Gbit/s的數據吞吐量是可以通過一個譯碼器來實現正確譯碼的,然而實際上,由于芯片時鐘速率的限制,要實現Gbit/s數量級的譯碼速率,必須采用多個譯碼器并行譯碼的結構,設并行的譯碼器個數為M,則相當于每個譯碼器有1/M(Gbit·s-1)的數據吞吐量,因此其譯碼延時也將增大為原來的M倍。此時,若需要滿足譯碼延時不超過100 μs的要求,需要對M的取值進行限制。并且,碼長N越小,并行度M的最大值越大,因此對芯片處理速率的要求就越低。因此為盡可能在滿足譯碼延時的條件下提高并行度M,選擇碼長為1 920的碼字作為HINOC2.0系統中的LDPC糾錯碼,其碼率為0.9。
考慮到實際應用中,LDPC譯碼器的輸入數據是碼長長度的似然信息,因此只有當一個完整的碼字全部輸入到譯碼器之后才能開始譯碼,由于輸入數據流一般都是連續的,因此需要額外的RAM來作為輸入數據的緩存器。
乒乓RAM結構是工業界中LDPC譯碼器常采用的一種結構,譯碼算法為歸一化的最小和算法。這種結構是將輸入數據依次寫入到2個RAM緩沖區,通過2個RAM的讀和寫的切換來實現數據的流水式傳輸和處理。其結構如圖1所示。

設譯碼器的迭代次數為X,LDPC碼長為N,校驗矩陣子塊大小為q×q,輸入數據速率為Rbit/s,譯碼器的芯片時鐘頻率為R2Hz,則約束關系為

式中:公式左邊為該譯碼器每秒能完成譯碼的碼字個數;右邊為在輸入數據速率為R時,每秒鐘輸入到譯碼器中的碼字個數。目前高速的LDPC譯碼器芯片,其時鐘頻率可以達到200~300 MHz,為方便計算,不妨設為250 MHz,輸入數據速率即HINOC2.0系統對LDPC譯碼器在吞吐量方面的要求,要求速率為1 Gbit/s,碼長N為1 920,所設計的碼字的子塊大小為q×q=12×12,將這些參數代入式(1)可得,最大的迭代次數X為15次。
在一般情況下,譯碼器的時鐘達不到250 MHz的速率,或者迭代次數要求多于15次,上述乒乓RAM的譯碼器結構便有了很大的局限性。
針對乒乓RAM的局限性,本文提出了一種多個譯碼器并行的結構,其結構圖如圖2所示。

工作流程為:首先將輸入數據按照地址遞增的順序快速寫入RAM中,當地址累加到第二個RAM塊開始時,那么輸入的LLR數據正好為一個LDPC碼字長度,將第一個RAM數據讀入LDPC譯碼器1并開始譯碼,輸入數據繼續寫入RAM 2中,依次循環,直到地址累加到第N個RAM的結束地址,則將RAMN的數據讀入譯碼器N進行譯碼。之后輸入數據的寫入地址則回到RAM 1的起始地址,此時要求譯碼器1已經完成譯碼,將譯碼器1的結果通過MUX輸出,之后依次循環進行RAM 2,RAM 3,…,RAMN的數據寫入和譯碼。
可以看到相對于圖1中的乒乓譯碼器結構,圖2中并行譯碼器結構使得每一個譯碼器可以花費的譯碼時間增加了(N-1)倍,因此這種結構可以解決由于高吞吐量或者高的迭代次數而帶來的譯碼時間不足的問題。其中N的選取可以通過式(2)求得

式中:T1為一個LDPC塊的數據寫入一個RAM所需要的時鐘周期的個數;T2為譯碼器完成一個LDPC碼字譯碼所需要的時鐘周期的個數。設數據傳輸速率為R,碼長為n,芯片處理時鐘為R2,那么T1可以表示為

將式(3)代入式(2),可得N的決定公式為

需要注意的是,譯碼器1的譯碼時間其實可以再增加一個寫RAM 1所需要的時間,換個角度考慮,即其實可以節省一個譯碼器,那么當每一次輸入數據完成一次循環,從RAMN回到RAM 1時,RAMN的數據讀入到譯碼器1中進行譯碼,RAM 1的數據所傳入的譯碼器則會向下移動一個,RAM 2,RAM 3也是如此。進一步考慮,如果譯碼器的譯碼速率可以再快一些,當輸入數據寫完RAM(N-X)時,譯碼器1已經完成譯碼,那么則可以節省(X+1)個譯碼器。
圖2中的譯碼器結構有一定的缺點,如N個譯碼器是相同的邏輯資源結構,雖然其在結構上是并行譯碼,但譯碼并不是同時進行,所以并不能很好的將多個譯碼器行操作、列操作的信息存取所需要的RAM整合到一起,也不能將多個譯碼器的讀寫地址的邏輯進行整合。本節提出一種改進的結構,使得多個譯碼器譯碼時RAM資源能進行整合,并且有比較統一的讀寫邏輯,如圖3所示。

事實上,圖3所示的譯碼器結構是圖1乒乓RAM結構和圖2并行結構的結合。當數據寫滿RAM 1~RAMN時,將前N個RAM中的數據同時MUX,并且分配到譯碼器1到N,同時進行譯碼操作;同時數據開始寫RAM(N+1),而當輸入數據寫滿RAM(N+1)到RAM(N+N)時,此時必須保證前N個RAM的譯碼已經完成,再將后面N個RAM的數據讀入到MUX進而分配到相應的譯碼器中同時進行譯碼操作,輸入數據回到RAM 1繼續進行數據寫入,依次循環。
這樣的結構使得譯碼器可以同時進行并行譯碼,其RAM資源可以共用,并且譯碼器的讀寫邏輯能夠一致,不會出現時鐘錯位的情況。
另一種譯碼器硬件結構如圖4所示,適用的情況為當譯碼器的外部RAM有限,但是仍然要求有較多的迭代次數。上述結構中,迭代次數的最大值為


考慮到譯碼器的迭代過程中,每個變量節點的信息為更新后的LLR信息,因此可以在譯碼器后再接一個譯碼器,前面的譯碼器不需要進行譯碼判決,只需將迭代X次后的變量節點的LLR信息傳輸到后面的譯碼器即可。
可以看出,這樣的譯碼器結構使得譯碼等效迭代次數增多為2X,因此會有更好的譯碼性能。需要注意的是,在譯碼過程中,前后兩個譯碼器所譯的碼字其實不是同一個碼字,而是輸入碼字流中相隔(N-1)的碼字,例如前面的譯碼器碼字為(N+1)時,相應的后面的譯碼器是第1個碼字,當后面的譯碼器進行X次迭代后,前面譯碼器將輸出迭代X次后變量節點的LLR信息輸入到后面的譯碼器。
譯碼器所占用的硬件資源主要分為三種,即存儲輸入數據所需要的緩存RAM,稱之為外部RAM資源,譯碼器進行行操作和列操作時更新的節點信息的存儲RAM,稱之為內部RAM,以及進行節點間傳遞信息的計算所需要的邏輯資源。在此,由于邏輯資源隨譯碼算法的不同而不同,因此只給出外部RAM和內部RAM資源的分析。
統一規定用于定點化LLR信息的比特位數為 f=8,碼長為1 920,P為H矩陣中“1”的個數。上述各種結構所占用的硬件資源以及適用場合如表1所示。

表1 幾種譯碼器結構的硬件資源分析
為說明迭代次數對譯碼器譯碼性能的影響,圖5是不同迭代次數下,某一HINOC2.0備選碼字的性能仿真結果。

可以看出,迭代15次的譯碼性能并不會比45次相差很多,因此在一般情況下15次迭代完全可以滿足譯碼性能的要求,可以將15次迭代作為HINOC2.0中LDPC譯碼器設計的最優迭代次數。
本文基于HINOC2.0系統對LDPC碼譯碼器吞吐量達到1 Gbit/s和譯碼延時不超過100 μs的要求,給出了3種不同的譯碼器硬件結構,可為譯碼器的硬件實現提供參考,并給出了硬件資源分析和仿真結果作為理論依據。LDPC碼的設計是HINOC2.0系統的瓶頸之一,目前已有多家研究機構在LDPC碼的設計上投入了大量的精力,LDPC碼譯碼器在硬件上的實現有待于進一步研究。
:
[1]劉曉雪,章文輝.淺談下一代廣播電視網(NGB)[J].電視技術,2009,33(S2):150-152.
[2]歐陽峰,崔競飛,趙玉萍,等.HINOC同軸電纜接入系統技術方案[J].廣播與電視技術,2011(10):34-38.
[3]歐陽峰,崔競飛.HINOC技術概述和進展[J].電視技術,2011,35(12):11-13.
[4]GALLAGER R.Low-density parity-check codes[J].IRE Trans.In?form Theory,1962(1):21-28.
[5]KOU Y,LIN S,FOSSORIER M.Low density parity checkcodes:con?struction based on finite geometries[C]//Proc.IEEE Globecom 2000.San Francisco,CA:IEEE Press,2000:825-829.