基于FPGA的導(dǎo)航抗干擾接收機(jī)數(shù)字變頻的實(shí)現(xiàn)
摘要 根據(jù)衛(wèi)星信號(hào)結(jié)構(gòu)、頻率特征設(shè)計(jì)和實(shí)現(xiàn)了導(dǎo)航抗干擾接收系統(tǒng)中,基于軟件無線電的上下變頻模塊。根據(jù)系統(tǒng)的A/D采樣頻率與轉(zhuǎn)換位數(shù)、阻帶衰減要求、頻率選擇性、增益,輸入輸出頻率在Matlab中建模。確定了DDC和DUC的設(shè)計(jì)方案,并在硬件上實(shí)現(xiàn),重點(diǎn)是NCO和濾波器組設(shè)計(jì),包括梳狀濾波器、半帶濾波器和補(bǔ)償濾波器。構(gòu)建完成系統(tǒng)后進(jìn)行了仿真驗(yàn)證,可滿足系統(tǒng)設(shè)計(jì)要求。
本文引用地址:http://m.butianyuan.cn/article/201610/308419.htm導(dǎo)航接收機(jī)作為衛(wèi)星導(dǎo)航系統(tǒng)的主要組成部分,是市場(chǎng)大規(guī)模和產(chǎn)業(yè)化的核心環(huán)節(jié)。研究導(dǎo)航接收機(jī)關(guān)鍵技術(shù),對(duì)建設(shè)我國(guó)有自主知識(shí)產(chǎn)權(quán)的衛(wèi)星導(dǎo)航接收系統(tǒng)有具有現(xiàn)實(shí)意義。因此,對(duì)用戶端接收機(jī)、拓寬應(yīng)用范圍是GNSS研究的熱點(diǎn)。同時(shí)衛(wèi)星導(dǎo)航信號(hào)弱、易受干擾會(huì)直接影響衛(wèi)星導(dǎo)航系統(tǒng)在復(fù)雜干擾環(huán)境下發(fā)揮的作用。因此需研制具有抗干擾能力的接收系統(tǒng)。本文主要根據(jù)衛(wèi)星信號(hào)結(jié)構(gòu)、頻率特征設(shè)計(jì)了導(dǎo)航抗干擾接收系統(tǒng)中基于軟件無線電的上下變頻模塊。
1 DDC和DUC的系統(tǒng)設(shè)計(jì)
導(dǎo)航抗干擾系統(tǒng)中的數(shù)字接收機(jī)所采用的是數(shù)字混頻正交變換,但該方法在高采樣率時(shí),混頻后端的濾波器需要較高的濾波器階數(shù),對(duì)硬件資源的要求高,導(dǎo)致使用資源過多、功耗過大等問題。因此在實(shí)際的上下變頻技術(shù)應(yīng)用中,多速率信號(hào)處理濾波器組常選擇CIC積分梳狀濾波器級(jí)聯(lián)HB半帶濾波器、級(jí)聯(lián)補(bǔ)償FIR濾波器的組合結(jié)構(gòu),來滿足設(shè)計(jì)要求。
1.1 設(shè)計(jì)指標(biāo)
開發(fā)工具采用Xilinx公司的ISE,芯片采用Xilinx公司的FPGA—spantan3E。數(shù)字中頻信號(hào)中心頻率為70 MHz,帶寬為20 MHz,采樣率為90 MHz,濾波器阻帶衰減60 dB。下變頻中,經(jīng)NCO提供的20 MHz本振信號(hào)混頻到零頻上,完成4倍的抽取。上變頻經(jīng)過4倍插值,混頻到70 MHz中頻上,采樣率由22.5 MHz升至90 MHz。
1.2 建立DDC和DUC設(shè)計(jì)方案
首先在Matlab中進(jìn)行建模,確定濾波器組參數(shù),包括濾波器級(jí)數(shù)、系數(shù)等。濾波器組方案采用2倍多級(jí)CIC濾波器抽取,級(jí)聯(lián)2級(jí)抽取半帶濾波器,最后級(jí)聯(lián)多級(jí)補(bǔ)償FIR濾波器。由此確定半帶濾波器和補(bǔ)償濾波器的系數(shù)和級(jí)數(shù),幅頻特性如圖1所示。
由此可得出設(shè)計(jì)的數(shù)字下變頻結(jié)構(gòu)如圖2所示,包括數(shù)控振蕩器NCO模塊、數(shù)字混頻器模塊、CIC濾波器模塊、HB半帶濾波器模塊和FIR補(bǔ)償濾波器模塊。數(shù)字上變頻結(jié)構(gòu)是數(shù)字下變頻的逆過程,兩者的工作原理、結(jié)構(gòu)和實(shí)現(xiàn)互相對(duì)應(yīng)。
1.3 DDS的設(shè)計(jì)
為避免使用大容量存儲(chǔ)器,可以考慮利用算法來產(chǎn)生正余弦樣本。CORDIC算法是一種基于矢量旋轉(zhuǎn)的坐標(biāo)計(jì)算方法。該算法的基本思想是通過一系列固定的、與運(yùn)算技術(shù)相關(guān)的角度不斷偏擺以逼近所需的旋轉(zhuǎn)角度。它有線性的收斂域和序列的特性,只要迭代次數(shù)足夠,即可保證結(jié)果有足夠的精度。當(dāng)輸入90MHz的基準(zhǔn)時(shí)鐘,步進(jìn)字設(shè)為954 437 176(十進(jìn)制),將輸出2 MHz的正余弦離散波形,圖3所示為DDS模塊在Modelsim中仿真結(jié)果。
與使用ROM查找表法相比,CORDIC算法產(chǎn)生DDS的優(yōu)勢(shì)有:(1)所有運(yùn)算都可通過移位和加減運(yùn)算實(shí)現(xiàn),無需耗費(fèi)硬件乘法器資源,易于實(shí)現(xiàn)。(2)可使用循環(huán)迭代方法,節(jié)約硬件資源。(3)可通過流水線法,提高工作頻率。
1.4 濾波器組的設(shè)計(jì)
CIC濾波器的結(jié)構(gòu)簡(jiǎn)單,沒有乘法器,只有加法器,積分器和寄存器,適合工作在高采樣率。而且,CIC濾波器是一種基于零極點(diǎn)相消的FIR濾波器,實(shí)現(xiàn)上減少了復(fù)雜度與資源消耗,已被證明是在高速抽取或插值系統(tǒng)中的有效單元。
單級(jí)CIC濾波器的傳遞函數(shù)為
單級(jí)CIC濾波器旁瓣電平較大、阻帶衰減較差、降低旁瓣電平,可以采用多級(jí)CIC濾波器級(jí)聯(lián)的方法實(shí)現(xiàn)。根據(jù)Matlab建模要達(dá)到60 dB阻帶抑制比,需要5級(jí)級(jí)聯(lián)。此時(shí),阻帶衰減為單級(jí)衰減(13.36 dB)的5倍。由CIC濾波器的傳遞函數(shù),使用Verilog語言即可寫出一個(gè)5級(jí)、抽取率為2的CIC抽取濾波器和CIC插值濾波器,都由5級(jí)積分器和梳狀器級(jí)聯(lián)構(gòu)成。但在用FPGA實(shí)現(xiàn)的過程中,Integrator模塊里,會(huì)出現(xiàn)溢出問題。在設(shè)計(jì)過程中為防止數(shù)據(jù)溢出,必須相應(yīng)地?cái)U(kuò)大數(shù)據(jù)的位數(shù),以減少誤差。有相應(yīng)公式,內(nèi)部運(yùn)算單元寬度
REG_WIDTH=L+Nlog2(DM) (2)
其中,L為數(shù)據(jù)寬度;D為抽取因子;M為差分延遲。
半帶濾波器的本質(zhì)是FIR濾波器,只是有1/2的系數(shù)為0,其實(shí)現(xiàn)結(jié)果與傳統(tǒng)的FIR濾波器基本相同,將為零的系數(shù)通過延遲單元實(shí)現(xiàn),同等條件下復(fù)雜度更低。因此,在實(shí)現(xiàn)時(shí)也可通過FIR Compiler IP核來實(shí)現(xiàn)。根據(jù)Matlab建模的結(jié)果,生成定點(diǎn)量化的半帶濾波器系數(shù),并寫入磁盤,生成coe文件,然后再加載到FIR Complier配置界面中。
在ISE13.1中FIR濾波器的IPCore是FIR Complier,其功能強(qiáng)大,對(duì)于半帶的抽取、內(nèi)插、希爾伯特變換等都能完成,其結(jié)構(gòu)包含乘加結(jié)構(gòu)和分布結(jié)構(gòu)。
補(bǔ)償濾波器是針對(duì)CIC濾波器而設(shè)計(jì)的,因?yàn)镃IC濾波器并不具備一個(gè)平的、寬的通帶,而多級(jí)CIC濾波器會(huì)加劇通帶的這種不平坦,所以為了修正通帶內(nèi)的衰減,可以通過級(jí)聯(lián)一個(gè)FIR濾波器對(duì)其幅度響應(yīng)進(jìn)行補(bǔ)償。這個(gè)FIR濾波器的幅度響應(yīng)取CIC幅度響應(yīng)的倒數(shù)時(shí),正好可以修正多級(jí)CIC濾波器的通帶上的迅速衰降,在擴(kuò)展其通帶帶寬的同時(shí)提高了阻帶衰減。則補(bǔ)償FIR濾波器的幅值響應(yīng)公式為
由此產(chǎn)生FIR濾波器系數(shù),并由FIR Complier生成。
2 系統(tǒng)的集成與驗(yàn)證
2.1 下變頻
系統(tǒng)中的各個(gè)模塊包括數(shù)控振蕩器模塊、5級(jí)級(jí)聯(lián)的CIC抽取與內(nèi)插濾波器模塊、半帶抽取與內(nèi)插濾波器模塊和FIR補(bǔ)償濾波器模塊。最后通過編寫頂層文件,實(shí)現(xiàn)各個(gè)模塊的互聯(lián),以最終集成導(dǎo)航抗干擾接收系統(tǒng)中DUC和DDC的功能。
首先在Matlab中產(chǎn)生一個(gè)帶寬為20 MHz;中心頻率為70 MHz;頻譜為矩形的信號(hào),以fs=90 MHz的頻率采樣,則其頻譜將在f軸上以fs為周期延拓,原本在70 MHz的頻率上產(chǎn)生的帶寬為20 MHz的中頻信號(hào)則會(huì)向左以fs的頻率進(jìn)行周期延拓,并在最靠近零頻的負(fù)頻率軸上產(chǎn)生中心頻率為-20 MHz的一個(gè)副本。同時(shí)由于信號(hào)為實(shí)信號(hào),將產(chǎn)生-20 MHz與20 MHz上的兩個(gè)副本,信號(hào)的頻譜如圖4所示。
產(chǎn)生16 384個(gè)采樣點(diǎn),將這些數(shù)值歸一化并轉(zhuǎn)換為4位16進(jìn)制數(shù)值,導(dǎo)入DDC的Testbech中,可驗(yàn)證DDC模塊的功能與正確性。如圖5所示為Modelsim中的仿真結(jié)果,DIN為輸入信號(hào),DOUT_Q與DOUT_I為DDC模塊的輸出信號(hào),分別為正交分量和同相分量,其輸出速率降低了75%。
將4 096個(gè)同相分量數(shù)據(jù)和4 096個(gè)正交分量數(shù)據(jù)導(dǎo)入Matlab中進(jìn)行頻譜分析??捎^察到輸入頻譜為矩形的信號(hào),經(jīng)過DDC后其波形和頻譜如圖6所示。將輸入波形與頻譜對(duì)比,可以看到,其通帶平坦度與阻帶衰減良好,符合預(yù)期。
2.2 上變頻
將DDC的輸出信號(hào)輸入DUC模塊中,可對(duì)數(shù)字上變頻模塊進(jìn)行驗(yàn)證,信號(hào)速率為22.5 MHz,帶寬20 MHz,頻譜如圖6所示。
將DDC輸出的4 096個(gè)數(shù)據(jù)歸一化并轉(zhuǎn)換為4位16進(jìn)制數(shù)值,導(dǎo)入DUC的Testbech中。圖7為DUC模塊對(duì)采樣率為22.5 MHz,帶寬20 MHz的基帶信號(hào)進(jìn)行數(shù)字上變頻的結(jié)果。
將16 384個(gè)數(shù)據(jù)導(dǎo)入Matlab中進(jìn)行頻譜分析??捎^察到輸入頻譜為矩形信號(hào),經(jīng)過DUC后其波形和頻譜如圖8所示。
上變頻后數(shù)據(jù)速率上升到90 MHz,以70 MHz的采樣率進(jìn)行采樣,經(jīng)過周期延拓后,中心頻率在20 MHz上。將輸入波形與頻譜對(duì)比,數(shù)字上變頻設(shè)計(jì)的結(jié)果符合設(shè)計(jì)期望。
在資源使用上,芯片Spantan3s1600e可以滿足資源需求。其資源占用率如表1所示。
可以看到,Slice的數(shù)據(jù)在50%~70%之間。此時(shí),可以最大限度地發(fā)揮芯片的性能,也為以后的平臺(tái)拓展留下空間。從上述數(shù)據(jù)可以看出,Xilinx芯片的資源利用率是可行的。
2 結(jié)束語
設(shè)計(jì)和實(shí)現(xiàn)了導(dǎo)航抗干擾接收系統(tǒng)中的上下變頻模塊。介紹了FPGA芯片的選擇以及集成開發(fā)環(huán)境。并依據(jù)導(dǎo)航抗干擾接收系統(tǒng)的各種參數(shù),對(duì)濾波器組仿真并建模,對(duì)DUC DDC中每個(gè)模塊的FPGA進(jìn)行設(shè)計(jì)及功能仿真,通過對(duì)整個(gè)系統(tǒng)的集成驗(yàn)證,證明結(jié)果符合設(shè)計(jì)要求,基于FPGA的數(shù)字變頻系統(tǒng)應(yīng)用范圍廣泛、通用性高、修改參數(shù)方便、資源使用率較少,可用于通信、信號(hào)處理等相關(guān)領(lǐng)域移植。
評(píng)論