當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]針對低密度奇偶校驗碼(簡稱LDPC碼)的直接編碼運算量較大、復(fù)雜度高,根據(jù)RicIlarclson和Urbanke(RU)建議的編碼方案,介紹一種適于在FPGA上實現(xiàn),利用有效校驗矩陣來降低編碼復(fù)雜度的LDPC編碼方案,給出了編碼器設(shè)計實現(xiàn)的原理和編碼器的結(jié)構(gòu)和基本組成。在QuartusⅡ7.2軟件平臺上采用基于FPGA的VHDL語言實現(xiàn)了有效的編碼過程。結(jié)果表明:此方案在保證高效可靠傳輸?shù)耐瑫r降低了實現(xiàn)的復(fù)雜度。這種編碼方案可靈活應(yīng)用于不同的校驗矩陣H,碼長和碼率的系統(tǒng)中。

在通信系統(tǒng)中糾錯碼被用來提高信道傳輸?shù)目煽啃院凸β世寐?,低密度奇偶校驗碼LDPC(Low Density Parity Check code)是目前性能最好的糾錯碼,最初由GaUager提出,但當(dāng)時并沒有引起足夠的重視。直到Turbo碼提出后,人們在研究Turbo碼的迭代解碼時,發(fā)現(xiàn)二者具有相同的特性,即約束隨機碼集合和迭代解碼算法,這導(dǎo)致了隨后LD-PC碼的復(fù)出。1996年,Mackay和Neal隨機構(gòu)造出的LDPC碼,當(dāng)碼長很長時其性能超過Turbo碼,并在實現(xiàn)上更有優(yōu)勢,從而激起編碼界對LDPC碼的研究熱情,成為當(dāng)今信道編碼領(lǐng)域最令人矚目的研究熱點之一。LDPC碼出色的糾錯性能以及可以并行解碼的特點特別是其簡單實用性使其成為下一代通信糾錯編碼的首選。因此,這里介紹一種基于FPGALDPC編碼設(shè)計。

1 LDPC碼
    LDPC碼是一種線性分組碼,其校驗矩陣是稀疏矩陣,因為相應(yīng)的校驗矩陣中包含絕大多數(shù)的0而僅有極少數(shù)的1而得名。一個(n,k)二進制LDPC碼可以用一個非常稀疏的奇偶校驗矩陣H來表示。其中,H是一個mxn的矩陣,n表示編碼比特長度,m表示校驗比特長度,k=n-m是信息比特長度。與校驗矩陣H相對應(yīng)的是一個生成矩陣G,生成矩陣將要發(fā)送的信息s={sl,s2,…,sm}轉(zhuǎn)換成被傳輸?shù)拇a子c={c1,c2,…,cn},n>m。對于任何一個合法的碼字c,都有校驗方程HcT=0。

2 RU編碼算法
    LDPC碼屬于線性分組碼。信號通過LDPC編碼后的碼字符合公式:
   
式中,c為碼字,H為校驗矩陣。
    直接的編碼方案:1)高斯消元,將校驗矩陣H化為下三角形式:2)將c分為信息比特和校驗比特2部分,如x=(s,p),其中s為已知信息比特向量,p為待求校驗信息比特向量;3)利用前向迭代方法解方程HcT=O,得到p。由于高斯消元后的矩陣不再具有稀疏性,因此這種編碼方法的硬件實現(xiàn)方案,其復(fù)雜度是與碼長的平方成正比。為了降低復(fù)雜度,Richardson和Urbanke充分利用校驗矩陣的稀疏性,將LDPC碼的編碼復(fù)雜度降到與碼長n成線性關(guān)系,即RU算法。
    RU算法包括兩個階段:預(yù)處理階段和信號編碼階段。通過預(yù)處理將校驗矩陣日變?yōu)橐粋€近似下三角的矩陣,由于這種變換僅僅通過行置換來實現(xiàn),所以矩陣的稀疏特性被保留。如圖1所示,在校驗矩陣H的近似下三角形式中,分塊矩陣A、B、C和c都保持了稀疏性,D為密集矩陣,T為稀疏的下三角矩陣。當(dāng)g很小時,即矩陣D很小時,可以大大降低編碼運算復(fù)雜度。為減少運算量應(yīng)在設(shè)計H矩陣時使g越小越好。
    實際編碼由矩陣相乘、前向迭代和向量相加操作組成。對于給定的一個校驗矩陣,預(yù)處理編碼預(yù)處理過程和矩陣的計算只需要做一次,所以可先用軟件完成,實際編碼在硬件上完成。RU編碼算法中可以進行部分并行運算,使得吞吐率最大化。通過有效的矩陣存儲,降低存儲單元的消耗量。
2.1 編碼器設(shè)計


    預(yù)處理包括2步:三角化和秩校驗。三角化通過行列置換處理將校驗矩陣轉(zhuǎn)化成圖1所示的形式,則:
   
式中,A為(m-g)×(n-m),B為(m-g)×g,T為(m-g)×(m-g),C為gx(n-m),D為gxg,E為gx(m-g)。除D外,其他全是稀疏矩陣,且T為對角線上全為l的下三角矩陣。
    設(shè)c:[sp1 p2],其中s為系統(tǒng)信息部分,p1和p2共同組成校驗信息部分,p1長為g,p2長為(m-g)。HcT=0左乘得到
    
    定義F=-ET-1 B+D,并且假定F是非奇的,由式(3)可得到p1和p2的求解式分別為
    
    在式(4)求解p1的過程中,要求矩陣F可逆,因此F必須為非奇異的,即可逆。因此實際編碼前必須進行秩校驗。為得到F,對原始H矩陣進行高斯消元得到式(6)的形式:
    
    如果F為奇異的,則將F中的列與其最左邊的列進行交換,直到F非奇異為止。
    編碼復(fù)雜度主要由g×g維矩陣F-1與向量(-ET-1 A+C)sT相乘決定。RU算法在g很小時,即g2<<n時,編碼復(fù)雜度與碼長n成線性關(guān)系。因此,為了進行有效編碼,預(yù)處理要使得g應(yīng)盡量的小。
2.2 編碼器硬件結(jié)構(gòu)
    基于RU算法的LDPC編碼實現(xiàn)過程主要是計算p1、p2的過程。設(shè)計編碼器時,為了提高編碼速度,將可以同時計算的步驟作并行處理,得到編碼器的硬件結(jié)構(gòu)如圖2所示。


    圖2中,A、B、C、E分別代表圖1中相應(yīng)的矩陣,其中,F(xiàn)=-ET-1 B+D。從圖2可知LDPC編碼器主要由矩陣向量相乘(MVM)、前向迭代(FS)、向量相加(VA)和向量合成器(CWG)等運算單元以及存儲各個矩陣相關(guān)信息的存儲器組成。因為前向迭代運算基本上是矩陣與向量的乘法計算,所以矩陣向量乘法是LDPC編碼過程最核心的單元。

3 矩陣向量乘法器(MVM)的實現(xiàn)
    矩陣與矩陣的乘法運算以及前向迭代運算實質(zhì)上都是矩陣與向量的乘法。下面說明矩陣向量乘法器硬件實現(xiàn)。


    對于LDPC編碼器,如何有效存儲各個矩陣的信息是降低復(fù)雜度的關(guān)鍵。本文采用存儲矩陣中元素‘1’在行中的位置以及對應(yīng)行行重,如表1所示。例如矩陣X第3行的“1”元素,在行中的位置分別為“0”、“4”,該行的行重為2。由于LDPC編碼過程中使用的矩陣大多是稀疏矩陣,所以采用該矩陣存儲方案能比較有效地利用存儲的空間并有利于矩陣與向量乘法的快速實現(xiàn)。
    
    矩陣X每行中“1”的位置可看作選擇向量s相應(yīng)元素的地址索引,將選擇的所有元素相加作和,即完成X中某行與向量的運算。由于涉及的運算都是二進制加法,相加作和操作可簡化如下:根據(jù)矩陣每行“1”的位置選擇向量s的元素。統(tǒng)計被選擇的元素中“1”的個數(shù),若結(jié)果為奇數(shù)則說明相加的結(jié)果為“l(fā)”,否則說明相加的結(jié)果為“0”。判斷結(jié)果為奇數(shù)或者偶數(shù)可由其二進制形式的末位是“1”或者“0”得到。通過設(shè)置2個計數(shù)器分別計算各行行重和選擇的向量s相應(yīng)位置的元素中“1”的個數(shù),即可實現(xiàn)乘法單元的運算。矩陣向量乘法器的硬件結(jié)構(gòu)如圖3所示。


    從圖3可知矩陣向量乘法器包括1)調(diào)度單元,產(chǎn)生各模塊單元的使能信號;2)緩存單元,對輸入信息序列進行緩存處理;3)存儲器控制單元,產(chǎn)生存儲器的地址信號;4)“1”位置存儲器,存儲矩陣各行“1”的位置;5)行重存儲器,存儲矩陣相應(yīng)各行行重;6)乘法單元,進行向量乘法運算,最后輸出碼字。

4 結(jié)果驗證
    矩陣向量乘法器仿真結(jié)果驗證在Qum-tusⅡ環(huán)境下,實現(xiàn)output=XsT,得到如圖4所示的仿真時序圖。圖4中“en”是使能信號,“cloc-k”是時鐘信號,addr_nun、adds_t分別為2個存儲器的地址信號,info_seq是輸入信息信號,rece是信息信號經(jīng)過緩存后的輸出信號,num_t是“1”在各行的位置信息,rOW_t是相應(yīng)各行的行重,output是矩陣與向量相乘的結(jié)果。


    由圖4可知,output=[1 1 1],信號輸出有一個時鐘周期的延時,仿真結(jié)果正確。

5 結(jié)束語
    用本文描述的方法,在1片Stratix系列的FPGAEPIS25F67217中,實現(xiàn)了最大碼長為4 096的靈活編碼方案,編碼器占用約lO%的邏輯單元,約13%的存儲單元,綜合后時鐘頻率達到166 MHz,數(shù)據(jù)吞吐率達到48.33 Mb/s。該編碼器結(jié)構(gòu)是一種通用的設(shè)計方案,可以靈活地應(yīng)用于各種不同類型的LDPC編碼中,并可有效地分配存儲器單元和最大可能地實現(xiàn)運算過程中的并行處理,但由于其采用通用的編碼算法,實現(xiàn)的復(fù)雜度高于某些特殊結(jié)構(gòu)的LDPC編碼器,比如準(zhǔn)循環(huán)LDPC碼。另外通過優(yōu)化時序和編碼結(jié)構(gòu),可以進一步提高本文編碼器的編碼速度。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉