《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于CMMB系統的LDPC譯碼器的設計與實現
基于CMMB系統的LDPC譯碼器的設計與實現
電子元器件應用
李江林,于忠臣 北京工業大學
摘要: 摘要:根據CMMB中LDPC碼校驗矩陣的結構特點,提出了一種部分并行譯碼結構的實現方法,并在XILINX的VirtexIV的XC4VLX80型FPGA上實現了這種結構。該設計充分利用了LDPC校驗矩陣的規律,采用了一種適當的硬件結構和獨特
關鍵詞: FPGA VirtexIV XC4VLX80 CMMB LDPC
Abstract:
Key words :

摘要:根據CMMBLDPC碼校驗矩陣的結構特點,提出了一種部分并行譯碼結構的實現方法,并在XILINX的VirtexIVXC4VLX80FPGA上實現了這種結構。該設計充分利用了LDPC校驗矩陣的規律,采用了一種適當的硬件結構和獨特的存儲器調用控制策略,故可在保證高性能和較大吞吐率的情況下,以較少的硬件資源實現兩種碼率的復用。
關鍵詞:CMMB;中國移動多媒體廣播;LDPC碼;部分并行結構;譯碼器

0 引言
    低密度奇偶校驗(Low Density Parity Check,LDPC)碼是由Gallager博士在1962年首次提出來的,由于LDPC碼的誤碼性能能夠逼近香農限,因而在無線通信、衛星通信等領域都得到了較多應用。中國移動多媒體廣播(CMMB)中使用的就是LDPC糾錯編碼。在CMMB標準中,LDPC碼長為9216,可支持1/2和3/4兩種碼率。作者通過深入分析CMMB中LDPC碼校驗矩陣的特點,采用了一種合適的硬件實現結構,因而在保證譯碼器較高性能和較快譯碼速度的情況下,以較低的硬件資源實現了兩種碼率的復用。

1 CMMB標準中的LDPC譯碼算法
1.1 CMMB中LDPC碼的主要特征
    CMMB采用規則的LDPC碼,兩種碼率的LDPC校驗矩陣有類似的規律。CMMB中1/2碼率的LDPC碼校驗矩陣為一個4608x9216的矩陣,進一步可劃分為256個18x9216行子矩陣。其中下一個行子矩陣是上一個行子矩陣的向右循環移36位,每一個行子矩陣的行重都為6;也可以把它劃分為256個4608x36列子矩陣,其中后一個列子矩陣是前一個列子矩陣的向下循環移18位,每一個列子矩陣的列重都為3。同理,3/4碼率的矩陣也可以進行類似的劃分,可劃分為256個9x9216的行子矩陣,每個行子矩陣的行重為12;當然,也可以分為256個2304x36,列重為3的列子矩陣。從校驗矩陣的特點可以看出,只要存儲器能存儲一個行或列子矩陣的非零元素,則利用這些非零元素,就可以恢復出整個校驗矩陣,從而進行譯碼。而且更為重要的是,對于同種碼率,行子矩陣組和列子矩陣組之間在非零元素位置上有著潛在的對應關系。本文正是通過挖掘這種潛在的對應關系,設計出了一種獨特的存儲器調用控制策略,并成功實現了復用RAM的同時,滿足了兩種碼率的硬件結構。
1.2 LDPC譯碼算法
    常用的LDPC碼譯碼算法為置信度傳遞解碼算法(BP decoding)。該算法相對比較成熟,性能非常優異。但是,BP算法中的f(x)函數包含對數運算和指數運算,這些復雜運算大大增加了BP譯碼器的運算量和復雜度。Fossorier等在1999年提出了一種min-sum譯碼算法,即利用一種近似的方法來處理BP算法中的f(x)函數,以將對數和指數運算化簡為乘法和比較運算,從而減少了譯碼器的運算量,但該方法在性能上也有一定損失。后來,Jinghu Chen和Fossorier又提出了修正的min-sum算法。在碼長較長的情況下,修正的min-sum算法比BP算法性能只差0.03~0.05 dB,而在算法復雜度上則只需要乘以一個常量修正因子?;谝陨戏治?,本文采用修正的min-sum算法來進行迭代更新,此更新分為校驗節點更新和變量節點更新。其迭代譯碼步驟分為兩步。
    第一步是初始化,即對每個m和n,a.JPG
    其次是迭代過程。而每次迭代又包括以下3個步驟:
b.JPG
從而達到預定的迭代次數。否則重新更新Qm=n并開始下一輪迭代。上面式中的k表示第k次迭代。
    記集合N(m)表示與校驗節點相連的所有變量節點;集合M(n)表示與變量節點相連的所有校驗節點;N(m)\n表示N(m)中除去變量節點n,同理,M(n)\m表示M(n)中除去校驗節點m。α一般取值為0.6~0.9,本系統中通過C模型浮點和定點仿真,可以得到α的最佳取值約為0.8,為了便于移位實現,取值為0.7875或者0.8125均可。



2 CMMB中LDPC譯碼器的硬件實現
2.1 譯碼器總體結構
    LDPC碼的譯碼器通常有串行結構、并行結構和部分并行結構等。根據校驗矩陣的特點,LDPC部分并行譯碼結構可簡單分為輸入和輸出存儲單元、VNU(變量節點運算)單元、CNU(校驗節點運算)單元和中間結果存儲單元。其譯碼器結構如圖1所示。為了便于ASIC實現,本文采用單端口RAM,每塊RAM由一個控制器控制以實現不同碼率的地址初始化、讀RAM、寫RAM等操作。

c.JPG


2.2 輸入和輸出存儲單元
    檢測到輸入數據有效后,可把輸入的串行數據依次存到初始化RAM里。本譯碼器一共有36個初始化存儲器,每個存儲器的深度為256。第1個數據存到第1個RAM的0地址,第2個數據存到第2個RAM的0地址,依次類推,第37個數據再存到第1個RAM的1地址,直到一幀9216個數據全部存滿36個RAM。同樣,輸出存儲單元可采用類似的存儲器調度方式。為了實現譯碼的連續性,本設計在輸入和輸出部分使用了乒乓結構,即采用兩組相同的36個RAM交替操作方式。
2.3 VNU單元
    VNU單元用于完成兩部分工作:一是由校驗節點和初始化信息來更新變量節點的值;二是對每一列進行硬判決。檢驗節點更新后的值將存儲到存儲單元R_Mem,而硬判決后的比特值則存到輸出存儲單元,直到滿足停止譯碼兩個條件之一時才可輸出碼字。第一次垂直更新時,不用輸入存儲單元Q_Mem的值,而只把輸入存儲單元里的初始值送到VNU單元進行更新運算即可。由于兩種碼率下LDPC檢驗矩陣的列重都是3,因此,兩種碼率下的VNU個數都為36個,且每個VNU結構也都是4輸入的VNU。每次運算時,都必須讀輸入存儲單元和Q_Mem(除第一次迭代外)中的數據的運算結果,但應同時寫入R_Mem存儲單元中。本操作內部采用流水線結構,每次迭代都延遲2個時鐘周期。由于讀地址都為0,而且讀地址每次加1,因此,執行變量節點更新運算共需花費256+2個時鐘,垂直更新結構的變量節點單元加法運算器結構如圖2所示。

d.JPG


2.4 CNU單元
    CNU單元也包括兩部分工作:一是由變量節點來更新校驗節點的值,并將更新后的值存儲到外部存儲器;二是對每一行硬判決后的比特進行校驗,以確定其是否滿足校驗方程,也就是對每一行所對應比特進行異或,并看結果是否為零。若所有行的異或結構都為零,則譯碼成功,退出迭代。在CMMB標準中,兩種碼率校驗矩陣H的行重有所不同(分別為6和12)。為了能共用CNU模塊并且共享存儲器資源,筆者設計了12輸入的CNU單元,并且使用9個CNU單元并行計算。這樣,當碼率為1/2時,1個CNU單元更新2行,9個正好更新18行;而當碼率為3/4時,9個CNU單元更新9行。每個12輸入的CNU單元由2個6輸入CNU單元組成,通過1個選擇器可控制CNU輸出。l/2碼率時,2個6輸入CNU的輸出結果可直接作為12輸入CNU的輸出結果,然后經緩存后送入Q_Mem;3/4碼率時,2個6輸入CNU的輸出再經過一級比較器得出的結果,才作為12輸入CNU的輸出值送到Q_Mem存儲。為了方便比較最后一級比較器,可在復用已有的兩組6輸入輸出比較單元的同時,還得輸出兩組最小值。CNU單元電路采用流水線結構來設計延時增加4個時鐘周期(1/2碼率)和5個時鐘周期(3/4碼率)。6輸入輸出CNU單元的結構簡圖如圖3所示。

e.JPG


2.5 中間結果存儲單元(R_Mem和Q_Mem)
    由于兩種碼率時,校驗矩陣第1個子矩陣中非零元素的位置不一樣。故在水平更新時,RAM的初始化地址也不一樣,需要用兩組初始地址值。對兩種碼率來說,第1個行子矩陣非零元素的個數都為108(18x6或9x12)。事實上,第1個列子矩陣非零元素的個數同樣為108(3x36)。第1個行子矩陣和第1個列子矩陣非零元素位置有著潛在的一一對應的關系。舉例來說,第1行(下標從0開始)6個1的列位置(下標從0開始)分別為0,7,19,26,31,5664。若分析第5664列可以發現5664=157x36+12,即5664列是第12列的移位。第12列中非零位置對應的行號為0,119,1783=99x18+1。第5664列中非零位置對應的行號為1,826,2945。于是非零位置(1783,12)的映射為(1,5664)。這樣,通過挖掘行子矩陣和列子矩陣中每一個非零位置的對應關系,就能準確地得出VNU和CNU運算單元數據之間的對應關系。把這種對應關系體現到memory的調度上來,就能準確地從R_Mem和Q_Mem中取值以進行水平和垂直更新。表1所列是中間結果存儲單元和寫地址的對應關系。

f.JPG


    這里分別用了108個深度為256、寬度為6bits的單口RAM作為R_Mem和Q_Mem。當進行變量節點運算時,VNU輸入可從Q_Mem中讀取,讀數時,首地址為0,VNU輸出寫入R_Mem中,寫順序首地址為黑體數字,運算周期為256;當所有變量節點更新后,接著是校驗節點的運算,同時
可進行檢驗方程運算。此時,CNU輸入從R_Mem中讀取,讀數的首地址為0,CNU輸出寫入Q_Mem中,寫入順序首地址為黑體數字,運算周期同樣為256。如此交替,便可完成迭代過程。上述例子中,(1,5664)和(1783,1)的對應關系反映在存儲單元上,正如表1中的第2列所示。

3 譯碼器的性能分析及FPGA實現
    作者通過C語言模型和MATLAB模型對譯碼器進行了浮點和定點仿真。為了達到性能和面積的平衡,位寬的取值為6 bits,而譯碼器性能只比浮點模型損失了約0.15 dB。在AWGN信道和BPSK的調制解調方式下,當碼率為1/2,信噪比SNR為1.6 dB時,誤碼率已經降至10-5以下。而在信噪比SNR為1.7 dB時,誤碼率已經降至10-7以下;當碼率為3/4時,在信噪比SNR為3.0 dB時,誤碼率可以降至10-6以下。
    本文按照上面所描述的硬件結構,采用XILINX的VirtexIV-XC4VLX80器件實現了CMMB標準中兩種碼率的LDPC譯碼,并且達到了和C定點模型同樣的性能。在ISE開發工具上對其進行編譯時,其具體的資源利用情況如表2所列。

g.JPG


    從表2中可以看出,此結構不僅完全地復用了存儲器資源,而且最大限度地復用了邏輯運算單元。正是因為兩種碼率可復用RAM資源,使memory消耗較少,從而剩下大量的RAM資源可以用作CMMB其余部分(如解交織模塊)使用。LUT資源相對來說用得較多,這是由于并行結構造成的,它有36個VNU和9個CNU交替進行運算。

4 結束語
    本文設計的部分并行結構的LDPC譯碼器能夠兼容不同碼率和不同校驗矩陣行重的LDPC碼。運用該譯碼結構在XILINX的VirtexIVC4VLX80器件上可實現CMMB標準中兩種碼率的LDPC譯碼。事實上,針對校驗矩陣的特點,采用一種獨特的存儲器控制策略,可以最大限度地復用硬件資源,從而大大減少了譯碼器的資源消耗。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美大片第1页| 在线观看福利一区| 免费视频一区| 欧美一区国产在线| 一区二区欧美在线| 国产精品蜜臀在线观看| 亚洲视频一区二区在线观看| 亚洲天堂视频在线观看| 99国产一区二区三精品乱码| 一本高清dvd不卡在线观看| 欧美福利一区二区三区| 国产精品一页| 欧美午夜片在线免费观看| 久久五月婷婷丁香社区| 欧美国产一区视频在线观看| 欧美男人的天堂| 久久疯狂做爰流白浆xx| 一区二区视频在线观看| 国产中文一区| 欧美一区三区二区在线观看| 精品粉嫩aⅴ一区二区三区四区| 午夜精品电影| 在线精品高清中文字幕| 国产视频精品免费播放| 国产精品揄拍一区二区| 国产一区91精品张津瑜| 午夜精品亚洲一区二区三区嫩草| 在线日韩成人| 欧美视频中文在线看| 亚洲激情在线观看| 免费久久精品视频| 欧美一区三区二区在线观看| 亚洲一区二区精品在线| 国产精品羞羞答答xxdd| 久久精品99无色码中文字幕| 国产精品久久91| 亚洲美女av在线播放| 欧美日韩国产成人在线91| 99国产精品一区| 久久国产直播| 久久国产精品72免费观看| 亚洲电影免费| 午夜一区二区三区在线观看| 久久人人九九| 亚洲缚视频在线观看| 亚洲电影免费在线观看| 影音先锋中文字幕一区| 欧美在线观看天堂一区二区三区| 国产一区二区三区在线观看免费| 亚洲精品国产无天堂网2021| 一区二区高清视频在线观看| 亚洲国产精品一区二区www| 一区二区三区欧美在线| 另类天堂av| 久久精品国产第一区二区三区| 妖精成人www高清在线观看| 亚洲一区二区av电影| 久久久综合香蕉尹人综合网| 久久久久国产一区二区| 国产精品一区二区久久精品| 亚洲曰本av电影| 免费观看欧美在线视频的网站| 亚洲欧洲在线观看| 欧美精品一区在线播放| 久久久一本精品99久久精品66| 91久久亚洲| 亚洲精品在线观| 米奇777超碰欧美日韩亚洲| 久久日韩精品| 亚洲视频中文| 极品少妇一区二区| 亚洲欧美国产一区二区三区| 亚洲乱码一区二区| 日韩午夜剧场| 亚洲国产日韩综合一区| 国产亚洲综合精品| 国产一区二区三区成人欧美日韩在线观看| 在线视频日本亚洲性| 久久久久久久波多野高潮日日| 久久精品二区| 9久草视频在线视频精品| 欧美日韩一卡| 亚洲国产成人在线视频| 国产日本欧美一区二区三区| 亚洲一区二区三区精品视频| 欧美视频一区| 国产欧美日韩亚州综合| 国产午夜精品在线观看| 欧美福利视频| 伊人精品成人久久综合软件| 欧美一级视频| 国产伦精品一区二区三区视频黑人| 久久精品成人| 日韩亚洲欧美一区二区三区| 久久免费99精品久久久久久| 国产亚洲成精品久久| 亚洲麻豆国产自偷在线| 亚洲国产高清在线观看视频| 日韩视频精品在线观看| 精品粉嫩aⅴ一区二区三区四区| 国产精品―色哟哟| 欧美区在线观看| 亚洲欧美在线视频观看| 小嫩嫩精品导航| 国产一区二区日韩精品| 亚洲国产精品尤物yw在线观看| 国产精品日日摸夜夜摸av| 一区二区三区国产精品| 国产日韩欧美在线一区| 国产精品一区在线播放| 欧美视频亚洲视频| 国产亚洲欧美一区二区三区| 欧美日韩在线不卡| 99精品欧美一区二区三区| 亚洲精品在线电影| 欧美裸体一区二区三区| 久久在线视频| 国产精品色一区二区三区| 亚洲精美视频| 欧美日韩高清一区| 中文日韩欧美| 亚洲男人影院| 欧美主播一区二区三区美女 久久精品人| 欧美日韩一区二区视频在线观看| 欧美日韩国产黄| 久久人人97超碰精品888| 亚洲综合另类| 欧美好骚综合网| 午夜精品国产| 久久久久久尹人网香蕉| 久久久青草青青国产亚洲免观| 亚洲国产高清一区| 国内自拍一区| 欧美片第1页综合| 性色av一区二区怡红| 久久阴道视频| 久久国产精品一区二区三区| 欧美日韩综合视频| 黄色一区二区三区四区| 久久成人av少妇免费| 99国产精品久久久久老师| 在线播放日韩欧美| 亚洲区一区二| 国产精品色网| 亚洲一区免费观看| 欧美黄色一区| 亚洲国产91精品在线观看| 久久国产精品毛片| 欧美黄在线观看| 久久久成人精品| 久久全国免费视频| 性做久久久久久免费观看欧美| 亚洲第一福利视频| 亚洲福利国产| 日韩系列欧美系列| 亚洲综合好骚| 亚洲第一精品夜夜躁人人爽| 国产欧美精品久久| 国产精品视频一区二区三区| 亚洲黄色影片| 欧美成人精品高清在线播放| 欧美在线视频a| 国产精品免费区二区三区观看| 一本久久a久久精品亚洲| 免费成人高清在线视频| 一区二区三区欧美| 一本久久综合亚洲鲁鲁五月天| 欧美三级电影精品| 在线观看视频免费一区二区三区| 欧美区高清在线| 亚洲欧美日韩系列| 亚洲网址在线| 久久国产福利国产秒拍| 国产精品亚洲片夜色在线| 国内精品久久久久国产盗摄免费观看完整版| 亚洲一二三区在线| 国产精品国产精品| 欧美人交a欧美精品| 在线日本高清免费不卡| 久久黄金**| 麻豆av一区二区三区久久| 亚洲欧美卡通另类91av| 国产精品久久久久久av下载红粉| 久久久国产成人精品| 激情综合色综合久久综合| 欧美视频一区二区在线观看| 在线观看亚洲精品| 影音先锋一区| 亚洲高清久久| 亚洲高清久久网| 一区二区三区欧美在线观看| 亚洲精品日韩在线观看| 亚洲精品在线一区二区| 国产一区二区主播在线| 亚洲日本成人女熟在线观看| 亚洲自拍偷拍麻豆| 欧美gay视频激情| 欧美激情综合色综合啪啪| 国产精品国产三级国产普通话99| 黄色av日韩| 欧美久久综合| 黄色一区二区在线观看| 一区二区三区在线免费观看| 欧美a级一区二区| 久久精品国产第一区二区三区最新章节| 亚洲毛片一区| 在线综合亚洲| 欧美四级剧情无删版影片| 欧美在线首页| 欧美少妇一区二区| 欧美日韩亚洲不卡| 国产视频一区免费看| 国产欧美日韩精品一区| 亚洲毛片视频| 亚洲性视频h| 国产乱理伦片在线观看夜一区| 国产欧美日韩精品在线| 欧美一区久久| 亚洲一区二区久久| 欧美/亚洲一区| 午夜视频久久久久久| 久久一区中文字幕| 亚洲经典在线| 欧美一区二区三区在线看| 国产日韩欧美麻豆| 欧美日韩精品久久久| 一区二区三区四区五区精品| 免费人成精品欧美精品| 欧美在线观看www| 亚洲亚洲精品三区日韩精品在线视频| 欧美一区二区三区婷婷月色| 一区视频在线看| 欧美在线高清| 99ri日韩精品视频| 国产一级一区二区| 国产精品午夜av在线| 亚洲大黄网站| 国产精品稀缺呦系列在线| 亚洲精华国产欧美| 夜夜嗨av一区二区三区网页| 中文精品一区二区三区| 亚洲一区在线免费观看| 羞羞视频在线观看欧美| 中文亚洲视频在线| 精品动漫3d一区二区三区免费版| 好吊妞这里只有精品| 亚洲欧美中文另类| 亚洲视频专区在线| 久久久亚洲精品一区二区三区| 99在线热播精品免费99热| 久久午夜电影网| 亚洲综合成人婷婷小说| 欧美四级剧情无删版影片| 欧美一级久久久| 欧美日韩国产精品一卡| 久久精品国产999大香线蕉| 激情小说另类小说亚洲欧美| 欧美成人性网| 欧美三日本三级少妇三2023| 狠狠久久亚洲欧美| 韩日精品视频| 亚洲国产清纯| 欧美不卡一区| 国产一二精品视频| 每日更新成人在线视频| 亚洲精品欧美在线| 国产一区二区三区高清在线观看| 欧美一级视频精品观看| 在线观看日韩av先锋影音电影院| 国产亚洲精品久久久久动| 91久久精品美女高潮| 激情文学一区| 亚洲色图制服丝袜| 久久9热精品视频| 欧美日韩不卡一区| 亚洲电影免费观看高清完整版在线观看| 欧美人妖另类| 亚洲免费观看在线观看| 欧美亚州在线观看| 欧美激情精品| 国产精品免费网站| 欧美特黄a级高清免费大片a级| 欧美日本在线视频| 亚洲视频在线观看视频| 欧美福利影院| 美女啪啪无遮挡免费久久网站| 亚洲欧美卡通另类91av| 女同一区二区| 欧美一区二视频在线免费观看| 另类酷文…触手系列精品集v1小说| 亚洲欧美乱综合| 亚洲新中文字幕| 一区二区三区在线观看视频| 亚洲承认在线| 久久亚洲私人国产精品va| 欧美精品在欧美一区二区少妇| 欧美电影专区| 久久午夜精品一区二区| 国产精品无码永久免费888| 国产视频一区免费看| 欧美一区二区三区四区视频| 久久精品国产亚洲高清剧情介绍| 亚洲精品视频二区| 欧美一级播放| 国产精品99一区| 亚洲国产精品久久久久婷婷老年| 免费成人av资源网| 久久久亚洲综合| 欧美日韩一区二区在线视频| 久久精品91| 玉米视频成人免费看| 性亚洲最疯狂xxxx高清| 久久久久久久尹人综合网亚洲| 久久狠狠亚洲综合| 欧美女同视频| 国内外成人免费激情在线视频网站| 精品96久久久久久中文字幕无| 国产欧美精品久久| 亚洲国产精品专区久久| 亚洲国产小视频在线观看| 国产视频在线观看一区二区| 亚欧美中日韩视频| 巨胸喷奶水www久久久免费动漫| 亚洲天堂网在线观看| 久久都是精品| 一本色道久久88亚洲综合88| 欧美亚洲一区二区三区| 午夜欧美精品|