基于DSP和FPGA的多波形雷達(dá)回波中頻模擬器實(shí)現(xiàn)
3.1 數(shù)字延時(shí)模塊
對(duì)于脈沖的數(shù)字延遲的實(shí)現(xiàn),方法1是將DSP計(jì)算得到的延時(shí)時(shí)鐘個(gè)數(shù)值D,轉(zhuǎn)換為N位的二進(jìn)制碼,利用二進(jìn)制碼進(jìn)行控制??刹捎萌鐖D2基于寄存器的方法實(shí)現(xiàn),這種方法優(yōu)點(diǎn)是沒有固定延遲,最小可實(shí)現(xiàn)零延遲。但當(dāng)N增大時(shí),此法耗費(fèi)的FPGA觸發(fā)器資源呈幾何級(jí)數(shù)增加,因此,不適用于需要實(shí)現(xiàn)很大延時(shí)的場(chǎng)合。
方法2是采用如圖3所示的存儲(chǔ)轉(zhuǎn)發(fā)的方式,具體是:將輸入的待延時(shí)脈沖,用延時(shí)時(shí)鐘采樣后,以左端口地址A在每個(gè)延時(shí)時(shí)鐘周期遞增加1寫入單bit的雙口RAM中,右端口以地址B在每個(gè)延時(shí)時(shí)鐘周期遞增加1進(jìn)行按序讀取,左右端口操作到(2N+1-1)的上限地址后自動(dòng)返回0地址繼續(xù)各自遞增操作。地址A和地址B滿足:B=A—D。D為需要的延時(shí)時(shí)鐘個(gè)數(shù)值。當(dāng)A
方法2避免了大延時(shí)情況下觸發(fā)器資源過度耗費(fèi),但存在固定延時(shí),另當(dāng)延時(shí)時(shí)鐘頻率很高時(shí),雙口RAM的讀寫速度難以滿足要求。因此,本系統(tǒng)在實(shí)踐中對(duì)方法2進(jìn)行了改進(jìn)設(shè)計(jì),如圖4所示。
本設(shè)計(jì)將待延時(shí)的脈沖經(jīng)延時(shí)時(shí)鐘采樣后,經(jīng)串并轉(zhuǎn)換形成16 b的數(shù)據(jù),每16個(gè)延時(shí)時(shí)鐘完成一次串/并轉(zhuǎn)換,并輸出一個(gè)16 b寬度的雙口RAM的左端口寫時(shí)鐘,地址A仍按序累加。將地址A末位補(bǔ)上四個(gè)“1”構(gòu)成寬地址x;x—D=Y(補(bǔ)碼形式);式中:D為DSP計(jì)算的延時(shí)時(shí)鐘個(gè)數(shù)值。將Y(二進(jìn)制)的低四位提取出來作為碼值C;其余高位構(gòu)成圖中雙端口RAM的右端口讀地址。其讀時(shí)鐘由圖右的并/串轉(zhuǎn)換單元每16個(gè)延時(shí)時(shí)鐘周期輸出一個(gè)脈沖;并/串轉(zhuǎn)換單元將讀出的16位數(shù)據(jù)轉(zhuǎn)換恢復(fù)為脈沖,經(jīng)過如圖1寄存器方式實(shí)現(xiàn)的4位寄存器延時(shí)環(huán)節(jié)(控制碼為碼值C)延時(shí)后,輸出延時(shí)后的脈沖。
該方法將雙口的讀寫時(shí)鐘降速到延時(shí)時(shí)鐘的16分頻,大大降低了雙口RAM的速度壓力,更易于實(shí)現(xiàn)。另16 b的雙口RAM也可借助片外雙口RAM實(shí)現(xiàn),降低對(duì)FPGA存儲(chǔ)資源的依賴。該方法的缺點(diǎn)是有更大的固定延遲,雖在延時(shí)大時(shí)可預(yù)先由DSP修正控制值,但對(duì)要求延時(shí)小于其固定延時(shí)的情況則無法適用。本系統(tǒng)綜合采用兩種方法解決,即:DSP輸出碼值的最高位決定延時(shí)方法的切換,當(dāng)需求的延時(shí)大于固定延時(shí)時(shí)則采用圖4的方法;而需求的延時(shí)小于固定延時(shí)時(shí)采用圖2的寄存器法。
3.2 數(shù)字噪聲基帶產(chǎn)生模塊
本系統(tǒng)噪聲基帶信號(hào)的產(chǎn)生采用數(shù)字技術(shù),在FPGA內(nèi)完成,實(shí)現(xiàn)方法如圖5所示。
根據(jù)隨機(jī)信號(hào)理論,對(duì)均勻分布的隨機(jī)數(shù)進(jìn)行白化處理,可實(shí)現(xiàn)具有良好統(tǒng)計(jì)特性的高斯白噪聲。系統(tǒng)首先采用2個(gè)獨(dú)立的m序列發(fā)生器產(chǎn)生[0,1]區(qū)間上均勻分布的偽隨機(jī)數(shù),m序列發(fā)生器的硬件結(jié)構(gòu)如圖6所示,其中Co和Cn為對(duì)應(yīng)m序列多項(xiàng)式的系數(shù),取值為0和1。
然后將產(chǎn)生的一對(duì)偽隨機(jī)數(shù)通過Box_Muller變換可以得到一對(duì)相互獨(dú)立的符合標(biāo)準(zhǔn)正態(tài)分布的偽隨機(jī)數(shù)m和n,正好作為噪聲產(chǎn)生器的同相分量和正交分量。Box_Muller變換公式為:
式中:x,y即為前述2個(gè)互相獨(dú)立的在(0,1)上均勻分布的偽隨機(jī)數(shù)。
由于Box_Muller變換需要用到兩個(gè)非線性函數(shù),而非線性運(yùn)算很難在實(shí)際數(shù)字電路系統(tǒng)中實(shí)現(xiàn),故實(shí)際中需要構(gòu)建相應(yīng)查找表實(shí)現(xiàn)非線性運(yùn)算,分別記作sqrt_lut和sincos_lut。設(shè)sqrt_lut和sincos_Iut的輸出量化數(shù)據(jù)長(zhǎng)度為L(zhǎng)1和L2位,獨(dú)立變量m和n的定點(diǎn)長(zhǎng)度分別為N1和N2位。則當(dāng)采用均勻量化方案時(shí),sqrt_lut和sincos_lut所需的存儲(chǔ)空間分別為2N1×L1和2N2×L2??梢钥闯觯绻苯訉?shí)現(xiàn)查找表功能,當(dāng)N1和N2較大時(shí),對(duì)應(yīng)的存儲(chǔ)空間是相當(dāng)可觀的。
為了壓縮存儲(chǔ)空間,對(duì)sincos_lut,可以只存儲(chǔ)第一象限的正余弦值。其他象限則通過符號(hào)調(diào)整得到,這樣可以將sincos_lut占用存儲(chǔ)空間減少到原來的1/4。更進(jìn)一步,還可以對(duì)非線性曲線進(jìn)行分段折線近似,在實(shí)際查找表中只存儲(chǔ)各折線段的起始位置及對(duì)應(yīng)斜率。也可以大幅度減少所需查找表的數(shù)量,該策略同樣適用于sqrt_lut查找表。
得到一對(duì)相互獨(dú)立的符合標(biāo)準(zhǔn)正態(tài)分布變量m和n后,還要對(duì)其進(jìn)行低通濾波,以適應(yīng)對(duì)應(yīng)的信號(hào)帶寬。由于I路與Q路的濾波特性完全相同,為進(jìn)一步節(jié)省資源,可采用一個(gè)支持雙通道操作的濾波器同時(shí)完成I路與Q路的濾波。這可以通過ISE集成開發(fā)環(huán)境中Core Generator中的FIR IP核來方便實(shí)現(xiàn)。濾波器系統(tǒng)可由上位機(jī)根據(jù)所需帶寬,傳遞相應(yīng)系數(shù)給DSP,繼而傳遞給FPGA。
噪聲功率調(diào)整模塊可根據(jù)設(shè)定信噪比的不同,乘以相應(yīng)系數(shù),對(duì)產(chǎn)生的帶限高斯白噪聲幅度進(jìn)行調(diào)整。
4 結(jié)論
本系統(tǒng)基于自主產(chǎn)生的原理,選用DSP和FPGA為核心處理器,通過合理的算法設(shè)計(jì),實(shí)現(xiàn)了可兼容多種雷達(dá)波形的中頻雷達(dá)回波模擬器的設(shè)計(jì),采用改進(jìn)的基于存儲(chǔ)轉(zhuǎn)發(fā)的數(shù)字脈沖延時(shí)方法,在達(dá)到8 ns的最小延時(shí)步長(zhǎng)的同時(shí),降低了對(duì)系統(tǒng)的硬件要求。系統(tǒng)的另一個(gè)關(guān)鍵模塊是數(shù)字噪聲發(fā)生器,其參數(shù)可以進(jìn)行實(shí)時(shí)修改,極大地提高了噪聲發(fā)生器的靈活性,與其他同類型設(shè)計(jì)相比,具有工作速度快,資源利用率高,硬件結(jié)構(gòu)簡(jiǎn)單等特點(diǎn)。最后采用DDS、數(shù)字正交上變頻等器件,實(shí)現(xiàn)了精確的復(fù)雜頻率調(diào)制、相位調(diào)制和幅度調(diào)制,保證了系統(tǒng)的靈活性、高兼容性和集成化程度。
評(píng)論