線性調(diào)頻信號(hào)頻域數(shù)字脈沖壓縮
將正交的兩路采樣信號(hào)輸入到放大器。放大器一方面對(duì)信號(hào)放大。另一方面也將放大的信號(hào)以差分方式輸出。信號(hào)以差分方式輸出是為了抑制掉高階諧波分量,濾掉各種干擾信號(hào)(如電源和地的噪聲),這樣有利于提高A/D轉(zhuǎn)換器的性能。系統(tǒng)選用了12位A/D轉(zhuǎn)換芯片AD9220,該芯片具有單端輸入和差分輸入兩種方式,因此,放大器輸出信號(hào)能直接輸入到AD9220進(jìn)行模/數(shù)轉(zhuǎn)換。兩路回波信號(hào)經(jīng)AD9220正交采樣后,再經(jīng)符號(hào)擴(kuò)展成16位存入FIFO。C6701處理器將輸入的32位信號(hào)送到內(nèi)部RAM,按照?qǐng)D2所示的方法進(jìn)行頻域脈壓處理。首先對(duì)輸入信號(hào)進(jìn)行FFT變換,將信號(hào)變換離散的頻域抽樣值。然后將FFT變換 結(jié)果和匹配濾波系數(shù)相乘。設(shè)計(jì)中將匹配濾波器的系數(shù)存放在FLASH ROM中,上電后將此系數(shù)搬移到內(nèi)部高速數(shù)據(jù)RAM,然后才進(jìn)行運(yùn)算。為了獲得-40dB以下的副瓣電平,通常將匹配濾波器的系數(shù)進(jìn)行漢明加權(quán)后存放在ROM中。再后,對(duì)相乘結(jié)果進(jìn)行反傅立葉變換,完成頻域脈壓。量后,將反傅立葉變換結(jié)果進(jìn)行求模運(yùn)算,得出離散的脈壓信號(hào)并將其輸出。由于C6701是浮點(diǎn)處理器,既保證了較高的精度,又不用考慮溢出問(wèn)題,使得有限字長(zhǎng)的影響可以忽略不計(jì)。當(dāng)雷達(dá)發(fā)射周期較長(zhǎng)時(shí),可以將輸入信號(hào)分段進(jìn)行處理,每段單獨(dú)進(jìn)行頻域脈沖壓縮,然后按照重疊保留法將每段壓縮結(jié)果組合成整個(gè)信號(hào)脈壓輸出。
以上脈壓算法可以通過(guò)編程在DSP內(nèi)部實(shí)現(xiàn),這不僅簡(jiǎn)化了電路、減小了體積、提高了系統(tǒng)的可靠性,而且擴(kuò)展了系統(tǒng)的功能,使系統(tǒng)具有較高的靈活性,即在不改變硬件電路的情況下,只需改變系統(tǒng)軟件和外部ROM中的匹配系數(shù),就能完成不同信號(hào)的脈沖壓縮功能。
4 頻域脈沖壓縮系統(tǒng)的軟件設(shè)計(jì)
頻域脈沖壓縮系統(tǒng)的軟件設(shè)計(jì)主要采用TI公司的CCS軟件開(kāi)發(fā)。在CCS下,軟件可分為三個(gè)階段。第一階段,根據(jù)任務(wù)編寫(xiě)C語(yǔ)言程序,并對(duì)程序進(jìn)行優(yōu)化。當(dāng)代碼性能較低時(shí),為改進(jìn)代碼性能進(jìn)入第二階段,第二階段利用優(yōu)化方法重新編寫(xiě)C代碼,并檢查所生成的代碼性能。第三階段,從C語(yǔ)言程序中抽出對(duì)性能影響很大的程序段,使用線性匯編語(yǔ)言重新編寫(xiě),然后使用匯編優(yōu)化器對(duì)線性匯編程序進(jìn)行優(yōu)化,從而得到滿意的代碼性能。根據(jù)以上方法,編寫(xiě)出的脈沖壓縮系統(tǒng)的軟件包括系統(tǒng)初始化子程序、DMA子程序、正傅立葉變換FFT子系統(tǒng)和反傅立葉變換IFFT子程序、復(fù)數(shù)相乘子程序、求模子程序等。其流程如圖4所示。
在執(zhí)行系統(tǒng)初始化程序時(shí),要對(duì)系統(tǒng)的控制狀態(tài)寄存器、外部存儲(chǔ)器接口控制寄存器等進(jìn)行參數(shù)設(shè)置,保證系統(tǒng)按要求正常工作。為提高系統(tǒng)效率,系統(tǒng)通過(guò)DMA通道從外部CE2空間將數(shù)據(jù)讀入片內(nèi)RAM,所以初始化程序必須設(shè)置好外部存儲(chǔ)器CE2空間的控制寄存器。在進(jìn)行FFT變換子程序的設(shè)計(jì)時(shí),因?yàn)榛乃惴ū然惴?,并且頻率抽取算法比時(shí)間抽取算法能更好地發(fā)揮C6701的并行運(yùn)算能力,所以采有基四頻率抽取算法。對(duì)4096點(diǎn)信號(hào)進(jìn)行FFT變換,所需時(shí)間≤400μs。編寫(xiě)的復(fù)數(shù)數(shù)組相乘通用子程序?qū)崿F(xiàn)4096點(diǎn)運(yùn)算所需時(shí)間≤95μs。對(duì)于反變換,可以直接得用前面的FFT算法實(shí)現(xiàn),即先對(duì)輸入頻域序列作共軛變換,然后進(jìn)行FFT運(yùn)算,并對(duì)所得的時(shí)域序列再作共軛變換 ,最后除以FFT變換 數(shù)據(jù)的個(gè)數(shù)。但這樣進(jìn)行反變換所需要的時(shí)間較長(zhǎng),不能實(shí)時(shí)處理。為此按照其四頻率抽取的算法編寫(xiě)了IFFT子程序,此IFFT子程序經(jīng)過(guò)CCS優(yōu)化之后,對(duì)4096點(diǎn)逆變換來(lái)講,需要400μs左右。本程序和FFT子程序配合使用,可以方便地實(shí)現(xiàn)信號(hào)的正傅立葉變換和傅立葉變換,而不需要進(jìn)行位反轉(zhuǎn)操作,不僅節(jié)省了存儲(chǔ)空間,而且加快了運(yùn)算速度。為求復(fù)信號(hào)的模值,可以采用迭代等算法編寫(xiě)求模子程序。
系統(tǒng)初始化程序如下:
system_intr()
{LOAD_REG_FIELD(CSR,0,0,2);
SET_REG(ICR,0xFFF0);
REG_WRITE(EXITERNAL_INTR_POL_ADDR,0);
INTR_MAP_RESET();
SET_REG(ISTP,0);
LOAD_FIELD(EMIF_CE2_CTRL_ADDR,5,READ_SETUP,READ_SETUP_SZ);
LOAD_FIELD(EMIF_CE2_CTRL_ADDR,8,READ_STROBE,READ_STROBE_SZ);
}
圖5是利用CCS提供的數(shù)據(jù)圖形顯示工具進(jìn)行坐標(biāo)變換后的脈壓結(jié)果。此線性調(diào)頻脈沖參數(shù)為:時(shí)寬32μs,帶寬5MHz,采樣頻率為5MHz。
采用先進(jìn)的高速數(shù)字信號(hào)處理器,使得大點(diǎn)數(shù)脈沖壓縮能夠在很短的時(shí)間內(nèi)高質(zhì)量地完成。同時(shí)利用本系統(tǒng),只要改變存儲(chǔ)器的系數(shù),就可以方便地實(shí)現(xiàn)非線性調(diào)頻脈沖壓縮及其它濾波,具有通用性。對(duì)于要求更高速度的系統(tǒng),可采用多片TMS320C6701并行處理。而TMS320C6701所帶的符合IEEE1149.1標(biāo)準(zhǔn)的JTAG口能夠方便地進(jìn)行了多片級(jí)聯(lián)調(diào)試,再加上開(kāi)發(fā)軟件CCS所具有強(qiáng)大的功能,可以大大提高工作效率和縮短產(chǎn)品的開(kāi)發(fā)時(shí)間。
評(píng)論