国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于導彈數據鏈的級聯(lián)編碼的設計與實現*

2019-08-22 06:18閆智強董詩萌
彈箭與制導學報 2019年2期
關鍵詞:譯碼級聯(lián)交織

姜 智,閆智強,馬 駿,董詩萌

(西安現代控制技術研究所, 西安 710065)

0 引言

隨著導彈武器系統(tǒng)向著智能化方向發(fā)展,傳統(tǒng)的光纖數據鏈系統(tǒng)已經不能滿足遠距離,協(xié)同化的需求,因此,基于無線傳輸的導彈數據鏈系統(tǒng)得到了越來越廣泛的應用。為了改善導彈數據鏈系統(tǒng)的性能,提升可靠性,文中對導彈數據鏈系統(tǒng)的信道編碼方式進行了研究,設計了一種由RS碼、交織技術和卷積碼組成的級聯(lián)編碼,并在FPGA芯片上實現,該級聯(lián)編碼能夠有效地提升系統(tǒng)的可靠性,保證較低的誤碼率。

1 級聯(lián)編碼的總體設計

級聯(lián)編碼的總體設計主要包括級聯(lián)編碼的編碼器與譯碼器設計。本設計中的級聯(lián)編碼采用RS(255,239)碼、交織(17×15)與卷積碼(2,1,7)級聯(lián)的編碼方式。級聯(lián)編碼結構圖如圖1所示。

圖1 級聯(lián)編碼結構圖

其中,RS碼為非二進制的外碼,卷積碼為二進制的內碼,內碼譯碼與外碼譯碼分別采用軟判決譯碼方法與代數譯碼方法,外碼譯碼可以將內碼譯碼不能糾正的單比特錯誤與突發(fā)錯誤轉化為外碼的單個或多個符號錯誤,并在外碼譯碼的過程中被進一步糾正,大大的提高了抗誤碼性能[1]。

2 級聯(lián)編碼編碼器的設計與實現

2.1 RS(255,239)編碼器設計與實現

RS(255,239)碼對信道突發(fā)錯誤有很好的糾錯性能,有239個碼元,16個監(jiān)督碼元,可檢測16個碼元錯誤,糾正8個碼元錯誤。

RS(255,239)碼的編碼采用循環(huán)碼常用的多項式觸發(fā)電路完成。校驗多項式為r(x),信息多項式為m(x)時,與生成多項式g(x),三者之間的關系可以表述為:

r(x)=m(x)xn-kmodg(x)

(1)

本設計的RS碼的生成多項式采用系數非對稱方式,如式(2)所示,可以簡化RS譯碼器的設計。

(2)

本設計中的RS(255,239)碼生成的多項式展開對應的系數為:g16=1,g15=59,g14=13,g13=104,g12=189,g11=68,g10=209,g9=30,g8=8,g7=163,g6=65,g5=41,g4=229,g3=98,g2=50,g1=36,g0=59。

RS(255,239)碼編碼器結構如圖2所示,其工作過程如下:首先,將移位寄存器b0至b16的值設為0,門1打開,門2關閉,m(x)每個時鐘輸入一個字節(jié)到

除法電路,同時在輸出端輸出,作為RS碼的信息位;239個時鐘周期后,m(x)輸出并全部進入除法電路,此時移位寄存器中保留了r(x)的系數,作為RS碼的校驗位,然后關閉門1,打開門2;在第240至第255時鐘周期之間,b0至b16中的值按照時鐘周期依次向右移動,經過16個時鐘周期后,16個校驗符號在239個信息位之后輸出完畢,完成一個RS碼的編碼工作。

圖2 RS編碼器結構

以0~238作為RS碼的輸入,經過RS編碼產生16個校驗位,為58,236,152,44,88,31,20,168,121,60,32,10,191,166,4,101。仿真結果如圖3所示,rs_in為RS編碼器的輸入,rs_out作為RS編碼器輸出端輸出數據。

圖3 RS編碼輸出16位校驗位仿真

2.2 交織器設計與實現

為了糾正實際信道中產生的較長的突發(fā)錯誤和多個突發(fā)錯誤,常采用交織技術。采用交織能夠將連續(xù)多個突發(fā)錯誤分散到RS碼碼字中,使錯誤相互獨立,從而改善RS碼對連續(xù)多個符號錯誤的糾錯能力[2]。

交織器的工作原理:輸入端數據按順序分別進入B條支路延遲器,第一條支路無延遲,第B條支路有(B-1)乘以M個周期數據延遲。交織器的輸出對應各支路經過延遲的數據。卷積交織的每條支路數據的延遲如式(3)所示。

di=(i-1)M×B,(i=1,2,...,B)

(3)

M與B的取值與RS碼的碼長有關,本設計中,取M×B=255,B=15,M=17。即交織深度為15,可抵抗240個符號周期的突發(fā)性差錯。本設計采用FPGA的雙口RAM來實現卷積交織器。其結構如圖4所示。

圖4 交織器結構

(4)

雙口RAM的讀寫地址如上式(4)所示。

交織器的輸入按照0,1,2, …,254順序地址存入雙口RAM,輸出按照地址發(fā)生器計算的讀地址將數據從雙口RAM中讀出。

RS編碼器的輸出rs_out,同時也是交織器的輸入,經過交織器后,數據已被打亂,交織仿真結果如圖5所示。jz_out的讀地址輸出數據為0,16,32,…,193,209。

圖5 交織器仿真結果

2.3 (2,1,7)卷積碼編碼器設計與實現

卷積碼是一種比較常用的前向糾錯編碼,(n,k,m)卷積碼是n位編碼輸出,k位信息輸入,輸出不僅與當前時刻有關,還與之前的(m-1)個分組有關。本設計采用(2,1,7)卷積碼作為級聯(lián)碼的內碼,卷積碼多項式表示如式5。

(5)

卷積碼編碼器結構可以按照式(5)得到,如圖6所示。移位寄存器ui~ui-6存儲的是從當前輸入值到回溯6個時刻輸入值。當下一時刻產生新的輸入時,移位寄存器向右移動1位,對應寄存器中的數據經異或計算后按照x1與x2的順序輸出。

交織器輸出的數據為255個字節(jié),而卷積編碼器則是按位輸入,仿真采用并串轉換方式,并串轉換后作為卷積碼輸入,輸入為ps_out,共2 040個字符,卷積編碼的輸出jj_out,輸出2 046個字符,每字符為2Bits的二進制數據。仿真結果如圖7所示。

圖6 (2,1,7)卷積碼編碼器結構

圖7 卷積編碼仿真結果

3 級聯(lián)編碼譯碼器設計與實現

3.1 (2,1,7)卷積碼譯碼器設計與實現

卷積碼譯碼器為采用8電平量化、回溯深度為40的軟判決卷積碼全并行譯碼的維特比譯碼器[3]。維特比譯碼器整體結構框圖如圖8所示。由5個譯碼功能模塊組成。

圖8 卷積譯碼結構

各模塊功能如下:

1)分支度量模塊:將級聯(lián)編碼器輸出分別計算和“00”、“01”、“10”、“11”的歐式距離,本設計中為軟判決,故輸出各分支度量值位寬為2。

2)加比選模塊:每次狀態(tài)更新時,每個狀態(tài)都可以選擇兩條候選路徑,所以每個狀態(tài)的路徑度量值更新要分別計算兩個分支度量和對應路徑度量之和,在設計中每次狀態(tài)更新總共有128條路徑,從中選擇64條路徑更新相應的路徑度量值[4]。

3)最小路徑度量選擇模塊:從輸入的64個路徑度量值寄存器中查找當中的最小值,并記錄相應的寄存器位置,并輸出到幸存路徑管理存儲模塊。

4)路徑回溯模塊:加比選模塊產生的64個幸存路徑寄存器,在當前時刻,由最小路徑度量值查找模塊得到的路徑度量值最小對應的幸存路徑寄存器值作為路徑回溯模塊的輸出。

5)控制處理模塊:在加比選模塊中的路徑度量值經過不斷累加會產生溢出,控制處理模塊為防止出現這種情況。輸入為64個路徑度量寄存器,輸出為修正后的64個路徑度量寄存器。

維特比譯碼器的輸入為jj_in,2 046個字符的二進制碼流經過維特比譯碼后產生2 040 bit輸出數據jj_out,如圖9所示。

圖9 維特比譯碼器仿真輸出

3.2 解交織器的設計與實現

解交織器是交織器的逆過程,結構和交織器相同,但雙口RAM的讀寫地址與交織器正好相反,如式(6)所示。

將維特比譯碼器的輸出經過串并轉換后作為解交織輸入,仿真結果如圖10所示。

(6)

輸出數據為jz_out,發(fā)送端交織器的輸入數據的255個二進制數經過解交織器后數據被正確還原。

圖10 解交織器仿真輸出

3.3 RS(255,239) 譯碼器設計與實現

RS碼譯碼就是從接收多項式中找出錯誤碼元的位置和錯誤值,減去錯誤圖樣后得到正確碼字[5]。RS譯碼器整體如圖11所示。

圖11 RS譯碼器結構

工作流程為:首先接收多項式r(x)進入伴隨多項式模塊計算伴隨值,構造多項式如式(7)所示(其中t為最大糾正錯誤字節(jié)數,本設計中t=8):

s(x)=s0+s1x+s2x2+…+s(2t-1)x(2t-1)

(7)

解關鍵方程利用BM迭代算法,依據伴隨多項式計算模塊的輸出,迭代計算得出錯誤位置多項式σ(x)與錯誤值多項式ω(x);利用錯誤位置多項式σ(x),Chien搜索模塊找到接收碼字多項式的錯誤位置并在Forney算法模塊中計算圖樣,從而完成對接收碼字多項式的糾錯,輸出正確碼字。

解交織器輸出的數據jz_out送至RS譯碼器進行譯碼,可正確還原出239個信息位和16個校驗位,RS碼譯碼輸出如圖12所示,rs_out為譯碼器輸出。

圖12 RS譯碼器仿真輸出

4 級聯(lián)編碼性能仿真及結果分析

級聯(lián)碼編碼器輸入rs_in的仿真波形,驗證時輸入的是一組從0到238共239個8位二進制數據,為驗證級聯(lián)編碼最大糾錯位數,譯碼器輸入一組為2 046個2位二進制數據,改變前140 bit作為信道傳輸后引起的數據錯誤,譯碼器輸出的仿真波形如圖13所示。

圖13 改變前140 bit后譯碼器輸出

可以看出輸出的數據rs_out和編碼器的輸入一致,錯誤的數據位能夠被糾正。圖14為改變前142 bit后的譯碼器輸出,可以看出輸出的數據rs_out的數據波形和編碼器輸入不一致,即當信道傳輸導致數據錯誤的位數超過140個,級聯(lián)碼不能完全糾正錯誤。

圖14 改變前142 bit后譯碼器輸出

5 結論

由以上仿真結果可以看出,級聯(lián)編碼具有良好的糾錯能力,能夠糾正140 bit的錯誤,在導彈數據鏈系統(tǒng)中對信道編碼采用級聯(lián)編碼的方式可以大大降低誤碼率,提高數據傳輸的可靠性。

猜你喜歡
譯碼級聯(lián)交織
鈾濃縮廠級聯(lián)系統(tǒng)核安全分析
一種5G系統(tǒng)自適應快速SCL極化碼譯碼算法
美食(2022年2期)2022-04-19
多供取料的Q模型級聯(lián)的數學描述
基于擴大候選碼元范圍的非二元LDPC加權迭代硬可靠度譯碼算法
分段CRC 輔助極化碼SCL 比特翻轉譯碼算法
基于校正搜索寬度的極化碼譯碼算法研究
交織冷暖
奧運夢與中國夢交織延展
整體級聯(lián)式增壓空氣冷卻器的進氣模塊