?

用于無人機衛星通信的LDPC高速編碼器實現

2023-09-06 05:43田宇盧志鵬
現代信息科技 2023年14期
關鍵詞:衛星通信無人機編碼器

田宇 盧志鵬

摘 ?要:為滿足無人機衛星通信系統中高清音視頻數據高通量、低功耗、高可靠傳輸的需求,提出一種基于DVB_S2標準的LDPC編碼器。該編碼器采用兩級并行RAM存儲陣列,可有效提高系統工作頻率,降低FPGA邏輯資源的使用率,通過控制模塊使編碼器自適應兼容三種碼率的LDPC編碼。上述編碼器已在ZYNQ 7Z020系列芯片xc7z020clg400-2上實現,最高穩定工作主頻為214.4 MHz,支持1/2、3/4、7/8三種典型碼率。

關鍵詞:衛星通信;無人機;FPGA;LDPC;編碼器

中圖分類號:TN911.22;TN927+.21 文獻標識碼:A ? 文章編號:2096-4706(2023)14-0075-05

Realization of LDPC High-speed Encoder for UAV Satellite Communication

TIAN Yu, LU Zhipeng

(Beijing Aerospace Control Instrument Research Institute, Beijing ?100854, China)

Abstract: To meet the requirements of high throughput, low power consumption, and high reliability transmission of high-definition audio and video data in UAV satellite communication systems, a LDPC encoder based on DVB_S2 standard is proposed. The encoder adopts a two-level parallel RAM storage array, which can effectively improve the system's operating frequency and reduce the utilization of FPGA logic resources. Through the control module, the encoder is adaptively compatible with LDPC encoding of three different bit rates. The above encoder has been implemented on the ZYNQ 7Z020 series chip xc7z020clg400-2, with a maximum stable operating frequency of 214.4 MHz and supporting three typical bit rates: 1/2, 3/4, and 7/8.

Keywords: satellite communication; UAV; FPGA; LDPC; encoder

0 ?引 ?言

高清音視頻數據在無人機衛星通信領域的普及,使得無人機載衛星通信傳輸的數據量大幅增加。由于無人機飛行可攜帶設備載荷重量有限,無人機載衛星通信系統的系統容量和功耗均受到限制,相比于地面衛星通信息系統,無人機載衛星通信系統的信道傳輸帶寬更窄、接收信噪比更低,這種環境對衛星通信的糾錯碼性能提出了更高的要求,以保證在帶寬受限的情況下準確無誤的傳輸高清音視頻等高速數據。

第二代數字視頻廣播(the second generation digital video broadcat, DVB-S2)標準是專門為支持高清音視頻業務建立的,它更符合高清視頻數據對衛星通信的需求。其采用BCH+LDPC級聯信道編碼,糾錯性能接近香農限。在支持低階調制(QPSK、8PSK)的同時還支持16APSK和32APSK高階調制,大大提高了帶寬受限情況下的數據傳輸速率。其優秀的性能能夠支持高清音視頻數據在無人機載衛星通信系統上的傳輸應用。

為滿足高清音視頻數據在無人機衛星通信上的應用需求,本文作者針對DVB-S2標準的LDPC碼特性,在其基礎上提出一種高速率、多碼率支持的LDPC編碼器。該編碼器工作速度快,資源占用率低,能夠支持碼長為16 200,碼率為1/2(4/9)、3/4(11/15)以及7/8(8/9)的三種編碼結構。

1 ?DVB-S2標準LDPC編碼算法

LDPC碼的構造方法有代數構造法、準循環以及隨機構造法。隨機或偽隨機構造方法生成的LDPC碼性能接近香農限,DVB-S2標準中LDPC碼采用類似方法。

DVB-S2標準中LDPC碼為非規則累計碼,即IRA碼,其校驗矩陣可以表示為H = [H1 ?H2]的形式。其中H1是一個稀疏矩陣,矩陣大小為(nldpc - kldpc)×

nldpc,其中nldpc表示LDPC碼總長度,kldpc表示信息比特長度。矩陣H2是固定形式矩陣,為雙對角線形式:

H1校驗矩陣是稀疏矩陣且具有周期性。DVB-S2標準中H1可以按照每連續的360列為一組分解為kldpc/360組,且每組的列重必須相同。第m列中‘1所在行的位置由DVB-S2標準附錄B和C中表格的第 ?行對應的數據加上m mod(360×q),其中 ?表示對m/360向下取整,q為步長,與LDPC碼的碼長和碼率有關。

結合H1和H2兩個矩陣的特點,其基本編碼算法步驟如下:

1)初始化校驗位:

2)對校驗矩陣非零位置的數據進行累積異或。規則為:

pj = pj ⊕ im

j = {x + m mod360×q} mod(nldpc - kldpc)

其中,pj表示第j校驗位,im表示第m信息位,x取值參考DVB-S2標準附錄B和C提供的地址表,q表示步長。以碼長16 00、碼率3/4(11/15)的基校驗矩陣第1行第5列為1 481,則其第1列對應的非零坐標行位置{1 481 + (1 mod 360)×12}mod(16 200 - 11 880)。

3)按照下式求解最終的奇偶校驗比特,即:

pj = pj ⊕ pj-1

其中,j = 1,2,…,nldpc - kldpc - 1。

4)順序拼接信息比特和奇偶校驗比特并發送。編碼后的碼字如下:

2 ?LDPC編碼器結構

LDPC編碼器主要結構為三段狀態機,在狀態機時間順序的基礎上進行功能分塊,主要分為校驗地址存儲器、并行移位RAM存儲矩陣、校驗節點計算模塊、奇偶校驗位計算模塊、FIFO緩存模塊和編碼器控制單元。系統圖如圖1所示。

2.1 ?校驗地址存儲器

在DVB-S2標準中附錄B和C給出了LDPC編碼各種碼率的校驗位地址,因為IRA_LDPC碼校驗矩陣設計的偽隨機特性無法使用數學公式進行描述,所以需將校驗位地址存放在ROM中。為了實現信息數據到校驗節點的轉換,同時降低FPGA除法與求余運算帶來的資源消耗,需要對校驗位地址進行除法運算并向下取整后存入ROM中,且對校驗位地址進行求余運用,運算的結果用于后續模塊算法推導。

除法取整公式為:

求余公式為:

hmi, j = mod(x,q)

其中,i = 0,1,2,…,45 - q - 1,j = m/360,x取值參考DVB-S2標準附錄B和C提供的地址表,q為步長。

通過標準附錄中地址表可以看出,對于碼長為16 200的LDPC碼在上述公式的計算結果不會大于360,據此設計ROM數據位寬為9×12,其中9為單字節位寬,12為校驗矩陣最大列重,這種處理方法可以使ROM一次性載入一整列校驗地址。

本文提出的編碼器兼容三種碼率,此三種碼率的校驗地址表可存放于同一個ROM中的不同地址上。其中1/2(4/9)碼率占用地址0~19,3/4(11/15)碼率占用地址20~52,7/8(8/9)占用地址53~93,通過編碼控制電路,可設置偏移地址選擇不同碼率的校驗地址。

2.2 ?并行移位RAM存儲矩陣

在有效數據輸入信號使能后,程序跳轉至并行移位RAM存儲矩陣模塊,此模塊按照標準對信息數據進行循環移位存儲并將結果存儲于并行RAM存儲矩陣中。

參考DVB-S2標準附錄,B和C中碼長16 200,碼率1/2(4/9)、3/4(11/15)和7/8(8/9),最大列重為12,最大列重行數5行。根據以上總結,定義大列重RAM存儲矩陣12×5,標準列重RAM存儲矩陣3×35,所有RAM存儲單元位寬為1,數據深度為360。定義RAM存儲矩陣元素為:

itoci, j,m = {itoci, j,0,itoci, j,1,…,itoci, j,359}

RAM存儲矩陣單元中數據和信息數據存在如下關系:

其中hri, j由校驗地址存儲器給出,循環移位操作由一個360的計數器實現。由上述算法可以看出同一列數據可以并行運算,校驗地址存儲器中每一行數據隨著計數器進行累加并求余,同時將結果作為并行移位RAM存儲矩陣的寫地址對輸入數據進行移位。

圖2為并行移位RAM存儲矩陣和校驗地址存儲器的時間關系,可以看出同一列數據可以并行運算,校驗地址存儲器中每一行數據隨著計數器進行累加并求余,同時將結果作為并行移位RAM存儲矩陣的寫地址對輸入數據進行移位。其中虛線框為理論模塊,實際工程實現時可省略。

2.3 ?校驗節點計算模塊

在對所有的信息數據進行循環移位存儲于RAM矩陣后,狀態機自動跳轉至校驗節點計算模塊。此模塊將RAM矩陣中的信息數據對每一個校驗節點的貢獻值進行異或累加,用來求解最終的校驗節點信息。

校驗節點計算模塊有1個數據位寬為q的RAM存儲器作為緩存,定義RAM存儲器中的元素如下:

其中,i = 0,1,…,q - 1;m = 0,1,…,359。ci,m中每一列對應RAM存儲器的一個元素。每個存儲器中的元素與校驗節點相關聯,按列讀取存儲器中的數據,就可以得到校驗節點。

根據2.1節中提出的hmi, j,ci,m和itoci, j,m之間存在關系式:

三種碼率hmi, j的取值不同,編碼控制電路通過數據選擇器切換hmi, j的取值來實現碼率的切換。

2.4 ?奇偶校驗位計算模塊

在校驗節點計算模塊完成所有校驗節點信息后,狀態機跳轉奇偶校驗位計算模塊,此模塊完成對校驗節點的奇偶校驗并將計算結果輸出。

從上一節可以看出校驗節點計算模塊求出的校驗信息為并行數據,并行寬度為q,因此奇偶校驗位計算模塊要在輸出奇偶校驗數據的同時完成并串轉換。為實現上述操作,首先定義位寬為q+1寄存器:

Rm = {r0,r1,…,rq}

其中m = 0,1,…,359。

奇偶校驗位計算模塊在每q×m時鐘到來時讀取上一級RAM存儲器中的元素ci,m并將其載入到寄存器的高位{r1,r2,…,rq}中,在其他時鐘使rm做向下移位操作。

rm = {r1,r2,…,rq,0}

最終的奇偶校驗結果由rm的r0和r1求出。公式如下:

pj = r0 ⊕ r1

其中,j = 1,2,…,nldpc - kldpc - 1。

2.5 ?FIFO緩存模塊

FIFO緩存模塊用于緩存輸入的信息數據,對輸入數據進行延遲,在奇偶校驗位輸出之前按順序將緩存的信息輸出輸出。

2.6 ?編碼器控制模塊

編碼器控制模塊用于實現狀態機跳轉,不同碼率的動態切換,給出編碼器輸入和輸出狀態標志,使LDPC編碼器具有更好的通用性、兼容性。

3 ?FPGA實現及結果分析

本文采用的FPGA為Xilinx公司的ZYNQ系列xc7z020clg400-2,開發仿真平臺為Xilinx公司的Vivado 2018.03,使用Verilog HDL硬件編程語言完成LDPC編碼器的代碼編寫。

編碼器綜合后的RTL接口包含以下信號:clk用于編碼器工作時鐘輸入,data_in用于接收信息數據進行LDPC編碼,rst_n為復位信號,sink_eop為信息數據發送截止符,sink_sop為信息數據發送起始符,sink_valid為信息數據有效標志,source_ready為編碼模塊使能符號,type用于熱切換LDPC碼編碼碼率,data_out為編碼后數據,source_eop為編碼后數據截止符,source_sop為編碼后數據起始符,sink_valid為編碼數據有效標志位。

數據流經過編碼器系統的波形圖如圖3所示。圖4為校驗節點計算模塊的波形示意圖。圖5波形為奇偶校驗位模塊中寄存器rm的波形示意圖,可以看出在計數器更新的同時寄存器rm中的數據也在實時更新,其他時間寄存器rm做向下移位的操作。

經驗證,編碼器支持碼長16 200,1/2(4/9)、3/4(11/15)和7/8(8/9)三種碼率的LDPC編碼,同時綜合后的資源占用率較低,具體如表1所示。

對代碼進行時序分析,在工作頻率為200 MHz的情況下,其時序報告Worst Negative Slack 0.337 ns。

可以算出芯片最高穩定工作頻率為1 / (5 - 0.337) =

214.45 MHz。本文的LDPC編碼器為串行編碼器,所以總吞吐量為214.45 Mbit/s,當前無人機衛星通信鏈路帶寬最大通信數據量小于8 Mbit/s,可以看出編碼器的吞吐量遠遠高于無人機實際通信的最大帶寬,可以滿足無人機的通信需求。

經過本文算法的處理,通過Vivado 2018.03軟件對LDPC編碼器進行功率分析,芯片總功耗為0.287 W,如表2所示。如此低的功耗對于功耗供能有限的無人機衛星通信系統有重要意義。

參考DVB-S2標準中LDPC碼糾錯性能分析。表3給出碼長16 200,碼率1/2(4/9)、3/4(11/15)以及7/8(8/9)在誤幀率為10-7時的信噪比門限。

無人機在正常通信的情況下接收信噪比最低為7 dB,本編碼器最差的信噪比要求為6.2 dB,可以看出編碼器能夠滿足無人機通信對糾錯性能的要求。

4 ?結 ?論

本文提出的基于xc7z020clg400-2的LDPC編碼器為串行編碼器,總工作頻率為214.45 MHz,可以支持碼長16 200,碼率為1/2(4/9)、3/4(11/15)以及7/8(8/9)多碼率的高效編碼器,糾錯性能滿足人機通信環境。本編碼器已在無人機載衛星調制解調器中進行應用,能夠滿足高清音視頻數據在無人機衛星通信系統高通量、低功耗、高可靠傳輸的應用需求。

參考文獻:

[1] FR-AFNOR. Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2):NF Z84-307-2-2020 [S/OL].[2023-01-02].https://telin.ugent.be/~./mm/Jabran/phase_noise/ETSI%2520DVB-S2.pdf.

[2] GALLAGER R G. Low Density Parity Check Codes [M].CANBRIDGE:The M.I.T. press,1963.

[3] MACKAY D J C and NEAL R M. Near Shannon limitperformance of low-density parity check codes [J].ElectronicsLetters,1996,32(18):1645-1646.

[4] 武學彬,薛永林.用于DVB-S2的LDPC編碼器設計 [J].電視技術,2007(S1):114-116.

[5] 華力,雍玲,雷菁.基于FPGA的DVB-S2通用LDPC編碼器設計與實現 [J].通信技術,2008(1):12-14.

[6] 范光榮,王華,夏添琦,等.基于DVB-S2的高速多碼率LDPC編碼器的FPGA設計與實現 [J].北京理工大學學報,2008(9):813-816+821.

[7] 閆國強,王勇,植涌,等.基于DVB-S2的通用LDPC編碼器的FPGA設計 [J].電視技術,2013,37(1):1-3+7.

[8] 王延鵬,潘申富,楊宏偉.基于FPGA的DVB-S2 LDPC編碼器的設計與實現 [J].無線電工程,2015,45(3):30-33.

[9] 蘭亞柱,楊海鋼,林郁.面向DVB-S2標準LDPC碼的高效編碼結構 [J].電子與信息學報,2016,38(7):1781-1787.

[10] LEE I K,KIM M H,OH D G,et al. High-speed LDPC encoder architecture for digital video broadcasting systems [C]//2013 International Conference on ICT Convergence (ICTC).Jeju:IEEE,2013:606-607.

作者簡介:田宇(1990.12—),男,漢族,山西大同人,工程師,碩士,研究方向:衛星通信應用;盧志鵬(1995.01—),男,漢族,山西晉中人,工程師,碩士,研究方向:衛星通信應用。

猜你喜歡
衛星通信無人機編碼器
衛星通信、導航、遙感在自然災害防治中的融合應用
基于FPGA的同步機軸角編碼器
衛星通信專家的選擇
基于PRBS檢測的8B/IOB編碼器設計
高職院校新開設無人機專業的探討
一種適用于輸電線路跨線牽引無人機的飛行方案設計
航空器的順風耳——機載衛星通信
JESD204B接口協議中的8B10B編碼器設計
衛星通信及其應用
多總線式光電編碼器的設計與應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合