基于FPGA的數(shù)字下變頻設(shè)計(jì)與實(shí)現(xiàn)
接收信號(hào)經(jīng)A/D采樣后可表示為:
其中,TS為A/D采樣時(shí)鐘的周期,A為信號(hào)幅度的量化,d(nTS)表示二進(jìn)制數(shù)據(jù)信息,c(nTS)表示偽碼序列信息。
經(jīng)過(guò)A/D后,信號(hào)通過(guò)一個(gè)數(shù)字低通濾波器,濾掉噪聲和寄生信號(hào),然后與本地NCO輸出的頻率為18.533 MHz的正交載波相乘,完成數(shù)字下變頻,再經(jīng)過(guò)低通濾波,濾除倍頻分量,就可以得到基帶擴(kuò)頻信號(hào)。
從圖2可以看出,本地NCO產(chǎn)生的同相和正交載波經(jīng)過(guò)正交下變頻和低通濾波之后,不考慮噪聲的影響,輸出信號(hào)可以表示為:
其中,為本地載波與接收信號(hào)的頻差,為NCO的載波頻率,為起始相位差。
2 下變頻實(shí)現(xiàn)方案
3 下變頻器模塊實(shí)現(xiàn)
本文將輸入r正弦信號(hào)分為16相,NCO通過(guò)clk信號(hào)脈沖作為控制信號(hào)以查找法的形式找出其對(duì)應(yīng)的正余弦值,與r信號(hào)混頻,得到兩路信號(hào)i0和q0,再經(jīng)過(guò)低通濾波器,最后得到兩路正交信號(hào)i和q,如圖4和圖5所示。從仿真結(jié)果可以看出,從第二個(gè)clk脈沖開(kāi)始工作到最后結(jié)果輸出,僅僅用了52 ns的時(shí)間。
本文針對(duì)擴(kuò)頻通信接收的數(shù)字下變頻在特定的輸入信號(hào)下,通過(guò)查找表的方式進(jìn)行了混頻和低通濾波的設(shè)計(jì)及實(shí)現(xiàn)。仿真結(jié)果在軟件Matlab上的建模結(jié)果完全一致,表明了設(shè)計(jì)的正確性。在Xilinx公司的FPGA集成設(shè)計(jì)軟件ISE7.1環(huán)境下選用 xc3s5000-4fg900實(shí)現(xiàn)了綜合和映射。本文的創(chuàng)新點(diǎn)是:用移位代替濾波器乘法運(yùn)算,節(jié)約了硬件資源;對(duì)抽頭系數(shù)進(jìn)行擴(kuò)大,將結(jié)果誤差減小到了 1%;根據(jù)抽頭系數(shù)的對(duì)稱(chēng)性減少了寄存器的使用,節(jié)約了讀取存儲(chǔ)的時(shí)間。
評(píng)論