張雨輪 徐 瑋
(西安電子工程研究所 西安 710100)
多核DSP基于循環(huán)緩沖結(jié)構(gòu)的SAR方位預(yù)濾波設(shè)計(jì)與實(shí)現(xiàn)
張雨輪 徐 瑋
(西安電子工程研究所 西安 710100)
本文介紹了某輕小型雷達(dá)系統(tǒng)中,基于多核DSP實(shí)現(xiàn)SAR方位向預(yù)濾波。借助C6678強(qiáng)大的浮點(diǎn)運(yùn)算性能和自帶的SYSBIOS多核實(shí)時(shí)操作系統(tǒng),能夠在保證雷達(dá)系統(tǒng)控制精度的前提下,完成基于循環(huán)緩沖結(jié)構(gòu)的SAR方位向預(yù)濾波。該方法兼具靈活性和大運(yùn)算量下的實(shí)時(shí)性要求,試驗(yàn)測(cè)試結(jié)果表明了該方法是正確而有效的。
SAR方位預(yù)濾波;多核DSP;循環(huán)緩沖;
機(jī)載SAR實(shí)時(shí)成像雷達(dá)由于不受天氣和晝夜等因素的影響,能夠?qū)Φ孛鎴?chǎng)景進(jìn)行較高分辨率成像,是一種重要的戰(zhàn)場(chǎng)監(jiān)視和偵察手段。與一般的測(cè)距雷達(dá)不同,SAR成像雷達(dá)需要對(duì)回波的方位向進(jìn)行壓縮處理以得到方位向的高分辨[1]。而在進(jìn)行方位向壓縮以前,需要進(jìn)行方位向預(yù)濾波處理。這是因?yàn)榛夭ǖ腜RF一般比回波的多普勒帶寬大幾倍需要進(jìn)行抽取,而通過(guò)預(yù)濾波的低通濾波處理可以提高信號(hào)信噪比;通過(guò)預(yù)濾波處理還可以降低數(shù)據(jù)率和數(shù)字信號(hào)帶寬。
本文提出了一種基于循環(huán)緩沖結(jié)構(gòu)的SAR方位預(yù)濾波方法。不同于已經(jīng)成熟的基于FPGA的方位預(yù)濾波[2],或者是DSP基于信號(hào)流觸發(fā)的方位預(yù)濾波方法,本文方法能夠作為一個(gè)模塊嵌入到雷達(dá)中心控制單元實(shí)時(shí)操作系統(tǒng)中,在保證兩種性能的同時(shí)又不失靈活性,能夠降低整個(gè)系統(tǒng)功耗和板卡數(shù)量。
方位向預(yù)濾波從本質(zhì)上看就是對(duì)每條距離向數(shù)據(jù)與低通濾波器進(jìn)行時(shí)域卷積,然后對(duì)濾波輸出進(jìn)行重采樣。因此,預(yù)濾波運(yùn)算的關(guān)鍵點(diǎn)有二,一個(gè)是FIR低通濾波器設(shè)計(jì),一個(gè)就是采用該濾波器對(duì)數(shù)據(jù)進(jìn)行乘累加運(yùn)算并抽取,并盡可能降低系統(tǒng)時(shí)間和資源開(kāi)銷。
FIR濾波器的數(shù)學(xué)表達(dá)式為:
(1)
其中N為濾波器階數(shù),h(i)為第i階FIR系數(shù),x(i) 為第i個(gè)輸入數(shù)據(jù),因此對(duì)于某一條方位向輸出即為輸入數(shù)據(jù)與對(duì)應(yīng)的FIR系數(shù)相乘之后的累加結(jié)果。濾波器輸出間隔為該級(jí)濾波器抽取率,它決定了乘累加運(yùn)算的輸入數(shù)據(jù)步進(jìn)起始間隔[3]。
FIR低通濾波器能夠?yàn)V除通頻帶以外的無(wú)用信號(hào),但由于回波信號(hào)的fdc常常不為0,因此需要準(zhǔn)確估算fdc以使有用信號(hào)盡可能多的通過(guò)FIR低通濾波器。
本文采用慣導(dǎo)法進(jìn)行fdc估計(jì)。
信號(hào)PRF:2000Hz
距離像點(diǎn)數(shù):16384(I路16bit,Q路16bit)
最大抽取率:8
濾波器階數(shù):大于108階;
濾波器輸入緩沖最大存儲(chǔ)容量:2G。
可以看出,片內(nèi)存儲(chǔ)資源不是限制系統(tǒng)性能的瓶頸。系統(tǒng)設(shè)計(jì)采用多級(jí)預(yù)濾波級(jí)聯(lián)的方式,濾波器分為三級(jí),其中第一、二級(jí)為半帶濾波(分別為6階,18階)以利于工程實(shí)現(xiàn),分別濾波至1000Hz抽2,濾波至500Hz抽2處理;最后一級(jí)濾波擬采用階數(shù)較高的低通濾波,根據(jù)成像模式的不同決定是否抽取。
常規(guī)的SAR方位預(yù)濾波采用標(biāo)準(zhǔn)的“輸入輸出”模型,即將單級(jí)或多級(jí)預(yù)濾波系數(shù)存儲(chǔ)在寄存器上,當(dāng)有新的prf數(shù)據(jù)到來(lái)以后進(jìn)行存儲(chǔ),只要當(dāng)前的prf計(jì)數(shù)滿足抽取率要求,立即進(jìn)行卷積運(yùn)算并將運(yùn)算結(jié)果輸出[4]。需要頻繁響應(yīng)系統(tǒng)中斷。
系統(tǒng)采用基于C6678的8核DSP,中心控制單元運(yùn)行于SYSBIOS實(shí)時(shí)操作系統(tǒng)中。SYSBIOS提供了多任務(wù),信號(hào)量和豐富的內(nèi)存管理機(jī)制,具有強(qiáng)大的浮點(diǎn)運(yùn)算性能。本文方法是將預(yù)濾波作為一個(gè)模塊,在保證雷達(dá)中心機(jī)嚴(yán)格實(shí)時(shí)性的前提下,完成SAR方位預(yù)濾波處理。
本文方位預(yù)濾波器對(duì)參與預(yù)濾波的所有距離向數(shù)據(jù)采用輸入緩沖區(qū)、輸出緩沖區(qū)存儲(chǔ),乘累加尋址方式。使用時(shí),首先分配內(nèi)存,并進(jìn)行緩沖區(qū)參數(shù)初始化。在heap中分配桶形濾波器緩沖區(qū)存儲(chǔ)空間。定義結(jié)構(gòu)體:定義輸出方位向個(gè)數(shù),輸出基地址,以及輸出的讀指針,寫指針,濾波器級(jí)數(shù);同時(shí)定義輸入方位向個(gè)數(shù),輸入基地址,以及輸入的讀指針,寫指針。濾波器系數(shù)指針,濾波器級(jí)數(shù),降采樣率等。
為了保持預(yù)濾波操作的連續(xù)性,輸入緩沖區(qū)、輸出緩沖區(qū)采用首尾相接的,類似 “桶形”設(shè)計(jì),以保證乒乓操作時(shí)預(yù)濾波取數(shù)的連續(xù)性。
初始化輸入讀、寫指針,輸出讀寫指針為0。在核0的中斷服務(wù)程序中,已經(jīng)將當(dāng)前prf數(shù)據(jù)(連同幀頭)存儲(chǔ)在桶形緩沖區(qū)中,并加1為下一次寫地址做準(zhǔn)備。當(dāng)寫prf個(gè)數(shù)大于某個(gè)閾值(如1024)時(shí),啟動(dòng)基于msg的IPC中斷,通知核1~核7進(jìn)行預(yù)濾波運(yùn)算,運(yùn)算結(jié)束后修改讀指針為下一次預(yù)濾波塊處理做準(zhǔn)備。
核間IPC的資源配置時(shí)通過(guò)SYSBIOS的cfg文件實(shí)現(xiàn)的,而IPC的初始化通過(guò)在主核的ipc_start()函數(shù)來(lái)實(shí)現(xiàn)[5]。多核間IPC通信實(shí)現(xiàn)預(yù)濾波消息傳遞的流程如下所述:
(1)由核0收集數(shù)據(jù)。
(2)調(diào)用messageQ_open,發(fā)起一次分布式處理消息,通過(guò)messageQ_put()通知核1~7進(jìn)行處理。
(3)從核messageQ_get()處理,處理完成通過(guò)messageQ應(yīng)答主核。
(4)主核收到應(yīng)答后,標(biāo)志當(dāng)前塊預(yù)濾波已經(jīng)處理完畢,繼續(xù)查詢乓緩沖區(qū)是否到達(dá)處理閾值,準(zhǔn)備下一塊預(yù)濾波處理。
FIR濾波器采用級(jí)聯(lián)設(shè)計(jì)。核0是主控核,通過(guò)EDMA,SRIO完成數(shù)據(jù)輸入和輸出;核1~核7為從核,分距離段對(duì)回波進(jìn)行預(yù)濾波處理。
程序具體流程如下:
1)輸入緩沖區(qū),輸出緩沖區(qū)空間申請(qǐng),讀寫指針初始化。
2)核0收到數(shù)據(jù)中斷后,進(jìn)行fdc估計(jì)并將數(shù)據(jù)和幀頭通過(guò)EDMA發(fā)送到MSMC,調(diào)用內(nèi)聯(lián)函數(shù)進(jìn)行多普勒中心校正和定點(diǎn)轉(zhuǎn)浮點(diǎn)運(yùn)算,結(jié)果直接保存在in_wr指向的地址單元。in_wr加1.
3)核0判斷prf個(gè)數(shù)是否滿足方位向處理閾值,如果是,更新除第一級(jí)外各級(jí)濾波器in_wr指針,并釋放信號(hào)量通知另一個(gè)task直接啟動(dòng)IPC分布式核間消息機(jī)制。
4)從核收到IPC消息,開(kāi)始進(jìn)行預(yù)濾波處理。由于預(yù)濾波級(jí)數(shù),各級(jí)濾波器階數(shù),輸入數(shù)據(jù)塊和濾波器系數(shù)已有,從核只需要按照距離向分段處理即可。
以其中一級(jí)濾波操作為例,循環(huán)次數(shù)為當(dāng)前塊輸入方位向個(gè)數(shù),步進(jìn)為該級(jí)抽取率。循環(huán)內(nèi)進(jìn)行預(yù)濾波卷積運(yùn)算,重點(diǎn)是數(shù)據(jù)地址取值。
a)若濾波器末級(jí),計(jì)算out_wr基地址;若不是濾波器末級(jí),計(jì)算az_fir[cnt+1]基地址;
b)計(jì)算卷積運(yùn)算輸入數(shù)據(jù)基地址,為了卷積運(yùn)算方便,將數(shù)據(jù)地址指針隨濾波器階數(shù)計(jì)數(shù)降序排列;
c)當(dāng)前濾波器系數(shù)賦值;
d)進(jìn)行一次點(diǎn)乘運(yùn)算;
e)根據(jù)濾波器對(duì)稱性,進(jìn)行剩余(coeff_num-1)/2次乘累加運(yùn)算。
可以看出,步驟d,e耗時(shí)較多,類似的這兩步運(yùn)算同樣調(diào)用內(nèi)聯(lián)函數(shù)以提高效率。內(nèi)聯(lián)函數(shù)文件進(jìn)行優(yōu)化。
5)從核完成運(yùn)算通過(guò)MessageQ通知核0,核0立即更新各級(jí)濾波器的in_rd指針,更新末級(jí)輸出的out_wr指針,更新末級(jí)輸出的out_rd指針,為下一次乒乓做準(zhǔn)備。以out_rd指針為塊的基地址,核0通過(guò)SRIO將方位預(yù)濾波結(jié)果發(fā)送至信號(hào)處理板。
需要說(shuō)明的是,輸入緩沖區(qū),輸出緩沖區(qū)雖然在物理內(nèi)存上是線性的,但在程序設(shè)計(jì)上是桶形的,并且是乒乓的。這樣,桶形的一塊緩沖區(qū)進(jìn)行預(yù)濾波運(yùn)算,而另一塊緩沖區(qū)進(jìn)行數(shù)據(jù)傳輸和積累,而讀寫指針的判斷和賦值過(guò)程,確保了這種結(jié)構(gòu)的穩(wěn)健性。
采用某次0.5m分辨率Ka波段SAR原始數(shù)據(jù)。PRT=500us。程序中,開(kāi)辟輸入緩沖區(qū)乒乓各為1024條距離向數(shù)據(jù),系統(tǒng)每收到1024個(gè)prt中斷開(kāi)啟一次預(yù)濾波IPC中斷處理,同時(shí)另一塊繼續(xù)進(jìn)行數(shù)據(jù)緩沖和積累。經(jīng)過(guò)預(yù)濾波送至實(shí)時(shí)SAR處理單元最終得到的SAR成像結(jié)果如下圖所示:
數(shù)據(jù)距離向16384點(diǎn),第一級(jí)濾波器為6階抽2,第二級(jí)濾波器為18階抽2,末級(jí)濾波器30階抽2。試驗(yàn)測(cè)試表明,輸入1024點(diǎn)抽8處理的運(yùn)算時(shí)間約為245ms,而PRT=500us情況下要求能夠在512ms內(nèi)完成。因此這種方法能夠保證系統(tǒng)實(shí)時(shí)性要求。
結(jié)論:以上關(guān)于多核DSP循環(huán)緩沖結(jié)構(gòu)的SAR方位預(yù)濾波設(shè)計(jì)和試驗(yàn)結(jié)果表明,該方法能夠在雷達(dá)中心控制單元實(shí)時(shí)操作系統(tǒng)中實(shí)現(xiàn),并具有很大的靈活性和程序可移植性。將預(yù)濾波過(guò)程從信號(hào)處理機(jī)中剝離開(kāi)來(lái),能夠?yàn)槌上裉幚韱卧?jié)省更多的時(shí)間和存儲(chǔ)資源,具有較大的工程價(jià)值。
[1] 保錚,刑孟道,王彤.雷達(dá)成像技術(shù)[M].北京:電子工業(yè)出版社,2014.
[2] 孔祥輝,張曉東,李濤,李剛飛,張雨輪.任意抽取率的SAR 方位預(yù)濾波器的設(shè)計(jì)與實(shí)現(xiàn)[C].第十三屆全國(guó)雷達(dá)學(xué)術(shù)年會(huì),2014.
[3] 張開(kāi)生,汪慧.基于TMS320C6678的SAR方位向預(yù)濾波器的并行實(shí)現(xiàn)[J].火控雷達(dá)技術(shù),2015,45(2):35-38.
[4] 陳佳瑩,禹衛(wèi)東.基于TMS320C6415實(shí)現(xiàn)機(jī)載SAR方位向預(yù)濾波處理[J].微計(jì)算機(jī)信息,2006,22:58-60
[5] Texas Instruments.Bios_User_Guide[R].SPRUEX3L,2012.
DesignandImplementationofMulti-coreDSPofSARAzimuthPre-FilteringBasedonLoop-BufferStructure
Zhang Yulun, Xu WeiB
(Xi’an Electronic Engineering Research Institute, Xi’an 710100)
SAR azimuth pre-filtering based on multi-core DSP in a mini-SAR system is introduced. SAR azimuth pre-filtering based on loop-buffer structure can be accomplished with the aid of high float operation performance of C6678’s and SYSBIOS multi-core real-time operation system, meanwhile high control precision of radar system can be maintained. This method possesses high flexibility and real-time performance at high operation load. Test results show that this method is correct and effective.
SAR azimuth pre-filtering; multi-core DSP; loop-buffer
2017-05-08
張雨輪(1987-),男,碩士研究生。研究方向?yàn)槔走_(dá)總體技術(shù)。
TN95
A
1008-8652(2017)03-039-04