汪萬(wàn)維,胡鐵喬,夏 冬
(中國(guó)民航大學(xué)天津市智能信號(hào)與圖像處理重點(diǎn)實(shí)驗(yàn)室,天津 300300)
平面陣列是實(shí)際應(yīng)用最廣泛、最有效的天線陣列,相對(duì)于線陣和圓陣來(lái)說(shuō),其相對(duì)面積較小,一次采樣的數(shù)據(jù)量大,受頻率漂移的影響小,數(shù)據(jù)失真小。但由于計(jì)算量大及模型的復(fù)雜等原因,一般來(lái)說(shuō)都用線陣模型來(lái)進(jìn)行研究。隨著大容量高速計(jì)算機(jī)的出現(xiàn),為科學(xué)研究提供了有效的工具,計(jì)算量已經(jīng)不再是主要問題。
自適應(yīng)天線在天線陣列的基礎(chǔ)上,為移動(dòng)通信系統(tǒng)設(shè)計(jì)提供空間信號(hào)處理的自由度,從而可使系統(tǒng)性能得到顯著提高。它利用陣列天線波束的方向性,通過(guò)自適應(yīng)波束控制,使波束對(duì)準(zhǔn)目標(biāo)方向,自動(dòng)跟蹤用戶目標(biāo)的移動(dòng),使零陷對(duì)準(zhǔn)干擾方向,并可自適應(yīng)電磁波環(huán)境的變化,優(yōu)化天線陣列方向圖,從而增強(qiáng)有效信號(hào),抑制同信道干擾和多址干擾,達(dá)到顯著提高信干比,增強(qiáng)通信系統(tǒng)容量的目的。自適應(yīng)天線技術(shù)的核心是自適應(yīng)波束形成算法,考慮目前硬件水平和相關(guān)算法硬件實(shí)現(xiàn)的難易性,本文選用基于訓(xùn)練序列的LMS[1]算法,實(shí)現(xiàn)在需要的通信方向接收信息,同時(shí)在干擾方向形成波束零點(diǎn),實(shí)現(xiàn)抗干擾通信。
系統(tǒng)天線陣列由M×M個(gè)陣元組成,幾何關(guān)系如圖1所示。以陣列左下角的陣元為參考點(diǎn),x、z軸上分別有M個(gè)間距為d的均勻線陣。另假設(shè)信號(hào)入射方位角為φ,俯仰角為θ,其中方位角表示與x軸的夾角,則信號(hào)s(n)入射到第k個(gè)陣元上引起的與參考陣元間的時(shí)延[2](下式中c為光速)為
陣列水平方向?qū)蚴噶繛?/p>
豎直方向?qū)蚴噶繛?/p>
自適應(yīng)陣列結(jié)構(gòu)如圖2所示,設(shè)陣列輸入量為
式中N=M×M,自適應(yīng)加權(quán)系數(shù)為
陣列輸出為
LMS算法基于最小均方誤差準(zhǔn)則,r(n)為期望信號(hào),d(n)為誤差,μ為迭代步長(zhǎng),其迭代公式為
圖2 自適應(yīng)陣列系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure chart of adaptive array
4×4單元面陣接收16路射頻信號(hào)經(jīng)過(guò)下變頻處理后到50MHz中頻,再經(jīng)過(guò)40MHzA/D采樣到10MHz中頻后進(jìn)入搭載Ti公司TMS320C6416 DSP芯片[3]和Xilinx公司XC4VSX55 FPGA芯片[4]的處理板卡,主要編程語(yǔ)言為C和Verilog。信號(hào)處理流程如圖3所示。
為了保證本地載波與發(fā)射頻率一致,在FPGA中采用二階Costas環(huán)對(duì)載波頻率進(jìn)行跟蹤,然后進(jìn)行濾波抽取。DSP中采用FFT變換[5]尋找參考信號(hào)同步頭的起始位置,再通知FPGA中的LMS算法更新權(quán)矢量,該矢量即反映了信號(hào)及干擾的來(lái)向。16路數(shù)據(jù)在權(quán)值作用下合成1路信號(hào),并在FPGA中完成解擴(kuò)后送入DSP,在DSP中完成誤碼率檢測(cè)。為了便于結(jié)果輸出和系統(tǒng)工作狀態(tài)監(jiān)視,將同步頭位置、功率以及誤碼率通過(guò)與DSP相連的串口進(jìn)行輸出。PC機(jī)通過(guò)此串口接收DSP發(fā)送過(guò)來(lái)的數(shù)據(jù),通過(guò)VC編程實(shí)現(xiàn)界面將結(jié)果進(jìn)行實(shí)時(shí)顯示。下面將對(duì)系統(tǒng)實(shí)現(xiàn)關(guān)鍵技術(shù)進(jìn)行詳細(xì)闡述。
圖3 系統(tǒng)信號(hào)處理流程圖Fig.3 Flow chart of signal processing
1)位同步頭檢測(cè)
接收數(shù)據(jù)采用擴(kuò)頻體制結(jié)構(gòu)設(shè)計(jì),用戶數(shù)據(jù)和參考信號(hào)采用不同擴(kuò)頻碼,因此它們之間的互相關(guān)很低。將接收到的數(shù)據(jù)流對(duì)訓(xùn)練序列求相關(guān)得大值所對(duì)應(yīng)的位置即為同步頭位置。由于相關(guān)計(jì)算量太大,硬件采用FFT變換實(shí)現(xiàn)。
為了實(shí)現(xiàn)可靠位同步,用變量Flag來(lái)標(biāo)識(shí)位同步狀態(tài)。Flag為0時(shí)標(biāo)識(shí)搜索狀態(tài),若相關(guān)值max大于門限值TH,表明已搜索到同步頭,則將變量Flag置1,進(jìn)入校核狀態(tài),若連續(xù)5次在相同的位置收到訓(xùn)練序列,則說(shuō)明該同步頭有效,F(xiàn)lag置2,進(jìn)入同步狀態(tài),如圖4所示,同時(shí)通知FPGA調(diào)整位同步進(jìn)行LMS算法更新權(quán)值。
圖4 位同步狀態(tài)轉(zhuǎn)換示意圖Fig.4 Bit synchronous state conversion diagram
2)載波同步
考慮環(huán)路性能和硬件實(shí)現(xiàn)難易性,系統(tǒng)采用二階Costas環(huán)[6]。環(huán)路主要由 NCO(數(shù)控振蕩器)、LPF(低通濾波器)、PD(鑒相器)及環(huán)路濾波器(LF)組成。為了降低噪聲對(duì)環(huán)路系統(tǒng)的影響,降低FPGA芯片的功耗,本文對(duì)環(huán)路數(shù)據(jù)依次進(jìn)行了2倍移位抽取和4倍抽取,其原理結(jié)構(gòu)如圖5所示。
圖5 數(shù)字Costas環(huán)結(jié)構(gòu)圖Fig.5 Structure diagram of digital Costas
本地NCO采用基于查找表的DDS[7](直接數(shù)字頻率合成)設(shè)計(jì)原理,頻率控制字計(jì)算如下
系統(tǒng)參考輸入時(shí)鐘頻率fclk=40 MHz,相位累加器位寬N=32,為了得到10 MHz中頻頻率,控制字Δθ′=1 073 741 824,同時(shí)LF輸出控制字為ΔΦ,NCO輸入控制字為Δθ=Δθ′+ΔΦ。ΔΦ控制NCO的輸出頻率不斷向減小跟蹤誤差的方向調(diào)整,直至跟蹤上10 MHz中心頻率的輸入信號(hào)。
3)LMS算法實(shí)現(xiàn)
FGPA收到DSP傳送的位同步調(diào)整參數(shù)后,實(shí)時(shí)調(diào)整DPRAM讀地址計(jì)數(shù)器以達(dá)到數(shù)據(jù)頭對(duì)齊以便進(jìn)行權(quán)值更新。LMS為遞推算法,若讀取數(shù)據(jù)x(n)的時(shí)鐘選取20 MHz,則完成一次完整迭代估計(jì)需要10個(gè)時(shí)鐘,為了保證在下一個(gè)同步頭到來(lái)之前計(jì)算出權(quán)值w,計(jì)算時(shí)鐘應(yīng)為讀數(shù)據(jù)時(shí)鐘的10倍,即200 MHz。用如此高的頻率來(lái)運(yùn)算,實(shí)現(xiàn)風(fēng)險(xiǎn)較大,而且沒有必要。故將數(shù)據(jù)讀取時(shí)鐘變?yōu)? MHz,而運(yùn)算時(shí)鐘則采用20 MHz,這樣在10個(gè)數(shù)據(jù)塊時(shí)間后即可得到權(quán)值w,滿足系統(tǒng)要求。
4)DSP與FPGA之間數(shù)據(jù)交換
高速 64位寬度的 EMIF-A和 16位寬度的EMIF-B擴(kuò)展存儲(chǔ)器接口,最高吞吐能達(dá)到1064MB/s。多達(dá)64個(gè)獨(dú)立通道的EDMA數(shù)據(jù)傳輸控制器。DSP的EMIF接口通過(guò)64位的數(shù)據(jù)總線與FPGA和SDRAM交換數(shù)據(jù)。系統(tǒng)中FPGA映射在DSP的256M大小的ACE3空間,SDRAM映射在ACE0空間,NOR FLASH映射在BCE1空間。為了提高工作效率,系統(tǒng)采用乒乓方式傳輸y(n)數(shù)據(jù),如圖6所示。FPGA中使用1個(gè)深度為800、32位寬的DPRAM保存y(n)數(shù)據(jù),前一塊(0~399)填充滿后,向 DSP發(fā)出中斷 7,則DSP利用EDMA將該塊數(shù)據(jù)搬移到內(nèi)容緩沖區(qū)ya中,同時(shí)將yb中的數(shù)據(jù)傳輸?shù)骄彌_區(qū)buffer中,準(zhǔn)備進(jìn)行其中的數(shù)據(jù)進(jìn)行圓周相關(guān)。在DSP從FPGA讀取第一塊數(shù)據(jù)的同時(shí),F(xiàn)PGA繼續(xù)向FPGA的第二塊緩沖區(qū)(400~799)寫入數(shù)據(jù),DSP將yb中的數(shù)據(jù)搬移到buffer中(利用DSP_blk_move函數(shù))。
圖6 DSP與FPGA采用乒乓方式交換數(shù)據(jù)示意圖Fig.6 Data exchanging diagram with ping-pong of DSP&FPGA
5)異步串行通信
DSP中利用片上多通道緩沖串行接口(McBSP)和增強(qiáng)型直接存儲(chǔ)器存取(EDMA)實(shí)現(xiàn)異步串行通信。將誤碼率、位同步頭位置、第一路權(quán)值以及合成一路后信號(hào)功率等參數(shù)通過(guò)串口送出,以便PC機(jī)接收顯示。異步串行通信采用起止式格式,起止為擴(kuò)展為0x0000,停止位擴(kuò)展為0xFFFF。中間數(shù)據(jù)位為0時(shí)擴(kuò)展為0x0000,為1時(shí)擴(kuò)展為0xFFFF。待發(fā)送數(shù)據(jù)幀格式為:3 字節(jié)同步頭(0xE1,0x5A,0xE8),2 字節(jié)誤碼率,2字節(jié)合成功率,4字節(jié)第一路權(quán)值實(shí)部和虛部,2字節(jié)同步狀態(tài),共13字節(jié)大小,串口傳輸速率為115.2 kbps。McBSP相關(guān)寄存器的設(shè)置值如表1所示。
表1 McBSP相關(guān)寄存器的設(shè)置值Tab.1 Register settings of McBSP
1)位同步頭檢測(cè)測(cè)試
參考信號(hào)與數(shù)據(jù)采用不同的擴(kuò)頻序列,因此它們之間的互相關(guān)很低,對(duì)收到的數(shù)據(jù)流對(duì)參考求相關(guān)求得最大值如圖7所示:每60個(gè)點(diǎn)一個(gè)峰值,每個(gè)峰值對(duì)應(yīng)一個(gè)參考信號(hào)。
2)載波同步測(cè)試
二階Costas環(huán)路鎖定時(shí),藍(lán)線所表示的同向支路幅度遠(yuǎn)大于紅線所表示的正交支路幅度,如圖8所示。
3)系統(tǒng)性能測(cè)試
系統(tǒng)從波束跟蹤、抗干擾、誤碼率等三個(gè)方面驗(yàn)證其性能。測(cè)試環(huán)境為裝有吸波材料的暗室,發(fā)射信號(hào)天線和接收信號(hào)天線正對(duì),距離為7.2 m。干擾為單載波干擾,信干比SIR=-10 dB,與信號(hào)夾角為30°。由于實(shí)驗(yàn)條件有限,目前只考慮水平方向干擾抑制情況。
跟蹤測(cè)試時(shí),算法實(shí)時(shí)更新,接收天線置于轉(zhuǎn)臺(tái)上,以約1°/s的速度從-90°轉(zhuǎn)至90°。實(shí)時(shí)記錄誤碼率以及系統(tǒng)進(jìn)行算法更新后合成1路信號(hào)功率。
由圖9可以看出,信號(hào)來(lái)向發(fā)生變化時(shí),系統(tǒng)輸出功率恒定,表明系統(tǒng)實(shí)時(shí)跟蹤上發(fā)射信號(hào)。同時(shí)系統(tǒng)誤碼率為零,如圖10所示。
系統(tǒng)抗干擾性能測(cè)試時(shí),發(fā)射信號(hào)和干擾,接收天線正對(duì)發(fā)射信號(hào),系統(tǒng)權(quán)值實(shí)時(shí)更新,通過(guò)修改DSP中參數(shù)設(shè)置,使得在某一時(shí)刻系統(tǒng)停止權(quán)值更新,保留最后時(shí)刻權(quán)值,同時(shí)去掉干擾。接收天線在轉(zhuǎn)臺(tái)上以約 1°/s速度從-90°轉(zhuǎn)至 90°,觀測(cè)系統(tǒng)輸出功率。
由于實(shí)測(cè)過(guò)程中,轉(zhuǎn)臺(tái)轉(zhuǎn)速存在一定誤差,故圖中橫坐標(biāo)會(huì)與實(shí)際信號(hào)和干擾所對(duì)應(yīng)的角度會(huì)有一定的誤差。在0°左右方向形成主波束,在-30°左右形成零陷,系統(tǒng)達(dá)到設(shè)計(jì)要求。
系統(tǒng)為一套完整接收系統(tǒng),中頻信號(hào)經(jīng)過(guò)數(shù)字下變頻后變?yōu)榱阒蓄l信號(hào),為了實(shí)現(xiàn)可靠位同步,采用FFT變換尋找位同步頭。根據(jù)算法及FPGA特點(diǎn),通過(guò)合理選擇信號(hào)處理時(shí)鐘來(lái)使系統(tǒng)達(dá)到最優(yōu)處理性能。根據(jù)LMS算法特點(diǎn)及其硬件實(shí)現(xiàn)難度,系統(tǒng)采用目前流行的DSP&FPGA架構(gòu)平臺(tái),既滿足系統(tǒng)對(duì)實(shí)時(shí)性的要求,又能實(shí)現(xiàn)零誤碼率通信。
[1]龔耀寰.自適應(yīng)濾波——時(shí)域自適應(yīng)濾波和智能天線[M].北京:電子工業(yè)出版社,2003.
[2] 王永良,陳 輝,彭應(yīng)寧,等.空間譜估計(jì)理論與算法[M].北京:清華大學(xué)出版社,2004.
[3] 卞紅雨,紀(jì)祥春,喬 鋼,等.TMS320C6000系列DSP的CPU與外設(shè)[M].北京:清華大學(xué)出版社,2007.
[4] 薛小剛,葛毅敏.Xilinx ISE 9.X FPGA/CPLD設(shè)計(jì)指南[M].北京:人民郵電出版社,2007.
[5] 鄭君里,應(yīng) 啟,楊為理.信號(hào)與系統(tǒng)[M].北京:高等教育出版社,2003.
[6] 張安安,杜 勇,韓方景.全數(shù)字Costas環(huán)在FPGA上的設(shè)計(jì)與實(shí)現(xiàn)[J].電子工程師,2006(32):18-20.
[7]Xilinx技術(shù)手冊(cè)[G].2005.