亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        適用于衛(wèi)星通信的速率自適應型LDPC譯碼器設計

        2019-05-29 07:26:10田瑞甫張朝路
        無線電工程 2019年6期
        關(guān)鍵詞:譯碼器譯碼校驗

        田瑞甫,劉 聚,鐘 鳴,張朝路,侯 俊

        (上海航天電子技術(shù)研究所,上海 201109)

        0 引言

        衛(wèi)星通信信號在傳輸過程中受衰減和噪聲干擾的影響會出現(xiàn)差錯,信道編碼技術(shù)作為保證信息可靠傳輸?shù)挠行侄伪粡V泛應用于衛(wèi)星通信系統(tǒng)[1-2]。LDPC最早由Gallager提出[3],經(jīng)Mackay等人進一步研究表明[4],LDPC碼的性能在置信傳播(Belief Propagation,BP)譯碼算法下可以接近香農(nóng)極限,且具有較低的誤碼平臺[5]。準循環(huán)LDPC(QC-LDPC)碼,因其校驗矩陣具有準循環(huán)性,可以采用簡單的移位寄存器實現(xiàn)具有線性復雜度的編譯碼,硬件復雜度大大降低,是CCSDS推薦的衛(wèi)星通信糾錯碼型之一[6]。

        BP算法涉及較大動態(tài)范圍取值的非線性函數(shù)的計算,不易于硬件實現(xiàn)[7]。因此,實際應用中通常對BP譯碼算法進行簡化,MMSA被認為是在譯碼性能和實現(xiàn)復雜度間取得較好平衡的一種算法[8-9]。MMSA算法在譯碼處理過程中,所需主時鐘高于輸入數(shù)據(jù)伴隨時鐘,如果主時鐘由輸入數(shù)據(jù)伴隨時鐘倍頻后得到,需要通過硬件鎖相環(huán)實現(xiàn),對于不同輸入數(shù)據(jù)速率的譯碼運算往往需要復雜硬件邏輯和時鐘切換邏輯[10-11]。

        根據(jù)型號任務需求,設計的LDPC譯碼器采用MMSA譯碼算法實現(xiàn)LDPC譯碼功能,并在此基礎(chǔ)上通過對輸入數(shù)據(jù)加填充幀和輸出數(shù)據(jù)伴隨有效性標記位方式,實現(xiàn)了單一主時鐘處理多種速率數(shù)據(jù)的譯碼運算。

        1 MMSA譯碼算法

        MMSA譯碼過程是不斷迭代的消息傳遞過程,一般包含4個步驟[12-13]:

        ① 初始化。設定最大迭代次數(shù),并對每個變量點賦予由信道得到的LLR,作為變量點的內(nèi)信息。

        (1)

        式中,Pn為第n個變量節(jié)點的信道先驗信息。

        ② 第t次迭代,變量節(jié)點到校驗節(jié)點的傳遞信息。

        (2)

        ③ 第t次迭代,校驗節(jié)點到變量節(jié)點的信息傳遞。

        (3)

        迭代若干次后,若滿足最大迭代次數(shù),計算后驗概率并判決,否則重復步驟②和步驟③。

        ④ 計算變量節(jié)點的后驗概率并判決輸出。

        每個變量節(jié)點輸出的后驗概率為:

        (4)

        根據(jù)以下規(guī)則對每一個比特進行判決:

        (5)

        式中,最大后驗概率L(post)(un)為變量節(jié)點n的外信息與節(jié)點n的初始似然比信息之和。

        2 譯碼器結(jié)構(gòu)選擇

        QC-LDPC碼的譯碼器結(jié)構(gòu)主要有3種[14-15]:

        ① 串行譯碼:通過重復使用一個CFU和VFU運算單元來完成所有行(列)運算,占用資源最少,但需要很多個時鐘周期才能完成一次完整的行(列)更新。

        ② 全并行結(jié)構(gòu):通過為每一行(列)配置一個運算單元,并使所有的運算單元并行工作來提高運算速度,最少只需要2個時鐘周期就可以完成一次迭代運算,但是需要消耗很多硬件資源,芯片難以支持。

        ③ 半并行結(jié)構(gòu):利用QC-LDPC校驗矩陣準循環(huán)的特點,可以使用半并行結(jié)構(gòu),將校驗矩陣劃分成若干個子塊,每個子塊的節(jié)點映射成一個硬件處理單元,每次迭代過程中通過重復一個子塊的校驗節(jié)點與變量節(jié)點運算單元來計算該子塊校驗節(jié)點與變量節(jié)點的外信息,所有節(jié)點的信息更新依次由這一個子塊節(jié)點處理單元來完成,這種結(jié)構(gòu)能夠獲得串行和并行的折中。

        本文設計基于CCSDS標準(8176,7154)的縮短LDPC碼譯碼器,采用部分并行譯碼結(jié)構(gòu),根據(jù)H矩陣特點,使用2個校驗節(jié)點運算單元,16個變量節(jié)點運算單元同時運算,即行、列更新運算的并行度分別是2,16,這樣的結(jié)構(gòu)需要511×2或者1 022個時鐘周期才能完成一次迭代運算,數(shù)據(jù)吞吐量[13]為:

        (6)

        式中,dnum為信息比特數(shù);fmax為譯碼器的工作時鐘頻率;nc為一次迭代所需周期數(shù);Niter為譯碼器的迭代次數(shù),如果時鐘工作頻率為100 MHz,則譯碼器的吞吐量等于70 Mbps。為簡化時鐘處理邏輯,采用數(shù)據(jù)吞吐率為0.5,即100 MHz主時鐘處理數(shù)據(jù)速率50 Mbps。

        3 譯碼器設計

        譯碼器結(jié)構(gòu)如圖1所示。

        輸入數(shù)據(jù)處理模塊對接收各速率數(shù)據(jù)做幀同步檢測、跨時鐘域處理和填充空幀。由伴隨時鐘將數(shù)據(jù)送入FIFO,同時對輸入數(shù)據(jù)做幀格式檢測,輸入數(shù)據(jù)格式錯誤則對FIFO做復位處理,格式正確數(shù)據(jù)送入后續(xù)處理模塊。本地時鐘讀取FIFO數(shù)據(jù)時根據(jù)FIFO的空滿狀態(tài)添加空幀,以連續(xù)數(shù)據(jù)形式送入后續(xù)譯碼模塊,并將數(shù)據(jù)是否有效狀態(tài)量Flag送入輸出數(shù)據(jù)處理模塊。

        圖1 譯碼器結(jié)構(gòu)

        輸出數(shù)據(jù)處理模塊根據(jù)式(4)和式(5)對完成迭代譯碼后的數(shù)據(jù)硬判決后輸出,并根據(jù)接收接口處理模塊中FIFO讀取數(shù)據(jù)的有效性,對輸出數(shù)據(jù)有效性做標定。

        3.1 填充幀處理單元設計

        輸入數(shù)據(jù)處理模塊填充幀處理單元狀態(tài)轉(zhuǎn)移如圖2所示,用于FIFO數(shù)據(jù)讀取狀態(tài)控制。

        圖2 填充幀處理單元狀態(tài)轉(zhuǎn)移示意

        根據(jù)型號任務需求,為適應不同衛(wèi)星通信工作模式,需要同一譯碼器完成多種速率LDPC譯碼任務。為解決不同速率時復雜時鐘切換邏輯問題,也為后續(xù)更多速率譯碼留有升級空間,采用了單一主時鐘加填充幀的處理模式。當輸入數(shù)據(jù)速率低于處理主時鐘時,添加空幀使核心譯碼模塊處于固定速率連續(xù)工作狀態(tài),不需要時鐘切換。

        輸入數(shù)據(jù)處理模塊FIFO的讀取時鐘固定為50 MHz,讀取端根據(jù)設置FIFO的滿/空標記讀取或添加填充幀,共3個狀態(tài):初始狀態(tài)、讀FIFO數(shù)據(jù)和填充空數(shù)據(jù),狀態(tài)標記由Sta表示(Sta=10表示FIFO的滿狀態(tài)標記為“1”,空狀態(tài)標記為“0”)。

        FIFO的讀取標記經(jīng)延時后送至輸出數(shù)據(jù)處理模塊,作為數(shù)據(jù)有效性標記位伴隨輸出(以高電平表示該幀數(shù)據(jù)有效,低電平表示該幀數(shù)據(jù)無效)。后續(xù)數(shù)據(jù)處理單機根據(jù)伴隨標記位狀態(tài)讀取數(shù)據(jù)。

        3.2 變量節(jié)點單元設計

        迭代譯碼模塊中變量節(jié)點單元結(jié)構(gòu)如圖3所示[13],用于實現(xiàn)變量節(jié)點數(shù)據(jù)更新。

        變量節(jié)點更新過程又稱為垂直運算,主要實現(xiàn)式(2)內(nèi)容,作用包括2部分:一部分是更新變量節(jié)點消息,送至迭代信息存儲器用于給校驗節(jié)點進行下一次迭代;另一部分(vout)是更新后驗概率消息,該消息主要用于硬判決。

        變量節(jié)點單元工作流程為:從每個信道初始信息存儲器中讀出一個信道似然比(LLR)信息。同時,根據(jù)地址從4個迭代信息存儲器中讀出4個校驗節(jié)點信息。變量節(jié)點單元通過對由迭代信息存儲器中讀出的校驗節(jié)點信息和LLR信息進行垂直運算,得到新的變量節(jié)點信息。最后,將新的變量節(jié)點信息按讀地址寫回到各迭代信息存儲器中,完成置信度信息更新。完成一次迭代的垂直運算需要對這個過程重復10次。

        垂直運算過程采用5級流水線方式,完成算法中變量節(jié)點到校驗節(jié)點的計算,其中式(2)的factor取0.75[8],只要進行移位相加就能實現(xiàn)。

        圖3 變量節(jié)點單元結(jié)構(gòu)

        圖3中的in0,in1,in2,in3是在Tanner圖中與一個變量節(jié)點相連的4個校驗節(jié)點更新后的信息。IntrinsicValue是變量節(jié)點的初始化信息。out0~out3是4個變量節(jié)點進行更新之后的信息。vout是內(nèi)信息和4個輸入信息的和,通過檢查該信息的最高位來判決。

        3.3 校驗節(jié)點單元設計

        迭代譯碼模塊中校驗節(jié)點單元結(jié)構(gòu)如圖4所示[12],用于實現(xiàn)校驗節(jié)點數(shù)據(jù)更新。

        圖4 校驗節(jié)點單元結(jié)構(gòu)

        校驗節(jié)點處理單元主要實現(xiàn)式(3),用來完成校驗節(jié)點消息的更新,其更新過程稱為水平運算,是迭代過程的一部分,進行的操作主要是使譯碼器對每個行塊的第i行做行置信度信息更新運算。

        其工作流程為:每個校驗節(jié)點從32個迭代信息存儲器中讀出32個變量節(jié)點消息。由于32個存儲器的讀地址均為i,因此這一步操作只需要計數(shù)器就能實現(xiàn)信息的讀取。然后,32個變量節(jié)點信息讀出后直接送給該校驗節(jié)點單元進行信息更新運算,得到新的校驗節(jié)點信息。最后,將新的校驗節(jié)點信息按讀地址寫回到各迭代信息存儲器中,完成校驗節(jié)點信息更新。完成一次迭代的水平運算,即校驗節(jié)點信息更新運算,需要對這個過程重復10次。

        在修正最小和算法中,校驗節(jié)點處理模塊需要完成的工作是求出與一個校驗節(jié)點相連接各變量節(jié)點數(shù)據(jù)(除自身外)絕對值的最小值。如果當前節(jié)點的值為最小值,則輸出為其他所有值中的最小值,即次最小值。求各數(shù)據(jù)符號值的乘積,將所得最小值與符號值合并成新數(shù)據(jù)。

        圖4所示結(jié)構(gòu)圖主要實現(xiàn)功能:

        (7)

        各符號的乘積可以通過查找表的方式得到。

        3.4 控制單元設計

        迭代譯碼模塊中控制單元流程如圖5所示,用于各單元工作協(xié)調(diào)控制。

        圖5 控制單元流程

        迭代譯碼模塊的工作流程[16]如下:

        ① 總狀態(tài)機控制初始信息存儲單元的一組RAM,該組RAM寫使能有效,接收來自信道的信息,當一幀數(shù)據(jù)全部存儲后,切換到另一組RAM存儲下一幀數(shù)據(jù),同時返還給總控一個信號。

        ② 控制單元在一幀數(shù)據(jù)存儲結(jié)束后,使能VFU模塊,并使能初始化存儲單元讀取功能,進行變量節(jié)點更新運算,運算結(jié)果寫入外信息存儲模塊。

        ③ VFU運算完成后,VFU單元給總控發(fā)送結(jié)束信號,總控屏蔽VFU和初始化存儲單元,啟動CFU的運算。CFU從外信息存儲單元讀取信息,并將運算結(jié)果寫入、讀出地址相同位置中。

        ④ CFU運算結(jié)束后,CFU單元給總控發(fā)送結(jié)束信號,總控屏蔽CFU單元,啟動VFU單元和初始化存儲單元,VFU單元和CFU單元交替運算。

        ⑤ 經(jīng)過10次迭代運算后,進行硬判決,對判決數(shù)據(jù)做有效性標記并輸出,開始下一幀數(shù)據(jù)迭代譯碼。

        4 譯碼器實現(xiàn)

        基于前文設計思想,采用VHDL語言編寫,ISE14.7編譯環(huán)境,在Xilinx公司Virtex-4系列FPGA芯片XC4VSX55上實現(xiàn)了CCSDS規(guī)定的縮短(8176,7154)準循環(huán)LDPC譯碼器。譯碼器的邏輯資源和存儲資源利用情況如表1所示。

        表1 譯碼器資源利用率

        資源類別數(shù)目占總資源百分比/%Slice Flip-Flops14 25429Slice LUT15 47031Bonded IOBs112Block RAM/FIFO13140

        譯碼器設計實現(xiàn)后,需要對其進行測試,以驗證其糾錯性能[17]。譯碼器測試原理如圖6所示。

        圖6 譯碼器測試原理

        測試步驟如下:

        ① 碼源產(chǎn)生PN15偽隨機數(shù)據(jù),按CCSDS標準組幀;

        ② 在數(shù)傳發(fā)射機內(nèi)進行LDPC編碼和QPSK調(diào)制;

        ③ 射頻信號通過下變頻器到中頻信號,并在中頻加噪聲;

        ④ 在接收機內(nèi)進行QPSK解調(diào)[18],并標定輸出Eb/N0值;

        ⑤ LDPC譯碼,分別比對譯碼前后對應誤碼率。

        分別在50,30,20,10,2,1 Mbps速率下進行了測試,不同速率下譯碼性能測試結(jié)果一致,如表2所示。

        表2 譯碼性能測試結(jié)果

        解調(diào)后(Eb/N0)/dB譯碼前BER/bit譯碼后BER/bit12.40011.91.56?10-70102.12?10-505.85.82?10-305.48.14?10-31.26?10-7

        測試結(jié)果顯示,設計的譯碼器在BER為1×10-7量級有6.5 dB增益。

        5 結(jié)束語

        以航天型號為基礎(chǔ),采用MMSA譯碼算法對CCSDS標準推薦的縮短LDPC碼實現(xiàn)譯碼功能的基礎(chǔ)上,通過對輸入數(shù)據(jù)加填充幀和輸出數(shù)據(jù)伴隨有效性標記位的方式,實現(xiàn)單一主時鐘處理不同速率數(shù)據(jù)功能。通過對輸入數(shù)據(jù)格式判斷和復位處理相結(jié)合,使譯碼器具有接收錯誤數(shù)據(jù)后自恢復功能。實驗結(jié)果表明,譯碼器在BER為1×10-7量級有6.5 dB增益,且在不高于50 Mbps速率條件下可以速率自適應。

        猜你喜歡
        譯碼器譯碼校驗
        基于校正搜索寬度的極化碼譯碼算法研究
        糾錯模式可配置的NAND Flash BCH譯碼器設計
        爐溫均勻性校驗在鑄鍛企業(yè)的應用
        跟蹤導練(一)5
        從霍爾的編碼譯碼理論看彈幕的譯碼
        新聞傳播(2016年3期)2016-07-12 12:55:27
        LDPC 碼改進高速譯碼算法
        遙測遙控(2015年2期)2015-04-23 08:15:19
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        鍋爐安全閥在線校驗不確定度評定
        HINOC2.0系統(tǒng)中高速LDPC譯碼器結(jié)構(gòu)設計
        搡老女人老妇女老熟妇69| 国产性生交xxxxx免费| 久久香蕉国产线看观看网| 欧美日韩国产乱了伦| 国内偷拍精品一区二区| 中文字幕精品一区二区精品| 免费观看又污又黄的网站| 国产激情一区二区三区成人免费| 日韩在线精品免费观看| 亚洲精品国偷拍自产在线| 久久99久久99精品免观看| 人妻少妇无码中文幕久久| 免费在线观看草逼视频| 精品无码一区二区三区爱欲| 日本阿v网站在线观看中文| 国产精品黄色片在线观看| 女同舌吻互慰一区二区| 国色天香中文字幕在线视频| 亚洲成a人片在线观看无码| 亚洲色欲色欲大片WWW无码| 永久免费观看的黄网站在线| 丰满少妇被粗大猛烈进人高清| 中文亚洲av片在线观看不卡| 国产无遮挡又黄又爽无VIP| 国产亚洲熟妇在线视频| 亚洲熟妇无码一区二区三区导航 | 国产精品欧美成人| 日韩在线精品在线观看| 黄片国产一区二区三区| 国产熟妇一区二区三区网站| 色欲色香天天天综合网www | 亚洲国产精品久久久久久无码| 中出内射颜射骚妇| 亚洲AV无码一区二区水蜜桃| 亚洲天堂一区二区偷拍| 国产揄拍国产精品| 国产偷2018在线观看午夜| 亚洲精品天堂日本亚洲精品| 国产老熟女网站| 中文字幕精品亚洲人成| 一区二区三区日本在线|