<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 一種輸出格式可控的多碼率LDPC編碼器實現(xiàn)

          一種輸出格式可控的多碼率LDPC編碼器實現(xiàn)

          作者: 時間:2009-11-13 來源:網(wǎng)絡(luò) 收藏
          0 引 言
          目前,碼已廣泛應(yīng)用于深空通信、光纖通信、數(shù)字音視頻廣播等領(lǐng)域。由于有著較Turbo碼更優(yōu)秀的性能,碼已成為第四代移動通信(4G)系統(tǒng)信道編碼方案強有力的競爭者。在數(shù)字電視地面廣播系統(tǒng)中,為了滿足不同信道條件和不同接收設(shè)備的用戶需要,信道編碼往往需要和多種調(diào)制方式配合。以便在不同的場合下可以靈活應(yīng)用。這就要求通信系統(tǒng)的信道編碼模塊的碼流寬度具備一定的靈活性,給編碼后的符號映射模塊提供最佳的碼流,提高的通用性,降低符號映射設(shè)計的復(fù)雜度。我國數(shù)字電視地面廣播標準(DTMB標準)采用三種碼率的碼、五種不同的符號映射方式。為得到較好的通用性,LDPC不僅需要同時支持三種碼率的LDPC碼.而且的碼流需要靈活,以便符合五種符號映射方式的最佳碼流。這里主要針對這種情況,使用Verilog硬件描述語言在FPGA芯片上設(shè)計LDPC,并測試驗證該編碼器的正確性。

          1 DTMB標準中的LDPC編碼與符號映射
          DTMB標準中的LDPC碼屬于準循環(huán)LDPC碼,其生成矩陣具有如式(1)所示的格式。

          本文引用地址:http://www.ex-cimer.com/article/163479.htm

          式中:Gi,j為b×b的循環(huán)方陣,1≤i≤k-c,1≤j≤c;I為b×b的單位陣;o為b×b的零方陣。
          DTMB標準支持0.4,0.6,0.8三種碼率的LDPC碼。碼率為0.4的LDPC(7493,3048)碼的生成矩陣Gqc具有參數(shù)k=24,c=35和b=127;碼率為0.6的LDPC(7493.4572)碼的生成矩陣Gqc具有參數(shù)k=36,c=23和b=127;碼率為0.8的LDPC(7493,6096)碼的生成矩陣Gqc具有參數(shù)k=48,c=11和b=127。假設(shè)信息序列為S,碼字序列為C,LDPC編碼可利用等式C=S×Gqc。由系統(tǒng)碼的特點可知,信息序列與Gqc前半部分相乘得到校驗位,然后在校驗位后面加上信息序列就是碼字序列。求校驗位時具體的做法是,信息序列S與Gqc的第1列乘得到第1個校驗位,信息序列S與Gqc的第2列乘得到第2個校驗位,以此類推直到c-1列,可以求得所有c個校驗位。
          DTMB系統(tǒng)中的碼流經(jīng)過LDPC編碼后,刪除前五個校驗比特,接著映射成均勻的符號流。DTMB標準包含64QAM,32QAM,16QAM,4QAM,4QAM=NR五種符號映射關(guān)系,各種符號映射加入相應(yīng)的功率歸一化因子,使各種符號映射的平均功率趨同。對于64QAM,由于每6 b對應(yīng)于1個星座符號,因此最佳的輸入碼流寬度為6。類似地,對于32QAM,每5 b對應(yīng)于1個星座符號,最佳輸入碼流寬度為5;對于16QAM,每4 b對應(yīng)于1個星座符號,最佳碼流寬度為4;對于4QAM,每2 b對應(yīng)于1個星座符號,最佳輸入碼流寬度為2。而4QAM-NR映射方式需在4QAM符號映射之前增加NR準正交編碼映射,由于編碼后的數(shù)據(jù)首先要進行基于比特的卷積交織,因此最佳的輸入碼流格式為串行數(shù)據(jù)。

          2 編碼器的設(shè)計與
          由前文的分析可知,LDPC編碼器不僅需要同時支持三種碼率的編碼,而且為了與符號映射方式的最佳配合,編碼后的碼流必須支持1,2,4,5,6位。在此采用圖1的硬件實現(xiàn)方案,整個編碼器可分為7個模塊。

          (1)運算模塊。負責校驗位的計算。式(1)中的每個Gi,j矩陣都是127×127的方陣,所以可將輸入的信息序列分為長度為127的k個小段,編碼就可以分解為k個子過程。編碼核心部分采用文獻[7]提出的串行輸入/并行輸出的SRAA電路,如圖2所示。其中B存儲Gi,j的生成多項式(矩陣第一行),A用來存儲運算的中間結(jié)果。由于式(1)中的Gi,j是循環(huán)方陣,它的每一行都是上一行的向右移移位,而第一行是最后一行向右移一位;每一列都是左一列向下移一位,而第一列是最后一列向下移一位,所以在每126個時鐘內(nèi)B中數(shù)據(jù)每隔一個時鐘進行一次循環(huán)右移,126個時鐘后,讀入下一個Gi,j的生成多項式。如此循環(huán)計算,即可得到所有的校驗位。單獨考慮DTMB標準中0.4,0.6,0.8三種碼率的的編碼,分別需要35,23,11個SRAA電路并行才能完成所有的校驗位獲取。因而為了實現(xiàn)三種碼率編碼器資源的復(fù)用,并且綜合考慮運算速度,在此采用35個SRAA電路并行的方案。

          (2)生成矩陣存儲模塊。DTMB標準中三種碼率的生成矩陣G1,G2,G3,所需存儲的總比特數(shù)是固定的。如果按一般的方案存儲,那么35個并行SRAA電路須對應(yīng)寬度為35×127=4 445,深度為24+36+48=108的存儲空間。針對FPGA中BlockRAM深度大,寬度小的狹長形結(jié)構(gòu)特點,存儲的數(shù)據(jù)如果寬度大,深度小就會造成FPGA中存儲資源的大量浪費,所以在此采取如圖3所示的存儲方案,把每個SRAA電路所用到的數(shù)據(jù)存儲在一個ROM中,這樣一共只需要35個存儲結(jié)構(gòu),第1~11個的寬度為127,深度為24+36+48=108;第2~23個的寬度為127,深度為24+36=60;第24~35個的寬度為127,深度為48。

          (3)地址生成控制模塊。按照一定的時序,輸出生成矩陣存儲ROM的讀地址,每隔126個時鐘產(chǎn)生一個load使能信號,從ROM中讀出SRAA運算模塊所需要的生成多項式。同時也根據(jù)采用碼率的不同,產(chǎn)生ROM的使能信號,選擇不同碼率LDPC碼所對應(yīng)的生成矩陣存儲塊。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();