王柏巖 劉治軍 王睿 葉勉 熊曉將 韓笑冬
(中國(guó)空間技術(shù)研究院通信衛(wèi)星事業(yè)部,北京 100094)
遙控鏈路是實(shí)施星上設(shè)備狀態(tài)控制的唯一通道,主要實(shí)現(xiàn)遙控指令的接收、解調(diào)和譯碼,幀長(zhǎng)較短的遙控指令以每天幾次甚至每周幾次的頻率傳輸?shù)叫l(wèi)星,因此遙控方案設(shè)計(jì)需要考慮短指令、低延時(shí)、實(shí)現(xiàn)簡(jiǎn)單及高可靠性等特點(diǎn)?,F(xiàn)有CCSDS遙控標(biāo)準(zhǔn)[1-2]推薦使用BCH(63,56)編碼方案,該方案適合低時(shí)延、指令幀較短的遙控系統(tǒng)。隨著航天技術(shù)的發(fā)展,下一代衛(wèi)星需要使用遙控鏈路來(lái)支持越來(lái)越多的用途,例如將更大量的數(shù)據(jù)傳輸?shù)叫l(wèi)星以實(shí)現(xiàn)在軌軟件的更新。因此,采用新的信道編碼技術(shù)、獲得更好的編碼增益,是升級(jí)現(xiàn)有CCSDS遙控信道編碼標(biāo)準(zhǔn)的核心要素。而目前BCH(63,56)編碼方案具有以下不足[3]:①遙控信道采用的BCH編碼方案較為簡(jiǎn)單,只能糾正或檢測(cè)少量比特錯(cuò)誤。②BCH編碼方案的接收機(jī)只能進(jìn)行硬判決,無(wú)法進(jìn)行軟判決,嚴(yán)重限制了編碼增益。由于無(wú)法獲得更好的編碼增益,只能通過提高發(fā)射端發(fā)射功率來(lái)確保遙控信息傳輸?shù)目煽啃裕捎谛l(wèi)星設(shè)備在尺寸、質(zhì)量、功耗和效能等方面的限制,不可能無(wú)限制提升設(shè)備發(fā)射功率。對(duì)于下一代衛(wèi)星而言,需通過優(yōu)異的信道編碼方案設(shè)計(jì)來(lái)獲得可觀的信道增益,有效降低信號(hào)解調(diào)門限,進(jìn)而抵消信號(hào)在長(zhǎng)距離空間傳播過程中帶來(lái)的能量損失。
CCSDS委員會(huì)在2014年提出下一代衛(wèi)星遙控業(yè)務(wù)[4]需要滿足:①比目前CCSDS遙控系列標(biāo)準(zhǔn)更高的遙控速率,遙控瞬時(shí)速率應(yīng)至少在數(shù)千比特每秒。②利用現(xiàn)有的發(fā)射機(jī)和天線系統(tǒng)實(shí)現(xiàn)更高的性能,包括降低譯碼門限和提高編碼增益。為此,CCSDS于2015年發(fā)布CCSDS 231.1-O-1橙皮書[5],提出了3種性能優(yōu)異的短碼長(zhǎng)LDPC碼,以替代目前廣泛使用的BCH(63,56)碼。LDPC碼是分組碼,具有很優(yōu)異的譯碼性能,譯碼方式是逐比特的迭代算法,在良好的譯碼方案下其性能甚至要高于Turbo碼[6]。目前,LDPC編碼方案主要用于下行數(shù)傳鏈路,例如:我國(guó)嫦娥2號(hào)探月衛(wèi)星和“高分”衛(wèi)星(下傳數(shù)據(jù)率最高可以達(dá)1 Gbit/s),以及實(shí)踐十號(hào)衛(wèi)星(編碼速率為兩路并行300 Mbit/s);NASA的“界面區(qū)成像光譜儀”(IRIS)任務(wù);在ESA下一代衛(wèi)星數(shù)字視頻標(biāo)準(zhǔn)DVB-S2中作為內(nèi)碼(碼長(zhǎng)為16 200 bit或64 800 bit)。LDPC碼的研究主要集中在數(shù)傳鏈路和遙測(cè)鏈路[7],其LDPC編碼方案設(shè)計(jì)無(wú)法滿足遙控鏈路短指令、低延時(shí)、實(shí)現(xiàn)簡(jiǎn)單、高可靠性的特點(diǎn),因此需要針對(duì)下一代衛(wèi)星遙控鏈路的業(yè)務(wù)需求設(shè)計(jì)合適的LDPC編碼方案。
本文將遙控指令分為短指令模式與內(nèi)存上注指令模式,針對(duì)2種不同指令模式設(shè)計(jì)不同的LDPC編碼方案,可以獲得更好的編碼增益,提高遙控鏈路的可靠性。在此基礎(chǔ)上,通過仿真分析給出了本文中不同指令模式下LDPC編碼方案的誤碼字率曲線與漏檢錯(cuò)誤率曲線,對(duì)比了編碼性能。針對(duì)本文的LDPC編碼方案可行性分析表明,此方案適用于衛(wèi)星遙控協(xié)議體系,可以提高衛(wèi)星遙控業(yè)務(wù)的可靠性。
在衛(wèi)星遙控通信中,信道編碼技術(shù)是保證通信可靠性的必要手段。目前,在軌衛(wèi)星越來(lái)越多,環(huán)境也越來(lái)越復(fù)雜,遙控的業(yè)務(wù)需求不斷變化,越來(lái)越多的大數(shù)據(jù)量業(yè)務(wù)需要通過這條鏈路傳輸?shù)叫l(wèi)星(例如在軌軟件更新)。本節(jié)根據(jù)不同的遙控業(yè)務(wù)模式探討CCSDS遙控標(biāo)準(zhǔn)推薦的LDPC編碼方案,以期獲得更好的編碼性能,提高遙控可靠性。
為了應(yīng)對(duì)復(fù)雜多變的業(yè)務(wù)需求,根據(jù)衛(wèi)星遙控鏈路的業(yè)務(wù)需要[8],可以將遙控指令分為兩大類,如表1所示。
短指令模式是以低碼速率提供數(shù)據(jù)長(zhǎng)度約100 bit的短指令,遙控碼速率為1~4 kbit/s,所占用的頻段為S或X頻段。由于速率較低,此模式下帶寬不受限。短指令大部分是對(duì)衛(wèi)星能源、姿態(tài)的控制指令,以及重要載荷的指令,因此發(fā)出錯(cuò)誤指令可能是災(zāi)難性的。目前,未采用信道編碼時(shí),遙控鏈路預(yù)算余量約為1.5 dB,而BCH編碼方案只可以提供1~2 dB的編碼增益,余量均較小。在實(shí)際任務(wù)中,采用BCH編碼方案時(shí)沒有出現(xiàn)普遍丟幀的情況,主要是因?yàn)樘斓卦O(shè)備也均留有較大的裕量,盡管如此,還是應(yīng)該進(jìn)行理論計(jì)算,盡量提升編碼增益,而不是依賴設(shè)備自身的裕量。因此,針對(duì)短指令模式,CCSDS 231.1-O-1橙皮書于2015年推薦3種碼長(zhǎng)的LDPC短碼,其性能優(yōu)于目前廣泛使用的BCH碼,可以保證獲得更好的可靠性。
內(nèi)存上注指令多用于衛(wèi)星軟件在軌更新,上傳的數(shù)據(jù)量較大,長(zhǎng)度約為4000 bit,因此需要較高的碼速率(最高可達(dá)1 Mbit/s)來(lái)縮短內(nèi)存上注的時(shí)間。因?yàn)榇a速率較高,可以借用載荷業(yè)務(wù)鏈路完成衛(wèi)星遙控指令注入,所占用的頻段可以為Ka或Ku頻段。在此模式下,受限于天線的發(fā)射功率,較高的碼速率所需要的帶寬也較大,因此需要較高的編碼效率。針對(duì)內(nèi)存上注指令模式數(shù)據(jù)量大、速率高的特性,可以參考CCSDS 131.0-B-2藍(lán)皮書于2011年發(fā)布遙測(cè)信道編碼標(biāo)準(zhǔn)中編碼效率為223/255的LDPC編碼方案。
根據(jù)表1中所示,對(duì)于幀長(zhǎng)較短的遙控指令,需要選擇碼塊長(zhǎng)度在100 bit左右且擁有良好糾檢錯(cuò)能力和較低譯碼復(fù)雜度的編碼方案。當(dāng)采用低編碼效率的編碼方案時(shí),需要更多的迭代來(lái)保證正確的譯碼,這樣也會(huì)相應(yīng)增加遙控接收機(jī)信號(hào)捕獲鎖定的難度,因此,本文對(duì)編碼增益和系統(tǒng)復(fù)雜度折中考慮,編碼效率建議設(shè)置為1/2。CCSDS 231.1-O-1橙皮書中推薦了3種碼長(zhǎng)的LDPC短碼,這3種碼率為1/2的LDPC(n,k)短碼分別為L(zhǎng)DPC(128,64)碼,LDPC(256,128)碼,LDPC(512,256)碼,其中n代表編碼后的碼塊長(zhǎng)度,k代表有效信息位長(zhǎng)度。
LDPC碼最初是用一個(gè)稀疏校驗(yàn)矩陣來(lái)定義的線性分組碼,后來(lái)將LDPC碼的校驗(yàn)矩陣H對(duì)應(yīng)到被稱為Tanner圖的雙向二分圖上。Tanner圖上的兩部分節(jié)點(diǎn)分別為信息節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn),它們之間的連接線稱為“邊”。若第j個(gè)信息節(jié)點(diǎn)與第i個(gè)校驗(yàn)節(jié)點(diǎn)有邊相連接,則校驗(yàn)矩陣中的H(i,j)=1,否則為0。在Tanner圖中,與節(jié)點(diǎn)i相連的邊稱為節(jié)點(diǎn)i的度。圖1給出了編碼效率為1/2的LDPC碼的Tanner圖[9],其中信息節(jié)點(diǎn)用圓圈表示,校驗(yàn)節(jié)點(diǎn)用方塊表示。信息節(jié)點(diǎn)的度分布為非正則的,每個(gè)信息節(jié)點(diǎn)的邊數(shù)平均為4個(gè)。這樣設(shè)計(jì)可以降低短碼長(zhǎng)LDPC的誤碼平層,但代價(jià)是提高了信噪比的門限和譯碼復(fù)雜度。
圖1 編碼效率為1/2的LDPC碼Tanner圖Fig.1 Protograph for rate of 1/2 LDPC codes
根據(jù)圖1所示的Tanner圖構(gòu)建LDPC(128,64)碼,LDPC(256,128)碼,LDPC(512,256)碼[10]。這3種LDPC碼字的校驗(yàn)矩陣H由m×m的子矩陣構(gòu)成,其中m=k/4=n/8。
(1)
(2)
(3)
式中:Im和0m為m×m的單位矩陣和零矩陣;Φk為單位矩陣Im循環(huán)右移k位后的矩陣;⊕為模2加法運(yùn)算。
LDPC編碼過程實(shí)際上是輸入信息序列和生成矩陣G的乘積。為了完成上述3種LDPC編碼,必須先通過校驗(yàn)矩陣H求得生成矩陣G,然后利用生成矩陣進(jìn)行編碼。
上述3種碼長(zhǎng)的LDPC短碼生成矩陣都可以由校驗(yàn)矩陣通過運(yùn)算給出,其計(jì)算步驟如下。
(1)將校驗(yàn)矩陣H分為前4m列和后4m列兩部分,P是大小為4m×4m的子矩陣,組成了H矩陣的最后4m列,Q是大小為4m×4m的子矩陣,組成了H矩陣的前4m列,即H=[QP]。
(2)計(jì)算矩陣W=(P-1Q)T,采用模2運(yùn)算。
上述3種LDPC碼長(zhǎng)均較短,其生成矩陣大小相對(duì)較小,且具有塊循環(huán)特性,因此可以采用循環(huán)移位的方式構(gòu)造生成矩陣。表2~4給出了這3種LDPC碼的第1行,第m+1行,第2m+1行,第3m+1行的十六進(jìn)制值。
表2 LDPC(128,64)碼生成矩陣Table 2 Generator matrix of LDPC(128,64) code
表3 LDPC(256,128)碼生成矩陣Table 3 Generator matrix of LDPC(256,128) code
表4 LDPC(512,256)碼生成矩陣Table 4 Generator matrix of LDPC(512,256) code
通過表2~4中的每一行進(jìn)行循環(huán)移位,即可得到CCSDS遙控應(yīng)用中推薦的3種LDPC碼的生成矩陣G。在進(jìn)行編碼時(shí),只需要存儲(chǔ)上述表格中的4行十六進(jìn)制數(shù),因此所占用的存儲(chǔ)資源大大減少。
由于衛(wèi)星設(shè)計(jì)越來(lái)越復(fù)雜,對(duì)于大數(shù)據(jù)量?jī)?nèi)存上注的需求不斷增加。星載軟件需要經(jīng)常在軌更新,F(xiàn)PGA也需要在軌重復(fù)配置。因此,現(xiàn)有的短碼字信道編碼方案和數(shù)據(jù)鏈路協(xié)議設(shè)計(jì)已經(jīng)無(wú)法滿足如此大量數(shù)據(jù)的傳輸。而長(zhǎng)碼字的信道編碼方案可以獲得更大的編碼增益,在傳輸過程中能提供更好的糾檢錯(cuò)能力。
通過表1中內(nèi)存上注指令的特性分析,可以得到如下結(jié)論:①內(nèi)存上注指令需要更長(zhǎng)的碼塊,這樣才可以獲得更好的編碼增益。②編碼效率需要折中考慮到帶寬和功率的因素。在一定的鏈路性能條件下,一般通過編碼增益的最大化盡可能減小星載發(fā)射功率,但是付出的代價(jià)是需要提高編碼效率,并占用更大的帶寬,而編碼效率和頻譜效率又共同決定了能獲得的最大信息傳輸速率。對(duì)于內(nèi)存上注指令的編碼方案設(shè)計(jì),可以參考遙測(cè)信道編碼標(biāo)準(zhǔn)[7]中信道編碼方式的設(shè)計(jì)。該標(biāo)準(zhǔn)中主要規(guī)定了5種遙測(cè)信道編碼方式,包括卷積碼、R-S碼、級(jí)聯(lián)碼、Turbo碼、LDPC碼。對(duì)于大數(shù)據(jù)量的遙控指令,需要選擇編碼增益較好且編碼效率較高的編碼方案,這樣可以提高譯碼的正確性,也會(huì)相應(yīng)減少遙控接收機(jī)信號(hào)捕獲鎖定的難度。因此,本文推薦使用碼率為223/255的LDPC碼。標(biāo)準(zhǔn)中LDPC碼采用截?cái)啻a形式,先產(chǎn)生LDPC(8176,7154)碼,其校驗(yàn)矩陣見式(4)。每個(gè)Ai,j是一個(gè)511×511的循環(huán)矩陣。每個(gè)32陣列的循環(huán)子矩陣的行重為2,即每行中1的個(gè)數(shù)為2。校驗(yàn)矩陣每行的總行重是32。每個(gè)循環(huán)子矩陣中第1行中1的位置在表5的第2列被定義,每個(gè)隨后的行是由前1行的1 bit右循環(huán)移位給出。有511個(gè)可能位置,由0到510表示。第3列代表校驗(yàn)矩陣中1的絕對(duì)位置,有8176個(gè)可能的位置,由0到8175表示。LDPC(8176,7154)子碼的生成矩陣見式(5)。
(4)表5 LDPC(8176,7154)碼循環(huán)矩陣Table 5 Circulants of LDPC(8176,7154) code
(5)
LDPC(8176,7154)碼可截?cái)嗌蒐DPC(8160,7136),編碼效率為223/255。其構(gòu)造方法為:①編碼器接收長(zhǎng)度為7136 bit的傳送幀作為輸入;②將18個(gè)0放置在待編碼(U)的7136 bit信息之前,產(chǎn)生一個(gè)7154 bit元素的行向量;③這個(gè)向量乘以式(5)定義的生成矩陣,產(chǎn)生一個(gè)8176 bit的向量,這個(gè)向量由18個(gè)0、7136個(gè)信息比特和1022個(gè)效驗(yàn)比特(P)組成;④丟棄這個(gè)向量中的18個(gè)前導(dǎo)0,在末端附加2個(gè)0,就產(chǎn)生了一個(gè)8160 bit的碼字。
18個(gè)填充比特、信息比特、校驗(yàn)比特和2個(gè)填充0比特的格式,如圖2所示。
圖2 LDPC(8160,7136)碼格式Fig.2 Format of LDPC(8160,7136) code
為了研究LDPC碼在遙控應(yīng)用中的性能,本節(jié)給出了LDPC碼在高斯白噪聲信道條件下的性能曲線,采用經(jīng)典的置信傳播(BP)譯碼算法進(jìn)行譯碼,譯碼過程中最大迭代次數(shù)設(shè)置為100次。本次仿真的3種LDPC短碼碼率均為1/2,編碼前信息序列長(zhǎng)度分別為64,128,256,LDPC(8160,7136)碼率接近223/255,編碼前信息序列長(zhǎng)度為7136。圖3和圖4給出了3種LDPC碼的誤碼字率和漏檢錯(cuò)誤率曲線。其中,未編碼數(shù)據(jù)的誤碼字率用虛線表示,由于未編碼系統(tǒng)中所有的錯(cuò)誤都無(wú)法被檢出,因此2張圖中的虛線相同。對(duì)于CCSDS遙控信道編碼標(biāo)準(zhǔn)推薦采用BCH(63,56)碼,根據(jù)系統(tǒng)設(shè)計(jì)需求,BCH譯碼可以工作在檢錯(cuò)與糾錯(cuò)2種模式下[11-12]。當(dāng)工作在檢錯(cuò)模式下,可以實(shí)現(xiàn)3 bit的檢錯(cuò);當(dāng)工作在糾錯(cuò)模式下,可以實(shí)現(xiàn)1 bit的糾錯(cuò)和2 bit的檢錯(cuò)。圖3中檢錯(cuò)模式誤碼字率曲線在未編碼曲線的右邊,是因?yàn)闄z錯(cuò)模式?jīng)]有糾錯(cuò)能力,糾錯(cuò)模式則可以獲得有限的編碼增益,但檢錯(cuò)能力較差。圖4中檢錯(cuò)模式的檢錯(cuò)能力明顯好于糾錯(cuò)模式,但檢錯(cuò)模式?jīng)]有糾錯(cuò)能力。
圖3中,在誤碼字率為10-5量級(jí)時(shí),LDPC(128,64)碼較未編碼系統(tǒng)增益為6 dB,較糾錯(cuò)模式BCH碼增益為4 dB,LDPC(256,128)碼較LDPC(128,64)碼增益為1 dB,LDPC(512,256)碼較LDPC(256,128)碼增益為1 dB。圖4中,LDPC碼的漏檢錯(cuò)誤率曲線也明顯低于BCH碼,其中,LDPC(256,128)碼只有很少的漏檢錯(cuò)誤,而LDPC(512,256)碼完全沒有漏檢錯(cuò)誤。
對(duì)于LDPC(128,64)碼,其誤碼字率曲線最大約為1.5 dB,因?yàn)槠湫阅芗热Q于編碼器,也取決于譯碼器。LDPC碼采用的迭代譯碼算法基本思想是利用校驗(yàn)位提供的冗余信息對(duì)有效信息進(jìn)行補(bǔ)償。迭代次數(shù)不斷增加,校驗(yàn)位能提供的新的外部消息越來(lái)越少。因此,迭代次數(shù)超過一定數(shù)量后,譯碼性能并不會(huì)有明顯的改善。在實(shí)際系統(tǒng)中采用LDPC碼,應(yīng)根據(jù)應(yīng)用需求合理地選擇最大迭代次數(shù),以平衡性能和譯碼延時(shí)之間的矛盾。
圖5為標(biāo)準(zhǔn)中推薦的LDPC(8160,7136)碼的性能曲線。當(dāng)誤碼字率為10-5量級(jí)時(shí),LDPC(8160,7136)碼所需信噪比(Eb/N0)約為3.8 dB,未編碼系統(tǒng)所需Eb/N0約為11 dB,編碼增益約為7 dB。
在未來(lái)衛(wèi)星的遙控鏈路設(shè)計(jì)中,傳輸遙控指令仍然作為一個(gè)最基本功能,同時(shí)應(yīng)當(dāng)還包括在正?;蛘咄话l(fā)情況下向衛(wèi)星傳輸一些大容量的數(shù)據(jù)。由于衛(wèi)星本身攜帶的天線尺寸非常小,可用來(lái)提供數(shù)據(jù)通信的功率非常有限,因此需要盡可能地節(jié)省在遙控上消耗的功率。通過上述仿真結(jié)果分析可知,不同類型衛(wèi)星的遙控業(yè)務(wù)采用LDPC編碼方案設(shè)計(jì),可以獲得4~7 dB的編碼增益,這樣能有效降低信號(hào)解調(diào)門限,進(jìn)而抵消遙控信號(hào)在長(zhǎng)距離空間傳播過程中帶來(lái)的能量損失。
通過仿真分析可以看出,LDPC碼在遙控應(yīng)用中可以獲得很好的性能,但是需要考慮在協(xié)議方面的實(shí)現(xiàn)問題。CCSDS遙控標(biāo)準(zhǔn)中,信道編碼方案的可靠性和有效性尤為重要,因此需要設(shè)計(jì)良好的協(xié)議格式。CCSDS 231.0-B-2[2]中同步與信道編碼子層接收數(shù)據(jù)鏈路協(xié)議子層的傳輸幀,將其組織成遙控鏈路傳輸單元(CLTU)幀格式后從物理層發(fā)送出去。BCH碼塊的數(shù)據(jù)格式依靠CLTU數(shù)據(jù)格式來(lái)實(shí)現(xiàn)。數(shù)據(jù)鏈路層傳輸幀被分割成56 bit的信息塊,其中最后一段不足56 bit時(shí)填充0。之后每個(gè)56 bit信息塊分別通過BCH(63,56)編碼器編碼,每個(gè)BCH碼塊后面需要補(bǔ)充一個(gè)0來(lái)保證整字節(jié),生成連續(xù)的BCH碼塊組成CLTU幀。CLTU幀格式如圖6所示。CLTU的開始序列界定了一個(gè)CLTU幀的開始,由16 bit同步字組成。CLTU的結(jié)尾序列界定了幀的結(jié)尾,接收端檢測(cè)到該序列后即停止解碼,結(jié)尾序列與BCH碼塊長(zhǎng)度一致。
圖6 BCH碼CLTU組幀示意Fig.6 Components of BCH CLTU
對(duì)于本文的LDPC編碼方案,可以采用與BCH編碼相似的格式設(shè)計(jì)。遙控同步與信道編碼子層可以組成相應(yīng)長(zhǎng)度k的碼塊。此外,對(duì)于結(jié)尾序列,其長(zhǎng)度要求等于碼塊長(zhǎng)度。本文以LDPC(128,64)碼為例,2個(gè)數(shù)據(jù)鏈路子層傳輸幀分別為25 byte和15 byte,如圖7所示。傳輸幀被分割成64 bit的數(shù)據(jù)塊,此時(shí)不需要填充,因?yàn)?0 byte正好可以分割成5個(gè)64 bit的數(shù)據(jù)塊。通過LDPC編碼器生成連續(xù)的128 bit的碼塊,并添加開始序列和結(jié)尾序列,最后完成LDPC(128,64)碼的CLTU組幀。
目前,大多數(shù)低軌衛(wèi)星遙控業(yè)務(wù)已采用BCH編碼方案,高軌衛(wèi)星(如地球同步軌道衛(wèi)星)仍采用大回路比對(duì)校驗(yàn)方案,建議后續(xù)高低軌衛(wèi)星遙控業(yè)務(wù)選擇合適時(shí)機(jī)完成LDPC編碼方案的轉(zhuǎn)型。本文的LDPC編碼方案在提高遙控可靠性的同時(shí),其CLTU幀格式設(shè)計(jì)可以兼容現(xiàn)有CCSDS遙控標(biāo)準(zhǔn)中數(shù)據(jù)鏈路層和物理層協(xié)議,改動(dòng)量較小,能夠滿足我國(guó)下一代衛(wèi)星遙控業(yè)務(wù)的應(yīng)用需求。
圖7 LDPC(128,64)碼CLTU組幀示意Fig.7 Components of LDPC(128,64)code CLTU
LDPC碼譯碼算法眾多,CCSDS標(biāo)準(zhǔn)中并未給出譯碼算法的具體規(guī)定。由于LDPC碼的校驗(yàn)矩陣具有稀疏性,因此存在許多高效LDPC譯碼算法,如BP算法,其基本原理是通過貝葉斯準(zhǔn)則獲得近似最大后驗(yàn)概率進(jìn)行譯碼。而后續(xù)衍生的對(duì)數(shù)域置信傳播算法(LLR-BP算法)及最小和算法,也主要是對(duì)這兩個(gè)過程進(jìn)行優(yōu)化,其大體的譯碼流程如下。①初始化:將接收到的碼字序列分別送至各個(gè)變量節(jié)點(diǎn);②迭代處理:完成校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)更新,直到獲得合法碼字或者達(dá)到最大迭代次數(shù);③后驗(yàn)信息更新及判決輸出:根據(jù)校驗(yàn)節(jié)點(diǎn)反饋的信息,變量節(jié)點(diǎn)的后驗(yàn)信息進(jìn)行更新,并利用后驗(yàn)信息進(jìn)行碼字判決,作為譯碼碼字輸出。
表6中給出上述3種譯碼算法進(jìn)行一次迭代譯碼的復(fù)雜度,其中d為列重。
表6 不同譯碼算法復(fù)雜度比較Table 6 Complexity of different decoding algorithms
在上述3種譯碼算法中,BP算法包含大量乘法運(yùn)算,復(fù)雜度最高。LLR-BP算法是將基于概率的BP算法轉(zhuǎn)化到對(duì)數(shù)域中,即把乘法運(yùn)算轉(zhuǎn)化為加法運(yùn)算,從而使其復(fù)雜度大幅降低。最小和算法只采用LLR值進(jìn)行校驗(yàn)節(jié)點(diǎn)更新操作,因此譯碼過程中只有加法運(yùn)算,復(fù)雜度明顯小于上述2種算法。
針對(duì)本文中2種不同指令工作模式,LDPC碼方案的譯碼算法可以統(tǒng)一,但在實(shí)現(xiàn)上有略有區(qū)別。由于工作模式的信息長(zhǎng)度不同,星上譯碼器的輸入輸出緩存需要根據(jù)信息長(zhǎng)度自適當(dāng)調(diào)整。由于編碼方案中校驗(yàn)矩陣不同,星上譯碼器的矩陣校驗(yàn)節(jié)點(diǎn)和變量節(jié)點(diǎn)設(shè)計(jì)也需要滿足相應(yīng)的編碼方案。
目前,F(xiàn)PGA和數(shù)字信號(hào)處理器(DSP)是衛(wèi)星數(shù)字信號(hào)處理中常用的主處理芯片。DSP適合于串行運(yùn)算,其主頻較高功耗較大;FPGA則適合于實(shí)現(xiàn)高度并行的運(yùn)算結(jié)構(gòu),同時(shí)具有可重復(fù)編程的特點(diǎn),靈活性較高。由于LDPC碼具有準(zhǔn)循環(huán)結(jié)構(gòu),其編譯碼器設(shè)計(jì)適于并行實(shí)現(xiàn),能夠支持較高傳輸速率信號(hào)的處理。
通過對(duì)譯碼方案復(fù)雜度的分析可知,在下一代衛(wèi)星遙控應(yīng)用中,星上遙控譯碼器可以采用并行的FPGA譯碼器架構(gòu),譯碼算法可以采用最小和算法,其譯碼復(fù)雜度較低,硬件實(shí)現(xiàn)資源占用較低,能夠滿足衛(wèi)星遙控LDPC編碼方案的實(shí)施。
目前,衛(wèi)星遙控應(yīng)用中廣泛采用BCH碼,很難滿足未來(lái)航天應(yīng)用復(fù)雜多樣的需求。為此,本文基于CCSDS標(biāo)準(zhǔn),探討在下一代衛(wèi)星遙控系統(tǒng)設(shè)計(jì)中采用LDPC碼來(lái)提高編碼增益。根據(jù)下一代衛(wèi)星遙控業(yè)務(wù)需要,將遙控指令分為短指令模式與內(nèi)存上注指令模式,針對(duì)2種不同指令工作模式探討不同的LDPC碼應(yīng)用方案。針對(duì)LDPC編碼方案的可行性,本文提出采用與BCH碼相似的格式設(shè)計(jì),星上遙控譯碼器采用并行的FPGA譯碼器架構(gòu),可實(shí)現(xiàn)更為優(yōu)異的編碼增益,提高遙控?cái)?shù)據(jù)傳輸速率。雖然LDPC碼在工程上存在編譯碼復(fù)雜度較高的問題,但本文中LDPC碼長(zhǎng)均較短,編譯碼器電路實(shí)現(xiàn)只需要較少的邏輯資源,因此通過合理的編碼器架構(gòu)設(shè)計(jì)可以大大降低編譯碼復(fù)雜度,后續(xù)會(huì)針對(duì)這一問題開展進(jìn)一步研究。