關(guān)鍵詞:MATLAB;FPGA芯片;數(shù)字下變頻設(shè)計(jì)
中圖分類號(hào):TN791 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? 文章編號(hào):2096-4706(2019)06-0032-03
Keywords:MATLAB;FPGA chip;design of digital down converter
0 ?引 ?言
作為理想概念的軟件無(wú)線電屬于開(kāi)放性極強(qiáng)的平臺(tái),構(gòu)造一個(gè)軟件控制的通用硬件平臺(tái)是軟件無(wú)線電的中心思想,本文研究的數(shù)字下變頻屬于軟件無(wú)線電的核心技術(shù)之一。數(shù)字下變頻器主要由三部分組成,即混頻模塊、抽取模塊和濾波模塊,其性能直接受到混頻器和濾波器的影響。為了真正在應(yīng)用FPGA芯片的數(shù)字下變頻設(shè)計(jì)中引入MATLAB軟件,本文研究主要圍繞基于FPGA的數(shù)字控制振蕩器設(shè)計(jì)(NCO)、積分梳狀濾波器設(shè)計(jì)(CIC)、半帶濾波器設(shè)計(jì)(HB)、FIR濾波器設(shè)計(jì)及仿真驗(yàn)證展開(kāi)。
1 ?數(shù)字控制振蕩器的設(shè)計(jì)與實(shí)現(xiàn)
1.1 ?基于FPGA的數(shù)字控制振蕩器設(shè)計(jì)
數(shù)字控制振蕩器的設(shè)計(jì)首先需要考慮設(shè)計(jì)方法的選擇,為不占用系統(tǒng)的內(nèi)存,本文選擇CORDIC方法進(jìn)行設(shè)計(jì)。為避免數(shù)字控制振蕩器模塊產(chǎn)生雜散,需保證其頻率控制字為2的整數(shù)冪次方,這樣才能滿足整個(gè)系統(tǒng)的實(shí)際需求。
設(shè)計(jì)采用40MHz時(shí)鐘,相位累加器位數(shù)N設(shè)置為32,為保證頻率在1.5M左右且不產(chǎn)生雜散,頻率控制字Δθ設(shè)置為227,輸出頻率如式(1)所示。
1.2 ?數(shù)字控制振蕩器模塊的驗(yàn)證與仿真
雖然數(shù)字控制振蕩器設(shè)計(jì)在理論上滿足了要求,但為了直觀地驗(yàn)證其功能,需編寫測(cè)試文件testbench,設(shè)置仿真軟件simulation進(jìn)行系統(tǒng)間調(diào)用。在完成仿真軟件設(shè)置后,需選擇調(diào)用的軟件路徑,最后打開(kāi)simulation工具調(diào)用仿真。
本文設(shè)計(jì)的數(shù)字控制振蕩器模塊可產(chǎn)生兩路正交信號(hào),使用MATLAB對(duì)產(chǎn)生信號(hào)的頻譜進(jìn)行分析,即可得出數(shù)字控制振蕩器模塊輸出余弦信號(hào)的頻譜,如圖1所示。結(jié)合圖片可發(fā)現(xiàn),設(shè)計(jì)的輸出信號(hào)頻率為1.25MHz,仿真輸出信號(hào)的頻率為1.249MHz,設(shè)計(jì)通過(guò)仿真得到了直觀驗(yàn)證。
2.1 ?基于FPGA的積分梳狀濾波器設(shè)計(jì)
抽取濾波器組屬于數(shù)字下變頻的核心部分,其第一級(jí)抽取濾波器為積分梳狀濾波器,且具備抽取因子較大、采樣速率最大的特點(diǎn),結(jié)合設(shè)計(jì)需要,本文計(jì)劃設(shè)計(jì)5級(jí)8倍的積分梳狀I(lǐng)抽取濾波器。本文設(shè)計(jì)規(guī)格積分梳狀濾波器的第一旁瓣幅值衰減為67.3dB,因此將輸入信號(hào)帶寬設(shè)計(jì)為100kHz,結(jié)合0.02的帶寬比例因子,模數(shù)轉(zhuǎn)換芯片采用32MHz,由此可得出式(2)所示的積分梳狀濾波器阻帶衰減和式(3)所示的積分梳狀濾波器通帶衰減[2]。
2.2 ?積分梳狀模塊的驗(yàn)證與仿真
為進(jìn)一步驗(yàn)證設(shè)計(jì)的正確性,仿真過(guò)程需應(yīng)用MATLAB軟件,以此生成用于仿真的信號(hào)。信號(hào)采樣率為32MHz、頻率為100KHz,由此可得到積分梳狀模塊功能仿真圖,如圖2所示。深入分析可以發(fā)現(xiàn),本文設(shè)計(jì)的積分梳狀濾波器可實(shí)現(xiàn)每隔8個(gè)時(shí)鐘單位進(jìn)行一次抽取,即具備8倍抽取功能。積分梳狀濾波器輸入和輸出信號(hào)的頻譜分析同樣需要應(yīng)用MATLAB軟件。結(jié)合圖片分析可以直觀地發(fā)現(xiàn)輸入信號(hào)相較于輸出信號(hào)較為稠密,這證明了本文設(shè)計(jì)的積分梳狀模塊具備抽取輸入信號(hào)的功能,并能夠真正實(shí)現(xiàn)8倍的輸入信號(hào)抽取,同時(shí)系統(tǒng)對(duì)積分梳狀濾波器的各方面性能要求也得以實(shí)現(xiàn)。
3 ?半帶濾波器的設(shè)計(jì)與實(shí)現(xiàn)
3.1 ?基于FPGA的半帶濾波器設(shè)計(jì)
作為數(shù)字下變頻抽取濾波器組第二級(jí),半帶濾波器相較于積分梳狀濾波器來(lái)說(shuō),抽取因子較小,但由于其可以被視作一種特殊的FIR濾波器,使得半帶濾波器不僅具備較為優(yōu)秀的計(jì)算效率,且積分梳狀濾波器應(yīng)用過(guò)程中產(chǎn)生的高頻分量也能夠通過(guò)半帶濾波器有效濾除,半帶濾波器同時(shí)具備的2倍抽取作用也能夠?yàn)閿?shù)字下變頻的實(shí)現(xiàn)提供有力支持。在經(jīng)過(guò)積分梳狀濾波器后,輸入信號(hào)的采樣速率有所變化,速率由32MHz變?yōu)?MHz,結(jié)合100KHz的原始信號(hào)帶寬,可確定帶寬比例因子為0.25,但考慮到半帶濾波器的實(shí)際應(yīng)用,應(yīng)避免較為緊湊的帶寬比例因子設(shè)置,因此本文設(shè)計(jì)采用120KHz作為原始信號(hào)帶寬,帶寬比例因子為0.03。為滿足應(yīng)用需要,本文設(shè)計(jì)半帶濾波器的阻帶衰減需不小于60dB,結(jié)合式(4),可確定半帶濾波器的階數(shù)[3]。
考慮到N需要取奇數(shù),因此設(shè)計(jì)中將半帶濾波器的階數(shù)設(shè)為9,具體設(shè)計(jì)則采用Kaiser窗口進(jìn)行。結(jié)合相關(guān)研究與計(jì)算可確定,第一類修正零階貝塞爾函數(shù)為8,由此即可應(yīng)用MATLAB軟件進(jìn)行半帶濾波器的建模分析,建模過(guò)程需應(yīng)用軟件的Filter Design&Anaiysis工具,由此即可得到半帶濾波器幅值響應(yīng)。結(jié)合半帶濾波器幅值響應(yīng)可以發(fā)現(xiàn),本文設(shè)計(jì)的半帶濾波器的阻帶衰減能夠較好地滿足系統(tǒng)要求,同時(shí)軟件的應(yīng)用還能夠獲取半帶濾波器9階系數(shù),應(yīng)用Quartus II 12.0軟件結(jié)合系數(shù)進(jìn)行建模,可得到半帶濾波器模塊綜合報(bào)告與RTL級(jí)電路。
3.2 ?半帶模塊的驗(yàn)證與仿真
為驗(yàn)證本文設(shè)計(jì)半帶濾波器模塊的正確性,需開(kāi)展仿真驗(yàn)證,仿真驗(yàn)證過(guò)程用于半帶濾波器模塊輸入信號(hào)選擇積分梳狀濾波器模塊的輸出信號(hào)。結(jié)合仿真可以確定,本文設(shè)計(jì)的半帶濾波器模塊實(shí)現(xiàn)了每隔2個(gè)時(shí)鐘單位進(jìn)行1次抽取,因此可認(rèn)為本文設(shè)計(jì)的半帶濾波器模塊具備2倍抽取功能。值得注意的是,本文設(shè)計(jì)的半帶濾波器模塊同時(shí)存在一定延時(shí),這類延時(shí)源于系統(tǒng)原因和寄存器的存在,但設(shè)計(jì)在總體上滿足要求。為進(jìn)一步驗(yàn)證設(shè)計(jì),應(yīng)圍繞半帶濾波器模塊開(kāi)展輸入與輸出信號(hào)的頻譜分析,分析需應(yīng)用MATLAB軟件。結(jié)合分析可以發(fā)現(xiàn),本文設(shè)計(jì)的半帶濾波器的輸入信號(hào)相較于輸出信號(hào)較為稠密,這是由于半帶濾波器具備抽取輸入信號(hào)的功能,半帶濾波器具備2倍抽取輸入信號(hào)的功能由此得到了進(jìn)一步確認(rèn),且系統(tǒng)對(duì)設(shè)計(jì)提出的多方面性能指數(shù)要求也得以實(shí)現(xiàn)。
4 ?FIR整形濾波器的設(shè)計(jì)與實(shí)現(xiàn)
4.1 ?基于FPGA的FIR濾波器設(shè)計(jì)
考慮到上文設(shè)計(jì)的半帶濾波器本身屬于較為特殊的低通濾波器,因此FIR整形濾波器的設(shè)計(jì)必須重點(diǎn)關(guān)注其數(shù)字下變頻的最后一級(jí)身份。FIR整形濾波器采用與半帶濾波器相似的設(shè)計(jì)思路,且設(shè)計(jì)需保證通帶衰減、阻帶衰減分別控制在0.1dB內(nèi)和80dB內(nèi)。FIR整形濾波器設(shè)計(jì)首先需應(yīng)用Kaiser窗口,考慮到此類濾波器多具備階數(shù)較大的特點(diǎn),因此設(shè)計(jì)未采用第一類修正零階貝塞爾函數(shù)。具體設(shè)計(jì)需應(yīng)用MATLAB軟件,通過(guò)應(yīng)用Filter Design&Anaiysis工具和Kaiser窗口完成具體設(shè)計(jì),選擇Minimum order作為設(shè)計(jì)的階數(shù),同時(shí)設(shè)置fc、通帶衰減、阻帶衰減,分別為[0.1 ?0.4]MHz、0.1dB、80dB,由此即可通過(guò)設(shè)計(jì)得到34階FIR整形濾波器幅值響應(yīng),如圖3所示。
4.2 ?FIR濾波器模塊的驗(yàn)證與仿真
為驗(yàn)證本文設(shè)計(jì)的FIR濾波器模塊的正確性,需應(yīng)用正弦信號(hào)組成的復(fù)合信號(hào)進(jìn)行仿真驗(yàn)證,信號(hào)由MATLAB軟件產(chǎn)生,組成復(fù)合信號(hào)的正弦信號(hào)頻率分別為0.1MHz、0.42MHz,仿真采用Modelsim,由此即可最終得到FIR濾波器模塊功能仿真圖,如圖4所示。
結(jié)合圖片可以確定本文設(shè)計(jì)的FIR濾波器模塊能夠有效濾除高頻分量,且不對(duì)信號(hào)具有抽取作用,這使得FIR濾波器模塊的整形濾波功能較為優(yōu)秀,其設(shè)計(jì)效果能夠較好地滿足系統(tǒng)需要。
5 ?結(jié) ?論
FPGA芯片實(shí)現(xiàn)數(shù)字下變頻設(shè)計(jì)離不開(kāi)MA TLAB軟件的支持,在此基礎(chǔ)上,本文基于FPGA的數(shù)字控制振蕩器設(shè)計(jì)、積分梳狀濾波器設(shè)計(jì)、半帶濾波器設(shè)計(jì)、FIR濾波器設(shè)計(jì)及仿真驗(yàn)證,直觀地展示了MATLAB軟件在應(yīng)用FPGA芯片的數(shù)字下變頻設(shè)計(jì)中的應(yīng)用路徑,為了更好地發(fā)揮MATLAB軟件的效用,F(xiàn)PGA器件的靈活方便、處理速度快的優(yōu)勢(shì)必須得到充分發(fā)揮,AD高速采樣的應(yīng)用同樣需要得到重視。
參考文獻(xiàn):
[1] 薛金鑫,馬崇鶴,周磊,等.4GS/s-12bitADC內(nèi)置數(shù)字下變頻器(DDC)的ASIC實(shí)現(xiàn) [J].微電子學(xué)與計(jì)算機(jī),2019,36(1):85-89.
[2] 杜兆凱,馬宗方,谷卓.基于優(yōu)化混頻器的數(shù)字下變頻系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].液晶與顯示,2018,33(11):943-949.
[3] 佟昕,于勇,趙寶珍,等.基于DMR-CED容錯(cuò)方法的多相結(jié)構(gòu)數(shù)字下變頻SEU防護(hù)設(shè)計(jì) [J].遙測(cè)遙控,2018,39(4):54-59.
作者簡(jiǎn)介:溫浪明(1986.06-),男,漢族,廣東梅州人,中級(jí)職稱,碩士,研究方向:數(shù)字集成電路設(shè)計(jì)。