一種輸出格式可控的多碼率LDPC編碼器實(shí)現(xiàn)-基礎(chǔ)電子_第1頁
一種輸出格式可控的多碼率LDPC編碼器實(shí)現(xiàn)-基礎(chǔ)電子_第2頁
一種輸出格式可控的多碼率LDPC編碼器實(shí)現(xiàn)-基礎(chǔ)電子_第3頁
一種輸出格式可控的多碼率LDPC編碼器實(shí)現(xiàn)-基礎(chǔ)電子_第4頁
一種輸出格式可控的多碼率LDPC編碼器實(shí)現(xiàn)-基礎(chǔ)電子_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯一種輸出格式可控的多碼率LDPC編碼器實(shí)現(xiàn)-基礎(chǔ)電子0引言

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

1DTMB標(biāo)準(zhǔn)中的LDPC編碼與符號映射

DTMB標(biāo)準(zhǔn)中的LDPC碼屬于準(zhǔn)循環(huán)LDPC碼,其生成矩陣具有如式(1)所示的格式。

y

式中:Gi,j為b×b的循環(huán)方陣,1≤i≤k-c,1≤j≤c;I為b×b的單位陣;o為b×b的零方陣。

DTMB標(biāo)準(zhǔn)支持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)碼的特點(diǎn)可知,信息序列與Gqc前半部分相乘得到校驗(yàn)位,然后在校驗(yàn)位后面加上信息序列就是碼字序列。求校驗(yàn)位時具體的做法是,信息序列S與Gqc的第1列乘得到第1個校驗(yàn)位,信息序列S與Gqc的第2列乘得到第2個校驗(yàn)位,以此類推直到c-1列,可以求得所有c個校驗(yàn)位。

DTMB系統(tǒng)中的碼流經(jīng)過LDPC編碼后,刪除前五個校驗(yàn)比特,接著映射成均勻的符號流。DTMB標(biāo)準(zhǔn)包含64QAM,32QAM,16QAM,4QAM,4QAM=NR五種符號映射關(guān)系,各種符號映射加入相應(yīng)的功率歸一化因子,使各種符號映射的平均功率趨同。對于64QAM,由于每6b對應(yīng)于1個星座符號,因此的輸入碼流寬度為6。類似地,對于32QAM,每5b對應(yīng)于1個星座符號,輸入碼流寬度為5;對于16QAM,每4b對應(yīng)于1個星座符號,碼流寬度為4;對于4QAM,每2b對應(yīng)于1個星座符號,輸入碼流寬度為2。而4QAM-NR映射方式需在4QAM符號映射之前增加NR準(zhǔn)正交編碼映射,由于編碼后的數(shù)據(jù)首先要進(jìn)行基于比特的卷積交織,因此的輸入碼流格式為串行數(shù)據(jù)。

2編碼器的設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

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

(4)并/串轉(zhuǎn)換模塊。SRAA電路的輸出為并行數(shù)據(jù),對并行數(shù)據(jù)做并串轉(zhuǎn)換,以便碼流控制模塊對輸出碼流的格式進(jìn)行控制。

(5)同步FIFO。DTMB標(biāo)準(zhǔn)的LDPC碼為系統(tǒng)碼,輸出時,息位在后校驗(yàn)位在前,故需要對信息輸入序列進(jìn)行緩存。當(dāng)校驗(yàn)位輸出完畢后,再從同步FIFO中讀敢信息位補(bǔ)在校驗(yàn)位后面,構(gòu)成完整碼字。

(6)碼流輸出模塊。為了實(shí)現(xiàn)與符號映射方式的匹配,編碼器輸出碼流格式必須支持1,2,4,5,6五64QAM四種符號映射方式時,編碼器輸出的寬度分別為2,4,5,6??紤]到充分利用FPGA中的大量BlockRAM資源優(yōu)勢,在此采用基于乒乓操作的思路,利用6個寬度為1的FIFO來實(shí)現(xiàn)串行數(shù)據(jù)流到指定寬度數(shù)據(jù)流的轉(zhuǎn)換,結(jié)構(gòu)原理如圖4所示。

以編碼后進(jìn)行4QAM映射方式為例,串行的數(shù)據(jù)流在控制模塊輸出信號fifo_vaIid的控制下,第1個數(shù)據(jù)存人1號FIFO,第2個數(shù)據(jù)存入2號FIFO,然后第3個數(shù)據(jù)又存入1FIFO,第4個數(shù)據(jù)存入2號FIFO,如此循環(huán)直到FIFO填滿,控制模塊收到從FIFO返回的full信號時,輸出信號data_rd_en打開1號和2號兩個FIFO是2位而輸入為串行,輸出的速度比輸入快,當(dāng)FIFO的數(shù)據(jù)被讀空時,產(chǎn)生一個empty信號給控制模塊通知停止讀FIFO,此后編碼器輸出0序列,同時輸出數(shù)據(jù)有效信號code_out_en為0。類似地,對應(yīng)16QAM,32QAM,4QAM,64QAM可以得到寬度為4,5,6的輸出碼流。如果使用的是4QAM-NR符號映射.由于編碼后要先進(jìn)行交織,碼流串行輸出是選擇,因此串行的數(shù)據(jù)無需進(jìn)行FIFO組的緩存。直接輸出即可。

(7)碼流輸出格式控制模塊。根據(jù)輸入引腳mod-ulation_type選擇的符號映射方式,來實(shí)現(xiàn)對碼流輸出模塊的乒乓操作。產(chǎn)生控制信號fifo_valid、data_rd_en,同時接收碼流輸出模塊返回的full和empty信號,達(dá)到控制編碼器輸出碼流寬度的目的。

3設(shè)計(jì)結(jié)果與驗(yàn)證

這里的LDPC編碼器是在Xilinx公司的XC4VSX35FPGA芯片下實(shí)現(xiàn)的,設(shè)計(jì)中使用流水線、乒乓操作等技巧提高系統(tǒng)工作的頻率,綜合后的硬件資源消耗如表1所示。在布局布線中,對相應(yīng)的管腳和周期進(jìn)行適當(dāng)?shù)募s束,通過使用不同頻率的激勵作為輸入進(jìn)行測試,硬件電路部分的工作頻率可達(dá)到83MHz左右,完全符合DTMB標(biāo)準(zhǔn)中的時鐘頻率要求7.56×*5.36MHz。

驗(yàn)證時,以0.4碼率的LDPC碼、輸出碼流格式為6位并行為例,得到時序仿真結(jié)果如圖5所示。在Testbench中對時序仿真的輸出碼流序列進(jìn)行保存,并和Matlab中編碼的結(jié)果比較,LDPC編碼器的輸出與Matlab計(jì)算所得的結(jié)果是完全一致的。同理,可以驗(yàn)證其他兩種碼率在不同的輸出格式下,LDPC編碼器的編碼結(jié)果也是正確的。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論