一種輸出格式可控的多碼率LDPC編碼器實(shí)現
(4)并/串轉換模塊。SRAA電路的輸出為并行數據,對并行數據做并串轉換,以便碼流控制模塊對輸出碼流的格式進(jìn)行控制。
(5)同步FIFO。DTMB標準的LDPC碼為系統碼,輸出時(shí),息位在后校驗位在前,故需要對信息輸入序列進(jìn)行緩存。當校驗位輸出完畢后,再從同步FIFO中讀敢信息位補在校驗位后面,構成完整碼字。
(6)碼流輸出模塊。為了實(shí)現與符號映射方式的最佳匹配,編碼器輸出碼流格式必須支持1,2,4,5,6五64QAM四種符號映射方式時(shí),編碼器輸出的最佳寬度分別為2,4,5,6??紤]到充分利用FPGA中的大量BlockRAM資源優(yōu)勢,在此采用基于乒乓操作的思路,利用6個(gè)寬度為1的FIFO來(lái)實(shí)現串行數據流到指定寬度數據流的轉換,結構原理如圖4所示。本文引用地址:http://dyxdggzs.com/article/163479.htm
以編碼后進(jìn)行4QAM映射方式為例,串行的數據流在控制模塊輸出信號fifo_vaIid的控制下,第1個(gè)數據存人1號FIFO,第2個(gè)數據存入2號FIFO,然后第3個(gè)數據又存入1FIFO,第4個(gè)數據存入2號FIFO,如此循環(huán)直到FIFO填滿(mǎn),控制模塊收到從FIFO返回的full信號時(shí),輸出信號data_rd_en打開(kāi)1號和2號兩個(gè)FIFO是2位而輸入為串行,輸出的速度比輸入快,當FIFO的數據被讀空時(shí),產(chǎn)生一個(gè)empty信號給控制模塊通知停止讀FIFO,此后編碼器輸出0序列,同時(shí)輸出數據有效信號code_out_en為0。類(lèi)似地,對應16QAM,32QAM,4QAM,64QAM可以得到寬度為4,5,6的輸出碼流。如果使用的是4QAM-NR符號映射.由于編碼后要先進(jìn)行交織,碼流串行輸出是最佳選擇,因此串行的數據無(wú)需進(jìn)行FIFO組的緩存。直接輸出即可。
(7)碼流輸出格式控制模塊。根據輸入引腳mod-ulation_type選擇的符號映射方式,來(lái)實(shí)現對碼流輸出模塊的乒乓操作。產(chǎn)生控制信號fifo_valid、data_rd_en,同時(shí)接收碼流輸出模塊返回的full和empty信號,達到控制編碼器輸出碼流寬度的目的。
3 設計結果與驗證
這里的LDPC編碼器是在Xilinx公司的XC4VSX35 FPGA芯片下實(shí)現的,設計中使用流水線(xiàn)、乒乓操作等技巧提高系統工作的頻率,綜合后的硬件資源消耗如表1所示。在布局布線(xiàn)中,對相應的管腳和周期進(jìn)行適當的約束,通過(guò)使用不同頻率的激勵作為輸入進(jìn)行測試,硬件電路核心部分的最高工作頻率可達到83 MHz左右,完全符合DTMB標準中的最高時(shí)鐘頻率要求7.56×6=45.36MHz。
驗證時(shí),以0.4碼率的LDPC碼、輸出碼流格式為6位并行為例,得到時(shí)序仿真結果如圖5所示。在Testbench中對一次時(shí)序仿真的輸出碼流序列進(jìn)行保存,并和Matlab中編碼的結果比較,LDPC編碼器的輸出與Matlab計算所得的結果是完全一致的。同理,可以驗證其他兩種碼率在不同的輸出格式下,LDPC編碼器的編碼結果也是正確的。
4 結 語(yǔ)
這里實(shí)現了一種碼流輸出格式可控的多碼率LDPC編碼器,并驗證了編碼器的正確性。該編碼器不僅同時(shí)支持DTMB標準中三種碼率的LDPC碼,而且輸出的碼流格式具備1,2,4,5,6位寬度可選,從而實(shí)現與4QAM,16QAM,32QAM,64QAM,4QAM-NR五種符號映射方式的最佳匹配,具有較好的通用性,完全可以應用在DTMB系統的發(fā)射機中。
評論