一種針對固定信息長度的ldpc編譯碼系統(tǒng)平臺的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明是關(guān)于一種編譯碼系統(tǒng)平臺,特別是關(guān)于一種針對固定信息長度的 LDPC(Low Density Parity Check Code,低密度奇偶校驗碼)編譯碼系統(tǒng)平臺。
【背景技術(shù)】
[0002] 目前,有許多針對LDPC (Low Density Parity Check Code,低密度奇偶校驗碼) 的編碼器和譯碼器的設(shè)計,但是在系統(tǒng)平臺的層面上將兩者進(jìn)行一體化架構(gòu)的實現(xiàn)方案較 少,在系統(tǒng)平臺通常將編碼器和譯碼器分成兩支路進(jìn)行設(shè)計,分開兩路設(shè)計將會增加系統(tǒng) 的冗余度,造成系統(tǒng)資源的浪費。如在軌運行的衛(wèi)星星座系統(tǒng),其姿態(tài)軌道信息的相互傳遞 需要編譯碼器平臺的支撐,編碼器和譯碼器兩支路分別進(jìn)行設(shè)計將增加衛(wèi)星的質(zhì)量,也會 增加相應(yīng)的發(fā)射成本、運營成本。若能根據(jù)信息通信方向自動識別編碼還是譯碼進(jìn)行方案 設(shè)計,則可在單個子系統(tǒng)(如某顆衛(wèi)星)中處理多個子系統(tǒng)(其他衛(wèi)星)的信息(如姿態(tài) 信息、軌道信息等),進(jìn)行子系統(tǒng)之間的操作,以便衛(wèi)星之間進(jìn)行協(xié)同控制,方便衛(wèi)星編隊問 題。
[0003] LDPC是1962年Robert Gallager提出的稀疏校驗碼,是目前糾錯性能最強的 校驗碼,已經(jīng)廣泛應(yīng)用于通信和存儲領(lǐng)域?,F(xiàn)在很多標(biāo)準(zhǔn)中都用到了 LDPC校驗碼,例如 新一代衛(wèi)星數(shù)字視頻廣播標(biāo)準(zhǔn)DVB_S2、無線城域網(wǎng)標(biāo)準(zhǔn)IEEE802. 160E、無線局域網(wǎng)標(biāo)準(zhǔn) IEEE802. Iln等(采用某一標(biāo)準(zhǔn)時,針對指定LDPC碼長和碼率的問題即是針對固定信息長 度的LDPC問題)。然而針對LDPC存在的主要技術(shù)問題是:編碼復(fù)雜度及時間復(fù)雜度高,這 些問題在一定程度上制約LDPC技術(shù)的應(yīng)用。
【發(fā)明內(nèi)容】
[0004] 針對上述問題,本發(fā)明的目的是提供一種根據(jù)信息通信方向自動識別進(jìn)行編碼或 譯碼的針對固定信息長度的LDPC編譯碼系統(tǒng)平臺,該系統(tǒng)平臺包括若干子系統(tǒng),每一子系 統(tǒng)可以根據(jù)數(shù)據(jù)通信方向自動實現(xiàn)編譯碼器配置,且編碼器將96位循環(huán)移位器劃分為7 級,形成分級并行流水線結(jié)構(gòu),實現(xiàn)LDPC編譯碼高效并行處理。
[0005] 為實現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:一種針對固定信息長度的LDPC編譯 碼系統(tǒng)平臺,其中固定信息長度為1152bits,它包含若干子系統(tǒng),其特征在于:每一所述子 系統(tǒng)包括一第一選擇器、一上位機、一無線接收裝置、一處理器、一 FPGA編譯碼器、一第二 選擇器和一無線發(fā)射裝置;其中FPGA編譯碼器包括判斷單元、編碼器和譯碼器;所述第一 選擇器根據(jù)所接收的指令判斷該指令來自所述上位機還是所述無線接收裝置,并將該指令 和判斷結(jié)果通過所述處理器發(fā)送給所述FPGA編譯碼器;所述FPGA編譯碼器中的所述判斷 單元根據(jù)判斷結(jié)果為該指令進(jìn)行編碼或者譯碼,并將編碼結(jié)果或者譯碼結(jié)果發(fā)送給所述第 二選擇器;所述第二選擇器根據(jù)編碼結(jié)果或者譯碼結(jié)果判斷是來自所述編碼器還是所述譯 碼器:若來自所述編碼器,則將編碼結(jié)果發(fā)送給所述無線發(fā)射裝置,所述無線發(fā)射裝置將該 編碼結(jié)果發(fā)送給作為目標(biāo)的所述子系統(tǒng),完成編碼指令的發(fā)送;若來自所述譯碼器,則將該 譯碼結(jié)果發(fā)送給所述上位機,完成譯碼指令的接收。
[0006] 所述第一選擇器和所述第二選擇器采用數(shù)據(jù)選擇器。
[0007] 所述編碼器包括LDPC編碼器包括第一數(shù)據(jù)通路轉(zhuǎn)換模塊、第一 RAM緩存模塊、第 一 ROM模塊、乘法器模塊、前向置換模塊、Pl緩存模塊、P2緩存模塊和碼字串口緩存模塊; 其中,所述乘法器模塊包括tl乘法器、t2乘法器、t4乘法器和t5乘法器,且所述tl乘法 器為左乘分塊矩陣C,所述t2乘法器為左乘分塊矩陣A,所述t4乘法器為左乘分塊E矩陣, 所述t5乘法器為左乘分塊B矩陣;所述前向置換模塊包括t3前向置換機構(gòu)和t5前向置 換機構(gòu),均為左乘分塊矩陣Γ 1;所述Pl緩存模塊內(nèi)置piT= -(-ErtuT+CuT);所述P2緩存 模塊內(nèi)置p2T= -CT1AuVT1BpIt);所述第一數(shù)據(jù)通路轉(zhuǎn)換模塊將所述處理器傳送指令中的 信息位u轉(zhuǎn)換成所述第一 RAM緩存模塊中需要的格式,并存入到所述第一 RAM緩存模塊,經(jīng) 過所述第一 RAM緩存模塊將uT先保存到所述碼字串口緩存模塊;所述tl乘法器將所述第 一 RAM緩存模塊中的信息位uT與所述第一 ROM模塊中的矩陣C相乘得到Cu τ,然后將CuM專 送給所述Pl緩存模塊;所述t2乘法器將所述第一 RAM緩存模塊中的信息位uT與所述第一 ROM模塊中的矩陣A相乘得到Aut,并將Aut傳送給所述t3前向置換機構(gòu),經(jīng)過前置后得到 T1Aut,一方面將T1Aut傳送給所述P2緩存模塊,另一方面將其經(jīng)過所述t4乘法器處理得 到ET- 1Aut,并將ET-1Aut傳送給所述Pl緩存模塊;將所述Pl緩存模塊中的Cu ^卩ET -1Aut,按 照公式plT= -(-ErtUT+CUT)計算plT,并將pl T-方面?zhèn)魉徒o所述t5乘法器,另一方面將 plT#入所述碼字串口緩存模塊;Pl tS過所述t5乘法器處理得到Bplτ,并將BplMf送給所 述t5前向置換機構(gòu);經(jīng)過所述t5前向置換機構(gòu)處理后得到 iT1BpIt, iT1BpIt傳送給所述Ρ2 緩存模塊;將所述P2緩存模塊中的「^和T照公式p2 T= -CtiAuVT1BpIt)計算 p2T,并將p2T存入所述碼字串口緩存模塊528 ;所述碼字串口緩存模塊中有uT,pllP ρ2 τ,形 成碼字X,完成編碼。
[0008] 所述LDPC譯碼器包括第二數(shù)據(jù)通路轉(zhuǎn)換模塊、RAM緩存模塊、校驗乘法器、第二 ROM模塊、零矢量判斷模塊、串口緩存模塊和譯碼錯誤判斷模塊;其中,所述譯碼錯誤判斷 模塊包括迭代數(shù)判斷機構(gòu)、誤碼碼元檢測機構(gòu)和碼元糾錯機構(gòu),且所述迭代數(shù)判斷機構(gòu)內(nèi) 置譯碼的最大迭代次數(shù);所述第二ROM模塊內(nèi)置校驗矩陣H ;所述第二數(shù)據(jù)通路轉(zhuǎn)換模塊將 所述處理器傳送指令中的碼字X轉(zhuǎn)換成所述第二RAM緩存模塊中需要的格式,并存入到所 述第二RAM緩存模塊;所述第二RAM緩存模塊將碼字X傳送給所述校驗乘法器,同時所述 第二ROM模塊中存儲的校驗矩陣H傳送給所述校驗乘法器;所述校驗乘法器對碼字X進(jìn)行 比特節(jié)點賦值,利用校驗方程計算每個比特的校驗和,并將其傳遞給所述零矢量判斷模塊 進(jìn)行判斷:若每個比特的校驗和都為,則停止譯碼,并通過所述串口緩存模塊將譯碼結(jié)果輸 出,譯碼成功;若不是所有的校驗和都為,則傳送給所述譯碼錯誤判斷模塊;所述譯碼錯誤 判斷模塊中的所述迭代數(shù)判斷機構(gòu)判斷此時的譯碼次數(shù)是否大于最大迭代次數(shù);若大于最 大迭代次數(shù),則輸出譯碼錯誤標(biāo)志;否則傳送給所述誤碼碼元檢測機構(gòu);在所述誤碼碼元 檢測機構(gòu)中計算每一個比特對應(yīng)的不滿足的校驗方程的個數(shù),并將結(jié)果傳遞給所述碼元糾 錯機構(gòu);在所述碼元糾錯機構(gòu)中將在所述誤碼碼元檢測機構(gòu)中計算結(jié)果中個數(shù)最大的對應(yīng) 的比特放入集合Ω,翻轉(zhuǎn)集合Ω中的所有比特,之后將翻轉(zhuǎn)后的結(jié)果再次傳送給所述校驗 乘法器進(jìn)行校驗,直到達(dá)到最大譯碼迭代次數(shù)或者所有的校驗方程均被滿足,完成譯碼。
[0009] 本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點:1、本發(fā)明包含若干子系統(tǒng),每一 子系統(tǒng)包括一第一選擇器、一上位機、一無線接收裝置、一處理器、一 FPGA編譯碼器、一第 二選擇器和一無線發(fā)射裝置;其中FPGA編譯碼器包括判斷單元、編碼器和譯碼器;第一選 擇器根據(jù)所接收的指令判斷該指令來自上位機還是無線接收裝置,并將該指令和判斷結(jié)果 通過處理器發(fā)送給FPGA編譯碼器;FPGA編譯碼器中的判斷單元根據(jù)判斷結(jié)果為該指令進(jìn) 行編碼或者譯碼,并將編碼結(jié)果或者譯碼結(jié)果發(fā)送給第二選擇器;第二選擇器根據(jù)編碼結(jié) 果或者譯碼結(jié)果判斷是來自編碼器還是譯碼器:若來自編碼器,則將編碼結(jié)果發(fā)送給無線 發(fā)射裝置,無線發(fā)射裝置將該編碼結(jié)果發(fā)送給作為目標(biāo)的子系統(tǒng),完成編碼指令的發(fā)送;若 來自譯碼器,則將該譯碼結(jié)果發(fā)送給上位機,完成譯碼指令的接收。本發(fā)明由于采用以上設(shè) 置,實現(xiàn)根據(jù)數(shù)據(jù)通信方向自動實現(xiàn)編譯碼器配置,進(jìn)而減少子系統(tǒng)的冗余度,避免子系統(tǒng) 資源的浪費,從而實現(xiàn)減少本發(fā)明冗余度和資源消耗。2、本發(fā)明的LDPC編碼器的乘法器模 塊包括tl乘法器、t2乘法器、t4乘法器和t5乘法器;每一乘法器為左乘校驗矩陣H中的 分塊矩陣,而由于校驗矩陣H中每個元素的特殊性,乘法運算(左乘)可以轉(zhuǎn)換成左(右) 循環(huán)移位和模二運算。其中,循環(huán)移位運算采用96位循環(huán)移位器,即表示每一乘法器:tl 乘法器、t2乘法器、t4乘法器和t5乘法器中均包含96位循環(huán)移位器,每一乘法器采用兩 個時鐘周期來完成移位運算,96位最多需要循環(huán)移位7級即可以完成,從而形成分級并行 流水線結(jié)構(gòu),實現(xiàn)LDPC編譯碼高效并行處理,從而解決了編碼復(fù)雜度及時間復(fù)雜度高的問 題。鑒于以上理由,本發(fā)明可以廣泛應(yīng)用于移動通信、空間通信等領(lǐng)域。
【附圖說明】
[0010] 圖1本發(fā)明的整體結(jié)構(gòu)示意圖
[0011] 圖2本發(fā)明的LDPC編碼器結(jié)構(gòu)示意圖
[0012] 圖3本發(fā)明的LDPC譯碼器結(jié)構(gòu)示意圖
[0013] 圖4空間飛行器姿態(tài)控制系統(tǒng)半實物仿真實驗平臺
【具體實施方式】
[0014] 下面結(jié)合附圖和實施例對本發(fā)明進(jìn)行詳細(xì)的描述。
[0015] 如圖1所不,本發(fā)明包括若干子系統(tǒng),每一子系統(tǒng)包括一第一選擇器1、一上位機 2、一無線接收裝置3、一處理器4、一 FPGA編譯碼器5、一第二選擇器6和一無線發(fā)射裝置7 ; 其中FPGA編譯碼器5包括判斷單元51 (圖中未示出)、LDPC編碼器52和LDPC譯碼器53。
[0016] 其中,第一選擇器1的輸入端分別電連接上位機2和無線接收裝置3,輸出端電連 接處理器4的輸入端。處理器4的輸出端通過SPI總線連接FPGA編譯碼器5的輸入端。 FPGA編譯碼器5的輸出端電連接第二選擇器6的輸入端;第二選擇器6的輸出端分別電連 接上位機2和無線發(fā)射裝置7 ;無線發(fā)射裝置7無線連接其他子系統(tǒng)的無線接收裝置3。