王力男,王賽宇,陳敬喬
(中國電子科技集團公司第五十四研究所,河北石家莊050081)
在衛(wèi)星通信中,衛(wèi)星信道參數(shù)的變化可以通過終端誤碼形式表現(xiàn)出來。所以通過終端誤碼率監(jiān)測,可以檢測整個系統(tǒng)的通信質(zhì)量,輔助系統(tǒng)故障定位。
對于一些特殊的衛(wèi)星通信系統(tǒng)(如處理轉發(fā)器)或一些衛(wèi)通站型,由于配置簡單(如野外工作的便攜站)或工作環(huán)境特殊(太空環(huán)境),沒有配備或無法配備專用誤碼儀對整個信道進行測試,所以嵌入到通信終端內(nèi)部的誤碼儀是一種便捷的選擇,可以在沒有專用誤碼儀的條件下,方便地對終端進行誤碼測試。由于目前可編程邏輯器件的容量很大,而嵌入式誤碼儀所占用的邏輯單元僅有二、三百個,因此對整個終端的復雜度影響可以忽略。
通常的誤碼儀都是勻速時鐘和數(shù)據(jù),而在突發(fā)傳輸或數(shù)據(jù)中存在報文分組時,通常的誤碼儀不能使用,或者需要作復雜的速率適配,硬件開銷較大。支持突發(fā)傳輸?shù)恼`碼儀能夠簡單方面地解決此問題。
和通用誤碼儀相同,嵌入式誤碼儀主要完成測試序列的發(fā)送、接收、誤碼比對以及誤碼率計算等。嵌入式誤碼儀主要特點是以開放代碼模塊(如VHDL語言)形式存在,預留與調(diào)制單元、解調(diào)單元之間的數(shù)據(jù)、時鐘和控制等接口,使用者可以方便地把代碼綜合在各種不同的調(diào)制解調(diào)設備中。
對于突發(fā)傳輸,可以輸入非勻速的時鐘與數(shù)據(jù);或者收發(fā)時鐘是勻速的,通過時鐘使能來控制數(shù)據(jù)出入。
測試序列發(fā)送單元的主要功能是產(chǎn)生標準測試信元碼。為了使測試結果能夠正確的反映信道傳輸質(zhì)量,要求測試序列必須是具有一定隨機性的序列。這里采用和HP 誤碼儀一致的 215、211、29、26測試序列,并支持16比特長度可編程的測試序列和誤碼插入。
測試序列接收單元的主要功能是產(chǎn)生本地測試序列并且同接收序列進行逐一比特比對,不同表示有誤碼,累加誤碼個數(shù)。
在進行誤碼比對前,首先需要完成本地測試序列同接收序列的同步。由于收、發(fā)采用相同生成多項式的m序列,誤碼儀的收發(fā)同步等效為m序列的相位同步。所以可以根據(jù)m序列相位變化的規(guī)律,通過連續(xù)相位所產(chǎn)生的誤碼率進行同步判斷。具體同步方法為:如果m序列長度為2r-1,截取長度r的接收序列作為本地序列的初相,同時啟動本地序列的生成時鐘,那么本地序列以當前初相為基準開始相位的連續(xù)變化,如果截取的初相中沒有誤碼,說明相位正確,本地序列的相位同接收序列的相位完成同步。如果初相中有誤碼,本地序列的相位不同于接收序列的相位,由于m序列的隨機性,計算出的誤碼率會遠遠高于實際誤碼率,通過門限比較后,進行本地m序列相位的重新截取,再次進行同步判決,直到同步。
通過概率計算和MATLAB仿真可以得到不同誤碼率下誤碼儀的同步時間。假定接收序列的誤碼率為Pe,m序列的長度為2r-1,則正確檢測到m序列的初相的概率為:
假定每次同步判決所需的時間為 t,則平均同步時間為:
利用MATLAB對不同誤碼率條件下平均同步時間進行仿真,仿真條件為:m序列長度為215-1;每次同步判決代價為16個符號(根據(jù)不同的符號速率可以等效為同步時間);仿真次數(shù)1 000。仿真結果如圖1所示。
由圖1可以看出,在誤碼率 1×10-2~1×10-5的變化過程中,同步所需要的平均符號數(shù)在逐步減小,當誤碼率很低時,基本上一次判決就完成同步,即使誤碼率很高時1×10-2,同步時間變化也不是很大,說明本方法具有較可靠的同步特性。
圖1 不同誤碼率下的平均同步時間
在實際通信過程中,由于通信業(yè)務質(zhì)量的要求,衛(wèi)星信道誤碼率一般都保持在1×10-3以上,所以同步時間會很短,同步判決的門限可以設定為5×10-3。
誤碼率是誤碼儀的最后輸出。本地序列同接收序列同步后,開始進行總比特數(shù)和錯誤比特數(shù)的統(tǒng)計。誤碼率為統(tǒng)計時間內(nèi)的錯誤比特數(shù)除以總的比特數(shù)。誤碼率的輸出可以以連續(xù)方式計算,也可以分組計算。分組計算時,為了測出較低的誤碼率,分組長度必須很大,如果符號速率較低,完成一次誤碼率統(tǒng)計的時間會很長(可能超過1小時),應用受到了一定限制,所以該設計的方式采用連續(xù)統(tǒng)計方式。
該設計中,誤碼率計算采用FPGA硬件實現(xiàn),太高精度的計算不僅消耗FPGA的資源,而且還會增加FPGA的布線難度。所以需要根據(jù)實際應用情況,在FPGA資源和計算精度之間進行折中考慮。該設計的誤碼儀測試的最小誤碼率值為1×10-12,完全滿足衛(wèi)星信道的實際使用要求??梢杂嬎愠?為達到這個精度,總的測試樣本數(shù)最少要達到240個碼元。此外,為了能夠連續(xù)測量而不會溢出,在總比特數(shù)和總錯誤比特數(shù)的統(tǒng)計上均做了相應的限制保護,保護措施為:在統(tǒng)計的總比特數(shù)和誤碼個數(shù)不斷累加的同時,對總比特數(shù)進行判斷,如果總的比特數(shù)達到240個碼元時,對總的比特數(shù)和錯誤的比特數(shù)同時除以2,在確保寄存器不溢出的情況下,保證了誤碼率計算準確度的同時,可以進行長時間的連續(xù)測量。
整個硬件結構分成核心模塊和誤碼率計算模塊2個主要模塊。硬件實現(xiàn)框圖如圖2所示。核心模塊主要包括發(fā)送序列生成器、接收端本地序列生成器、同步控制和誤碼檢測等。誤碼率計算模塊主要完成誤碼統(tǒng)計和誤碼率計算。為了節(jié)省資源,在程序中就已經(jīng)優(yōu)化了實現(xiàn)結構,采用了一些類似74系列器件的邏輯實現(xiàn)結構,因為在完成同樣功能時,74系列器件的邏輯結構會使用最少的門電路。為了支持突發(fā)傳輸,所有同步邏輯都必須在時鐘使能信號控制下工作,此時狀態(tài)機的轉移就必須考慮使能信號的影響。計算誤碼率需要一個40位除法器,將會占用大量的FPGA資源。因為更新一次誤碼率的時間為秒級,就能夠滿足實際需求,所以該設計采用減運算實現(xiàn)除運算操作,大大減少了對FPGA資源的需求。
圖2 嵌入式誤碼儀硬件實現(xiàn)框圖
誤碼儀的實現(xiàn)采用了altera公司的cyclone3芯片,通過quartusII編譯后,FPGA的資源占用情況如表1所示。FPGA的邏輯資源只用到了邏輯單元,其它如DSP模塊、RAM 模塊等都未使用,如此以來,若使用其他型號或廠家的FPGA時,該設計不需要做任何修改。核心模塊占用的資源非常少,可以單獨使用,誤碼統(tǒng)計可以用監(jiān)控CPU來完成,或只用核心模塊來大致看看誤碼情況。
表1 嵌入式誤碼儀占用資源情況
該誤碼測試儀已應用到某種衛(wèi)星通信系統(tǒng)中,該系統(tǒng)前向鏈路多址方式為TDM,反向鏈路多址方式為FDMA。在前向鏈路中,該誤碼儀可以對任何時隙的組合進行誤碼測試,從而在不影響其他用戶通信的情況下進行誤碼測試。反向鏈路采用了話音激活,通信時為突發(fā)傳輸,該誤碼儀可以在長時間內(nèi)對這種突發(fā)傳輸進行誤碼統(tǒng)計。該通信系統(tǒng)設計時保證了誤碼率在1×10-3以上,誤碼儀同步時間不超過18個符號。該通信系統(tǒng)為全國覆蓋,采用這種嵌入式誤碼儀,使得大范圍內(nèi)的誤碼測試非常方面。
研究了支持突發(fā)傳輸?shù)那度胧秸`碼儀的使用需求,并給出了設計方法和硬件實現(xiàn)框圖。經(jīng)過實際測試及應用,該設計完全滿足預期需求,尤其在突發(fā)傳輸或時分復用情況下,單路的誤碼測試方便靈活、不影響其他用戶正常工作。該誤碼測試儀已經(jīng)應用到某種手持衛(wèi)星通信終端中。
[1]樊昌信.通信原理[M].北京:國防工業(yè)出版社,2006.
[2]張?zhí)N玉,田 俊.基于FPGA的誤碼測試儀的設計[J].自動化與儀表,2005(6):23-26:
[3]王 登,常 青,梅順良.一種基于FPGA的誤碼性能測試方案[J].電子技術應用,2003,29(5):54-55.
[4]盧艷萍,陶 成.基于FPGA的誤碼測試儀[J].電子產(chǎn)品世界,2004(7):79-86.