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

?

基于DSP的相關(guān)干涉儀測(cè)向快速實(shí)現(xiàn)方法

2011-06-13 11:58錢志柏
無(wú)線電工程 2011年8期
關(guān)鍵詞:干涉儀頻點(diǎn)余弦

錢志柏,陳 娜

(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081;2.石家莊鐵道大學(xué),河北石家莊050043)

0 引言

相關(guān)干涉儀是一種優(yōu)秀的測(cè)向技術(shù),具有高靈敏度和高抗擾度等特點(diǎn),已經(jīng)被國(guó)際電聯(lián)列為高精度測(cè)向體制。相關(guān)干涉儀測(cè)向首先要得到天線陣元的入射波相位分布,然后將其與事先已存的各方位、各頻率來(lái)波相位分布相比較,由其相似性確定來(lái)波方向。相對(duì)于傳統(tǒng)干涉儀,相關(guān)干涉儀技術(shù)通過(guò)遍歷各個(gè)方向上的相關(guān)度,達(dá)到弱化波陣面畸變對(duì)測(cè)向精度影響的效果。但是,這種“弱化”的代價(jià)就是“遍歷”產(chǎn)生的大運(yùn)算量,由此引起的處理速度問(wèn)題在一定程度上限制了這種測(cè)向技術(shù)的應(yīng)用范圍。

DSP芯片一直在測(cè)向接收機(jī)中扮演著非常重要的核心作用,在價(jià)格、功耗和研發(fā)實(shí)用性上有著相比于其他嵌入式處理器無(wú)法比擬的優(yōu)勢(shì)?;赥MS320C6713芯片實(shí)現(xiàn)了相關(guān)干涉儀測(cè)向算法,使用了先進(jìn)的并行流水編程技術(shù)以及同步接口的DMA技術(shù),極大地提高了測(cè)向處理速度。

1 關(guān)鍵技術(shù)

充分發(fā)揮DSP優(yōu)勢(shì)的關(guān)鍵是高效的程序和快速的接口,以及兩者的并行工作。基于匯編語(yǔ)言的并行流水編程方法是當(dāng)今主流DSP最重要的核心應(yīng)用技術(shù)之一,首次將之用于實(shí)現(xiàn)相關(guān)干涉儀測(cè)向算法。運(yùn)算能力提高后,DSP與外部大容量存儲(chǔ)器的接口速度成為制約整個(gè)系統(tǒng)效率的瓶頸。因此,應(yīng)用了傳輸效率最高的同步接口DMA方式,并進(jìn)行了分析,首次給出了手冊(cè)上沒(méi)有發(fā)布的接口時(shí)序圖。

1.1 基于匯編語(yǔ)言的并行流水編程技術(shù)

并行計(jì)算是目前計(jì)算機(jī)軟件設(shè)計(jì)中的研究熱點(diǎn)之一。它指多個(gè)邏輯處理單元的分工合作,共同完成一個(gè)整體任務(wù)同步和異步執(zhí)行。具體針對(duì)嵌入式處理器開(kāi)發(fā)而言,并行處理是指多條指令的同時(shí)執(zhí)行。TMS320C6000系列DSP具有先進(jìn)的超長(zhǎng)指令字結(jié)構(gòu)(VLIW),在一個(gè)機(jī)器周期內(nèi)可以并行存取和執(zhí)行8條32 bit的指令。流水線是對(duì)中央處理單元(CPU)內(nèi)部指令操作的形象描述,它指一種能夠使多條指令重疊操作的處理機(jī)實(shí)現(xiàn)機(jī)制。在DSP中,為提高硬件的使用率和指令的吞吐量而采用多重硬件流水線。即在一個(gè)指令周期內(nèi),CPU同時(shí)執(zhí)行取指令(F)、指令解碼(D)、指令執(zhí)行(X)、寫回(W)等的循環(huán)操作,形成硬件流水線,如表1所示。軟件流水線的實(shí)現(xiàn)要求數(shù)據(jù)相關(guān)性的去除,通常的辦法是寄存器重命名和動(dòng)態(tài)指令調(diào)度。對(duì)于TMS320C6713而言,有相當(dāng)一部分指令(存儲(chǔ)器操作指令和乘法指令)不能在單機(jī)器周期內(nèi)執(zhí)行完畢,而流水線技術(shù)可以大大提高程序的吞吐率和硬件資源的利用率,相當(dāng)于循環(huán)體內(nèi)的所有指令都能在單周期內(nèi)執(zhí)行完畢。

表1 CPU執(zhí)行流水線處理過(guò)程

但是,并不是任意兩條指令都能夠同時(shí)執(zhí)行。也就是說(shuō),并行性僅存在具體的指令搭配之中。而且欲構(gòu)成軟件流水線的指令內(nèi)部不能有條件跳轉(zhuǎn)指令,同時(shí)流水線內(nèi)部數(shù)據(jù)不能相關(guān)。由于這些原因,C語(yǔ)言實(shí)現(xiàn)的程序,很難被開(kāi)發(fā)環(huán)境配套的編譯器編譯成高效的DSP代碼,從而發(fā)揮全部DSP的潛力。因此,該設(shè)計(jì)使用匯編語(yǔ)言實(shí)現(xiàn)。一般意義上講,匯編語(yǔ)言實(shí)現(xiàn)比高級(jí)語(yǔ)言實(shí)現(xiàn)的程序效率高。主要的原因是高級(jí)語(yǔ)言對(duì)CPU寄存器的管理能力有限。高級(jí)語(yǔ)言定義的變量多存在于存儲(chǔ)器而不是寄存器中,而所有的運(yùn)算最終都發(fā)生在寄存器中。這對(duì)矛盾會(huì)產(chǎn)生兩個(gè)后果:一是對(duì)存儲(chǔ)器的多余訪問(wèn),二是存儲(chǔ)器操作與寄存器運(yùn)算的高度相關(guān)。這兩個(gè)后果直接導(dǎo)致了程序效率的降低。然而實(shí)際應(yīng)用中,對(duì)存儲(chǔ)器的大量訪問(wèn)不可避免。這種情況下,如果僅僅依靠匯編語(yǔ)言實(shí)現(xiàn)對(duì)程序效率的提高,優(yōu)化的空間就很有限。此時(shí),必須使用并行指令以保證硬件資源利用最大化,而流水編程技術(shù)則避免了數(shù)據(jù)相關(guān)引起的程序效率問(wèn)題。

1.2 同步接口DMA技術(shù)

DMA技術(shù)是指內(nèi)核需要進(jìn)行大量數(shù)據(jù)傳輸時(shí),不需要內(nèi)部CPU的介入,使I/O設(shè)備與存儲(chǔ)器或者存儲(chǔ)器之間直接交換信息。內(nèi)部存儲(chǔ)器是嵌入式處理器中最稀缺的硬件資源,通常情況下,待處理的數(shù)據(jù)量往往大于片內(nèi)存儲(chǔ)器容量,所以必須借助DMA在片內(nèi)高速緩存與片外低速存儲(chǔ)器之間進(jìn)行數(shù)據(jù)交換,以提高系統(tǒng)整體性能。而且多數(shù)情況下,數(shù)據(jù)傳輸花費(fèi)的時(shí)間往往超過(guò)數(shù)據(jù)處理的時(shí)間。

對(duì)于TMS320C6713的外部存儲(chǔ)器接口來(lái)講,尤其是同步存儲(chǔ)器接口,DMA方式和隨機(jī)訪問(wèn)(RA)方式有著驚人的速度差別。德州儀器公司(TI)提供的數(shù)據(jù)手冊(cè)對(duì)同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)接口的突發(fā)方式的時(shí)序說(shuō)明很不詳細(xì),通過(guò)chipscope軟件對(duì)SDRAM接口時(shí)序進(jìn)行了抓取,其結(jié)果如圖1所示。從接口時(shí)序圖可以看出,TMS320C6713的SDRAM接口可以工作在4字突發(fā)模式下,雖然4字的突發(fā)傳輸(BURST)需要每次啟動(dòng),即列地址所存(CAS)有效,但各次啟動(dòng)之間并沒(méi)有間隙(latency)。也就是說(shuō),以DMA方式工作的SDRAM接口可以在外部時(shí)鐘的速率上進(jìn)行數(shù)據(jù)傳輸。

圖1 SDRAM接口DMA讀時(shí)序

2 相關(guān)干涉儀測(cè)向的快速實(shí)現(xiàn)

對(duì)于5信道相關(guān)干涉儀測(cè)向系統(tǒng),計(jì)算一個(gè)方向的相關(guān)度至少需要4次減法、4次加法、14次存儲(chǔ)器讀、5次存儲(chǔ)器寫、1次比較以及跳轉(zhuǎn)等操作。而每個(gè)方向的相關(guān)度計(jì)算過(guò)程又是重復(fù)的。傳統(tǒng)的基于PC機(jī)或者嵌入式處理器的實(shí)現(xiàn)方式只能將上述重復(fù)的操作順序執(zhí)行,處理效率低。通常,流水地而不是順序地處理重復(fù)操作會(huì)提高效率。而現(xiàn)今業(yè)界主流的DSP芯片不僅支持流水線處理,而且支持并行操作,這就使得處理效率的提高成為可能。相關(guān)干涉儀測(cè)向算法運(yùn)行過(guò)程中,樣本相位差必須事先就緒。同步存儲(chǔ)器接口的DMA傳輸方式不僅加快了DSP訪問(wèn)外部大容量存儲(chǔ)器的速度,而且不需要CPU的干預(yù),可以和數(shù)值計(jì)算并行工作。

2.1 硬件平臺(tái)

天線接收外界電波信號(hào),經(jīng)信道和中頻采樣后,由FPGA處理后得到5路信號(hào)的4組相位差,緩存后被DSP讀取。DSP得到相位差后進(jìn)行干涉儀相關(guān)運(yùn)算,得到來(lái)波方位角后進(jìn)行輸出。其中TMS320C6713外掛的SDRAM負(fù)責(zé)存儲(chǔ)不同頻率和方向上的相位差樣本。硬件平臺(tái)如圖2所示。

圖2 硬件平臺(tái)框圖

2.2 相關(guān)度計(jì)算的并行流水實(shí)現(xiàn)

該設(shè)計(jì)軟件的內(nèi)核循環(huán)僅包含6個(gè)指令包(Instruction Packet,IP),執(zhí)行了對(duì)一個(gè)方向相關(guān)度計(jì)算的所有27條指令。下面的代碼列出了內(nèi)核循環(huán)前兩個(gè)指令包??梢钥闯?由于應(yīng)用了并行處理技術(shù),DSP在循環(huán)體的前兩個(gè)時(shí)鐘下的每個(gè)時(shí)鐘內(nèi)都同時(shí)執(zhí)行了6條指令。其中,第一個(gè)時(shí)鐘內(nèi)啟動(dòng)兩次條件跳轉(zhuǎn)、讀取4個(gè)樣本相位差以及兩次比較,第二個(gè)時(shí)鐘內(nèi)完成兩次表地址獲取、啟動(dòng)兩次相位差讀取以及兩次余弦值相加。由于存儲(chǔ)器操作需要延時(shí),5個(gè)時(shí)鐘結(jié)果才能出現(xiàn),對(duì)余弦表的讀取和對(duì)其結(jié)果的處理沒(méi)有放在一次迭代中進(jìn)行。而是使用流水處理技術(shù),將之分解在兩次迭代中重疊處理。跳轉(zhuǎn)指令同樣需要延時(shí),6個(gè)時(shí)鐘后程序指針才能到達(dá)指令指定的地址。因此,除第一個(gè)指令包外,內(nèi)核循環(huán)的剩余5個(gè)指令包都是在程序跳轉(zhuǎn)的過(guò)程中流水地執(zhí)行的。綜上所述,流水線技術(shù)保證了運(yùn)算單元及寄存器在指令啟動(dòng)后到結(jié)果出現(xiàn)前沒(méi)有空閑,最大限度地利用了硬件資源,使程序效率到達(dá)了最優(yōu)化。

loop:

[!is_edge]b loop;條件判斷是否繼續(xù)循環(huán)

||[is_edge]b loop_end ;條件判斷是否退出循環(huán)

||ldw*table_a ++[2],v_1_ 0_ a

||ldw*table_b ++[2],v_3_2_b ;并行讀取4個(gè)樣本相位差

||cmpeq cnst_359,cntr,is_edge ;迭代次數(shù)和總數(shù)比較

||cmpgt v_cos_sum,v_ cos_max ,is_large ;相關(guān)度比較

abs sum_1,index_1;得到第2個(gè)余弦表的地址

||abs sum_3,index_3;得到第4個(gè)余弦表的地址

||ldh*cos_a[index_0],v _ cos _0;啟動(dòng)讀取第1個(gè)相位差的余弦值(下次迭代結(jié)果才到位)

||ldh*cos_b[index_ 2],v_cos_ 2;啟動(dòng)讀取第3個(gè)相位差的余弦值(下次迭代結(jié)果才到位)

||add v_cos_0,v_cos_1,v_cos_1;前兩個(gè)相位差的余弦值相加(上一個(gè)方向)

||add v_cos_2,v_cos_3,v_ cos_3;后兩個(gè)相位差的余弦值相加(上一個(gè)方向)

2.3 DMA方式導(dǎo)入樣本相位差

程序得以全速運(yùn)行的前提是運(yùn)算所需的樣本相位差表一直存在于DSP的內(nèi)存中,而TMS320C6713的內(nèi)部存儲(chǔ)器只有256 k字節(jié),不足以容下整個(gè)頻段的樣本相位差。同時(shí)不希望樣本相位差的導(dǎo)入會(huì)影響CPU的運(yùn)算,因此使用乒乓緩存的方式實(shí)現(xiàn)SDRAM中樣本相位差和相關(guān)度運(yùn)算程序的接口。在DSP內(nèi)部存儲(chǔ)器中開(kāi)兩塊緩存,每塊緩存都可以存放1個(gè)頻點(diǎn)的360個(gè)樣本相位差。在開(kāi)始處理其中一塊緩存中數(shù)據(jù)前,以DMA方式啟動(dòng)對(duì)另一塊緩存的數(shù)據(jù)導(dǎo)入,即導(dǎo)入樣本相位差數(shù)據(jù)的同時(shí)也在進(jìn)行采樣相位差和樣本相位差的相關(guān)度運(yùn)算。圖3表征了兩個(gè)進(jìn)程的并行處理以及同步情況。該設(shè)計(jì)中,數(shù)據(jù)傳輸時(shí)間大于數(shù)據(jù)處理時(shí)間。因此,以DMA傳輸?shù)慕Y(jié)束作為兩個(gè)進(jìn)程的同步標(biāo)志。同步并行處理示意圖如圖3所示。

圖3 同步并行處理示意圖

3 處理速度分析

針對(duì)測(cè)向精度要求為1度的應(yīng)用,得到一個(gè)頻點(diǎn)的來(lái)波方向需要處理360次相關(guān)度計(jì)算,而完成一個(gè)方向的相關(guān)度計(jì)算需要27條指令,總計(jì)9 720條指令。從2.2可以得出,DSP僅花費(fèi)6個(gè)時(shí)鐘就可以完成一個(gè)方向的相關(guān)度計(jì)算。如果在360個(gè)方向進(jìn)行遍歷,再考慮程序進(jìn)入循環(huán)前的準(zhǔn)備,得到最終來(lái)波方向時(shí)間開(kāi)銷小于1200個(gè)時(shí)鐘。TMS320C6713的核時(shí)鐘工作在200 MHz,因此對(duì)一個(gè)頻點(diǎn)相關(guān)度的遍歷運(yùn)算僅需要6 μ s。

該設(shè)計(jì)應(yīng)用于頻率跨度為175 MHz的寬帶測(cè)向系統(tǒng),而頻率分辨率為12.5 kHz,則全頻段頻點(diǎn)個(gè)數(shù)為14 000。每個(gè)頻點(diǎn)需要預(yù)存360個(gè)樣本相位差,每個(gè)樣本為4個(gè)16 bit,那么最終消耗的存儲(chǔ)器為40 M字節(jié)。該設(shè)計(jì)采用的SDRAM,存儲(chǔ)深度為64M字節(jié),可以滿足樣本相位差存儲(chǔ)的要求。SDRAM的工作時(shí)鐘是90 MHz,總線寬度為32位,導(dǎo)入360個(gè)方向4個(gè)16 bit寬的樣本相位差需要8 μ s。相關(guān)度計(jì)算所需時(shí)間小于對(duì)樣本相位差導(dǎo)入的時(shí)間,而兩者同時(shí)啟動(dòng),同步運(yùn)行,最終處理時(shí)間決定于較慢步驟。因此需要8 μ s完成一個(gè)頻點(diǎn)的來(lái)波方向測(cè)定。

傳統(tǒng)的基于PC機(jī)或者嵌入式處理器的實(shí)現(xiàn)方式大約需要1 ms才能完成一個(gè)頻點(diǎn)的測(cè)向,該設(shè)計(jì)將處理時(shí)間縮減了兩個(gè)數(shù)量級(jí)。用每秒10 000跳的跳頻信號(hào)源對(duì)該設(shè)計(jì)進(jìn)行驗(yàn)證,結(jié)果如表2所示??梢钥闯?對(duì)駐留期為100 μ s的信號(hào)進(jìn)行了10次測(cè)向,說(shuō)明一次測(cè)向時(shí)間花費(fèi)小于10 μ s。

表2 測(cè)向速度驗(yàn)證結(jié)果

4 結(jié)束語(yǔ)

該設(shè)計(jì)應(yīng)用了先進(jìn)的同步存儲(chǔ)器接口的DMA技術(shù)和并行流水編程技術(shù),最大限度的發(fā)揮了DSP芯片在密集型數(shù)值計(jì)算方面的優(yōu)勢(shì),大大提升了處理效率。其中涉及的關(guān)鍵技術(shù)具有相當(dāng)?shù)耐ㄓ眯?尤其適合應(yīng)用在一些算法具有一定復(fù)雜度,對(duì)實(shí)時(shí)性要求較嚴(yán)格的系統(tǒng)中。

該設(shè)計(jì)已經(jīng)在某寬帶測(cè)向系統(tǒng)中成功應(yīng)用,相比傳統(tǒng)實(shí)現(xiàn)方案,大大提高了系統(tǒng)的測(cè)向反應(yīng)時(shí)間。可以預(yù)計(jì),對(duì)實(shí)時(shí)性要求較高的跳頻測(cè)向系統(tǒng),這種靈活而快速的實(shí)現(xiàn)方案也將有用武之地。

[1]張海燕.五通道相位干涉儀測(cè)向的研究和實(shí)現(xiàn)[D].成都:成都理工大學(xué),2004.

[2]李 淳,廖桂生,李艷斌.改進(jìn)的相關(guān)干涉儀測(cè)向處理方法[J].西安電子科技大學(xué)學(xué)報(bào),2006,33(3):400-403.

[3]賈立哲,魏利輝.相關(guān)干涉儀測(cè)向算法的FPGA設(shè)計(jì)實(shí)現(xiàn)[J].無(wú)線電工程,2006,36(12):40-42.

猜你喜歡
干涉儀頻點(diǎn)余弦
基于改進(jìn)的邁克爾遜干涉儀對(duì)熱變形特性的研究
基于變鄰域粒子群的短波頻率選擇算法
用于原子干涉儀的光學(xué)鎖相環(huán)系統(tǒng)
LTE系統(tǒng)下D2D功能高層協(xié)議探析
非對(duì)稱干涉儀技術(shù)及工程實(shí)現(xiàn)
一種高速跳頻圖案的高效同步方法
基于最優(yōu)模糊的均勻圓陣干涉儀測(cè)向算法
兩個(gè)含余弦函數(shù)的三角母不等式及其推論
實(shí)施正、余弦函數(shù)代換破解一類代數(shù)問(wèn)題
分?jǐn)?shù)階余弦變換的卷積定理