眭惠巧,趙一菲,李亮輝,溫子欣
(1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.河北工業(yè)大學 人工智能與數據科學學院,天津 300401;3.天津理工大學 集成電路科學與工程學院,天津 300000)
數字無線通信中,通信信號在通信信道傳輸過程中會受到各種加性噪聲、信道衰落、碼間串擾等影響而造成通信可靠性降低。為克服通信信道環(huán)境引起的通信質量下降,數字通信系統(tǒng)發(fā)送端通常采用信道編碼技術增強發(fā)送信號在信道傳輸時抵御外界干擾的能力,在通信接收端采用相應的解碼技術檢測或糾正錯碼,從而提高通信可靠性[1-2]。
合作通信條件下,收發(fā)雙方根據通信鏈路設計時選定的編碼方式和參數進行編碼和譯碼。通信偵察和非協(xié)作通信中,接收方對通信發(fā)送端采用的信道編碼方式完全未知,為偵聽敵方通信信號中傳輸的信息,需先對通信發(fā)送端采用的信道編碼方式進行識別[3]。
信道編碼根據監(jiān)督元與信息組的關系,分為分組碼和卷積碼兩大類,其中卷積碼由于充分利用了各碼組之間的相關性具有良好的性能應用,且碼長和信息位較小,因此在碼率和設備復雜性相同的條件下,卷積碼的性能均優(yōu)于分組碼,應用越來越廣泛,尤其非系統(tǒng)卷積碼在現代衛(wèi)星通信中具有重要地位,對非系統(tǒng)卷積碼識別具有重要意義。
實際工程應用中,數字通信系統(tǒng)設計通常結合使用幀同步、信道編碼、偽隨機擾亂、交織編碼、CRC校驗等多項技術來實現接收方和發(fā)送方的同步以及提高系統(tǒng)傳輸性能[4]。因此,工程應用中對包括卷積碼在內的信道編碼識別通常結合幀同步、幀長、協(xié)議等分析結果,通過試解碼和CRC校驗來判定,且對有限集合進行試解碼需要大量數據,存在運算量大、效率低等問題?;诶碚摲治鲎R別方法主要有歐幾里德算法[5-6]、Walsh-Hadamard分析法[7]、高斯消元法[8]等,這些方法僅適用于(n,1,m)卷積碼,且運算量大,工程實用性不高。
本文給出了一種基于校驗矩陣的識別方法,對有限集合內非系統(tǒng)卷積碼進行校驗識別,適用于(n,k,m)編碼,運算量小,便于工程實現。
卷積碼構造簡單,性能優(yōu)越,但其數學理論不如循環(huán)碼完整嚴密。卷積碼的編碼器可以看作一個由k0個輸入端和n0個輸出端組成的時序網絡,卷積碼編碼器某時刻的輸出不僅與該時刻輸入編碼器的信息組有關,而且與以前若干時刻輸入編碼器的m組信息有關,通常以編碼約束度m表示相互約束的子碼個數。卷積碼一般用(n0,k0,m)表示。n0為子碼長度,k0為對應一個子碼輸入的信息碼個數。如果在n0位長的子碼中,前k0位是原輸入的信息碼,則稱該卷積碼為系統(tǒng)碼,否則稱為非系統(tǒng)碼[9]。
卷積碼的描述方式有矩陣描述法、多項式描述法和樹圖描述法,其中矩陣描述法更適合于理論的分析。一個卷積碼可以完全由監(jiān)督矩陣H∞或生成矩陣G∞所確定,(n0,k0,m)卷積碼的生成矩陣和監(jiān)督矩陣的一般形式為:
并且二者存在下列關系:
式中,G∞和H∞分別由它們的第一行和第一列決定,記為g∞和h∞,稱為基本生成矩陣和基本校驗矩陣。
基本生成矩陣和基本校驗矩陣也可以用多項式表示:
g(D)=g0+g1D+…+gmDm,
h(D)=h0+h1D+…+hmDm。
在g∞中g0g1…gm為k0×n0階非零矩陣,其余元素均為0矩陣,而在h∞中h0h1…h(huán)m則為(n0-k0)×n0階非零矩陣,其余元素均為0矩陣。矩陣gi和hii∈[0,1,…,m]的每個元素取值為1或0。
由于一個卷積碼的h∞矩陣一旦確定,碼的監(jiān)督矩陣H∞和生成矩陣G∞也就完全確定了,因此h∞是決定碼的很重要的矩陣。
從上述分析可以看出一個卷積碼由參數n0、k0、m和一個長度為(n0-k0)×n0×(m+1)的非零向量h∞決定,向量的每個元素取值為1或0。
假設一個卷積碼編碼器的輸入序列d∞和輸出序列C∞可以分別表示為:
d∞=(d0,d1,d2,…),
C∞=(C0,C1,C2,…),
二者都是半無限序列并且存在下列關系:
C∞=d∞G∞。
因為非系統(tǒng)卷積碼的生成矩陣和校驗矩陣也存在下列關系:
因此容易得到:
H∞由h∞決定,并且h∞中僅有m+1個非零矩陣h0h1…h(huán)m,因此有:
其中,i∈[-∞,+∞]為整數。
假設編碼后的序列C∞經過信道傳輸后在接收端接收到的未進行解碼的序列為:
其中,Ci和ri均為1×n0階矩陣。
當信號在傳輸中未引入錯誤碼時,有C∞=r∞,因此有下列關系成立:
利用該關系可以進行卷積碼的盲識別,乘積為0認為校驗通過,否則為不通過。實際中可取一定量數據進行計算,設定校驗通過率門限,依據大量數據校驗結果與門限的比較確定接收碼序列是否采用該非系統(tǒng)卷積編碼以及采用卷積碼的參數n0、k0、m。
上節(jié)介紹了對非系統(tǒng)卷積碼校驗識別的原理,但在實際中,接收端接收到的碼流是一個貫續(xù)的二進制比特流:
在接收端無法確知哪個比特是碼字ri的開始。
上述運算是在假設n0和h0h1…h(huán)m已知的情況下進行的,但實際上盲識別時n0、k0、m和h0h1…h(huán)m都是未知的,因此增加了識別的難度。
但是實際中n0、k0確定了卷積碼的碼率,常用的編碼碼率有1/2、1/3、1/4、2/3、3/4、7/8幾種,因此n0、k0的可能取值及組合為有限集合。而其中2/3、3/4、7/8的卷積碼由1/2卷積碼刪余得到,且刪余矩陣一般采用標準刪余格式。
m+1是卷積碼的約束長度。由于常用的卷積碼解碼方法有維特比譯碼和序列譯碼等,維特比算法的存儲深度由約束長度決定,當m<10時有較大的吸引力。當約束長度較大時,一般采用其他譯碼方式,但由于受譯碼速度等的約束,m通常也不會太大,而且卷積碼的構造沒有固定的構造方法,基本上用試湊法或計算機搜索求得,因此其取值有基本固定的選擇范圍。如文獻[7]給出了性能適用于Viterbi譯碼的可用非系統(tǒng)卷積碼及基本生成矩陣[2],可用以建立取值集合。
考慮到信號在傳輸過程中可能引入一定的誤碼,識別時可增大需要利用的接收碼流數量,同時根據傳輸質量和對誤碼率預估設定一個校驗通過率門限。當確定了一個碼字的起始比特后,沿碼流以n0為步進依次進行計算,統(tǒng)計計算結果的非零比例與設定的門限比較,當統(tǒng)計結果小于門限時則可以確定卷積碼及其參數。
識別的處理流程如下:
① 建立n0、k0和m的元素集合;
② 建立常用卷積碼的校驗矩陣的先驗數據庫,實際中只須存儲卷積碼的基本校驗矩陣構成的有限向量h0h1…h(huán)m;
③ 取其中一種可能的n0、k0、m和h0h1…h(huán)m;
⑥ 重復步驟④~⑤;
⑦ 計算校驗通過率,并判斷是否大于門限值;
⑧ 如大于門限值則確定接收的編碼方式,且序列的起始比特即是碼字的開始比特;
⑨ 如校驗通過率小于門限值,則滑動窗最初的起始比特沿序列后移1 bit,重復步驟⑤~⑧;
⑩ 如滑動窗最初的起始比特沿序列后移n0后仍未識別出,則重復步驟③~⑩。
為了驗證本文提出方法的可行性與性能,采用隨機二進制信息序列,分別采用表1所列4種編碼方式進行非系統(tǒng)卷積碼編碼,對編碼后數據引入隨機分布誤碼模擬信道傳輸中產生的差錯。編碼后數據引入誤碼取值范圍為0.1%~1%,利用表1所列4種編碼對應的校驗矩陣[10]對存在不同誤碼率的編碼數據進行校驗,分別進行100 000次校驗試驗,試驗結果如圖1所示。
圖1 識別性能仿真結果Fig.1 Recognition performance test results
由圖1可知,隨著誤碼率增加,校驗通過概率會隨之降低。對未刪余的非系統(tǒng)卷積碼,在1%誤碼條件下有90%以上的校驗通過率,對刪余的卷積碼,能在大部分條件下滿足80%以上的校驗通過率,僅7/8卷積碼在高誤碼率時低于80%,因此驗證該算法能夠對各種不同速率的卷積碼完成識別。工程中,根據對不同編碼方式校驗通過率仿真結果設置門限,可以達到在3‰誤碼條件下整體識別正確率優(yōu)于90%的識別性能。
本文分析了卷積碼的校驗矩陣和編碼序列的關系,針對非系統(tǒng)卷積碼,提出了利用常用編碼方式的校驗矩陣對接收解調碼流進行校驗驗證,從而判定非系統(tǒng)卷積碼識別的方法,并用該方法對多種不同速率的卷積碼識別性能進行了仿真試驗,驗證了方法的有效性,給出了該方法的識別性能。該方法運算量小,適于工程中實現和應用。