資源描述:
《fpga_asic-數(shù)字下變頻的fpga實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、http://www.elecfans.com電子發(fā)燒友http://bbs.elecfans.com電子技術(shù)論壇數(shù)字下變頻的FPGA實(shí)現(xiàn)作者:鄭傳家屈德新邱曉軍周鐵解放軍理工大學(xué)通信工程學(xué)院來(lái)源:電子產(chǎn)品世界摘要:本文介紹了數(shù)字下變頻的組成結(jié)構(gòu),并通過(guò)一個(gè)具體的實(shí)例,給出了FPGA實(shí)現(xiàn)的具體過(guò)程。關(guān)鍵詞:FPGA;數(shù)字下變頻;VHDL引言數(shù)字化中頻(DIF)頻譜分析儀在高中頻實(shí)現(xiàn)數(shù)字化處理,具有分析帶寬大、RBW小、測(cè)量時(shí)長(zhǎng)短,可對(duì)復(fù)雜信號(hào)實(shí)施時(shí)—頻分析的功能,因而得到越來(lái)越廣泛的應(yīng)用。但由于現(xiàn)有的數(shù)字信號(hào)處理器(DSP)
2、處理速度有限,往往難以對(duì)高速率A/D采樣得到的數(shù)字信號(hào)直接進(jìn)行實(shí)時(shí)處理。為了解決這一矛盾,需要采用數(shù)字下變頻(DDC)技術(shù),將采樣得到的高速率信號(hào)變成低速率基帶信號(hào),以便進(jìn)一步的分析處理。用現(xiàn)場(chǎng)可編程陣列(FPGA)來(lái)設(shè)計(jì)數(shù)字下變頻器有許多好處:FPGA在硬件上具有很強(qiáng)的穩(wěn)定性和極高的運(yùn)算速度,在軟件上具有可編程的特點(diǎn),可以根據(jù)不同的系統(tǒng)要求,采用不同的結(jié)構(gòu)來(lái)完成相應(yīng)的功能,具有很強(qiáng)的靈活性,便于進(jìn)行系統(tǒng)功能擴(kuò)展和性能升級(jí)。數(shù)字下變頻數(shù)字下變頻的主要目的是經(jīng)過(guò)數(shù)字混頻將A/D轉(zhuǎn)換輸出的中頻信號(hào)搬移至基帶,然后通過(guò)抽取,濾波完
3、成信道提取的任務(wù)。因此,數(shù)字下變頻器由本地振蕩器(NCO)、混頻器、抽取濾波器和低通濾波器組成,如圖1所示。圖1數(shù)字下變頻原理圖http://www.elecfans.com電子發(fā)燒友http://bbs.elecfans.com電子技術(shù)論壇A/D變換后的信號(hào)分成兩個(gè)信號(hào),一個(gè)信號(hào)乘以正弦序列(同相分量),下變頻至零中心頻率上,通過(guò)抽取濾波器、整形低通FIR濾波形成與原信號(hào)相位相同的信號(hào);另一路信號(hào)乘以經(jīng)過(guò)90度相移的正弦序列(正交分量),同樣是下變頻至零中心頻率上,再通過(guò)相同的抽取濾波器、整形低通FIR濾波器,形成與原信號(hào)
4、正交的信號(hào)。這樣,DDC輸出的低速率、零中頻的正交的兩路信號(hào)送往DSP等數(shù)字信號(hào)處理器進(jìn)行后續(xù)的數(shù)字處理。DDC的FPGA以某中頻數(shù)字化接收機(jī)為例來(lái)說(shuō)明如何實(shí)現(xiàn)基于FPGA的數(shù)字下變頻器。輸入信號(hào)為中頻26MHz,帶寬500KHz的調(diào)頻信號(hào),該信號(hào)經(jīng)過(guò)A/D變換之后送到DDC(A/D采樣精度為8位,采樣率20MHz),要求DDC將其變換為數(shù)字正交基帶信號(hào),并實(shí)現(xiàn)10倍抽取,即輸出給基帶處理器的數(shù)據(jù)速率為2MSPS,最后再經(jīng)過(guò)16階FIR濾波器進(jìn)行信號(hào)整形。NCO的實(shí)現(xiàn)NCO采用直接數(shù)字合成(DDS)的方法實(shí)現(xiàn),目前常見的技術(shù)
5、有查表法和CORDIC計(jì)算法,本設(shè)計(jì)采用查表法來(lái)實(shí)現(xiàn)NCO,其原理圖如圖2所示。圖2NCO原理圖32位累加器由一個(gè)32位的加法器和一個(gè)32位寄存器組成,在時(shí)鐘的作用下,加法器通過(guò)寄存器將輸出數(shù)據(jù)送入到加法器的一個(gè)輸入端,與32位的頻率控制字進(jìn)行相加運(yùn)算,得到一個(gè)有規(guī)律的相位累加結(jié)果。由于正弦值在一個(gè)周期內(nèi)取有限個(gè)采樣值,大于2pi部分的正弦值只是這有限數(shù)值的重復(fù)出現(xiàn),因此,當(dāng)累加結(jié)果大于FFFFFFFFH是,不需產(chǎn)生進(jìn)位,而是重新從00000000H開始累加。為了減小ROM的容量,根據(jù)http://www.elecfans.
6、com電子發(fā)燒友http://bbs.elecfans.com電子技術(shù)論壇相位截?cái)嗉夹g(shù),取累加器輸出的高10位作為查表地址,但是這種實(shí)現(xiàn)方式,在降低成本的同時(shí),也引入了雜散分量,影響了NCO的純度。正弦值ROM中存儲(chǔ)的是預(yù)先計(jì)算好的正弦波幅值,利用正弦波的對(duì)稱特性,只需存儲(chǔ)四分之一周期的幅值,再通過(guò)相應(yīng)的轉(zhuǎn)換即可恢復(fù)出整個(gè)周期的幅值。同時(shí),由于余弦波和正弦波相位差為pi/2,可以很容易的實(shí)現(xiàn)余弦信號(hào)。其關(guān)鍵部分的VHDL代碼如下:processbeginwaituntilclk=’1’;ifadd(8)=’0’thenadd
7、ress<=add(7downto0);elseaddress<=”11111111”-add(7downto0);endif;ifadd(9)=’0’thenqou(7)<=’0’;qou(6downto0)<=q;elseqou(7)<=’1’;qou(6downto0)<=”1111111”-q;endif;endprocess;抽取濾波器的實(shí)現(xiàn)CIC積分梳狀濾波器是實(shí)現(xiàn)高速抽取非常有效的單元。CIC濾波器的系統(tǒng)函數(shù)為:http://www.elecfans.com電子發(fā)燒友http://bbs.elecfans.co
8、m電子技術(shù)論壇式中D即為CIC濾波器梳狀部分的延遲,濾波器系數(shù)都為1。從上式可以看出CIC濾波器的實(shí)現(xiàn)非常簡(jiǎn)單,只有加減運(yùn)算,沒有乘法運(yùn)算,F(xiàn)PGA實(shí)現(xiàn)時(shí)可達(dá)到很高的處理速率。但是,單級(jí)CIC濾波器的旁瓣電平只比主瓣低13.46dB,這就意味著阻帶衰減很差,一般是難以滿足實(shí)用要求的。為了降