
1. NCO的實(shí)現(xiàn)
NCO的作用是產(chǎn)生正弦、余弦樣本,一般情況下,NCO采用直接數(shù)字合成(DDS)的方法實(shí)現(xiàn):通過相位累加器得到相位值,將相位值截短后查正弦/余弦表,得到所需的正弦/余弦值。相位值截短和生成正弦/余弦表時(shí)的幅度量化均會(huì)帶來噪聲。
在某些特定情況下,選擇合適的采樣率,可以不使用DDS而用固定系數(shù)來產(chǎn)生正弦、余弦樣本。不僅避免了相位值截短和幅度量化帶來的噪聲,同時(shí)實(shí)現(xiàn)起來簡單容易,消耗FPGA的資源也較少。本系統(tǒng)就可以用固定系數(shù)來生成正弦、余弦樣本。

兩組簡單的循環(huán)的整數(shù)。只要在FPGA中產(chǎn)生這兩組循環(huán)的整數(shù)就可以實(shí)現(xiàn)NCO了。
2. 抽取濾波器設(shè)計(jì)
(1) 濾波器參數(shù)和特性
根據(jù)系統(tǒng)要求,濾波器參數(shù)選取如下:
過渡帶: 0.125 π~0.156 π;
通帶波紋:0.02;
阻帶波紋:0.0015;
阻帶衰減:-56.5 dB。
利用Matlab仿真得到濾波器器階數(shù)為144階。
該濾波器的頻率響應(yīng)如圖7所示。

實(shí)現(xiàn)時(shí)采用如圖4所示的抽取濾波器高效結(jié)構(gòu)的換相形式,分成6相,每相是一個(gè)24階的濾波器,濾波器的輸入數(shù)據(jù)和系數(shù)均為12位補(bǔ)碼。
(2) 采用分布式算法來實(shí)現(xiàn)濾波器
分布式算法(Distributed Arithmetic)是一項(xiàng)重要的FPGA技術(shù),廣泛應(yīng)用于計(jì)算乘積項(xiàng)[3]:

與傳統(tǒng)的乘-加結(jié)構(gòu)相比,基于分布式算法的結(jié)構(gòu)的優(yōu)點(diǎn)在于它使用的是查找表而不是乘法-累加器,因此計(jì)算的速度較快。
由式(8),若x(k)是B位有符號的二進(jìn)制補(bǔ)碼,那么x(k)可以表示為

由于濾波系數(shù)c(k)是常數(shù),因此c(k)·xb(k)可以用映射f(c(k),xb(k))表示。于是,(10)式可以變?yōu)?br> 
(11)式為我們提供了一種與傳統(tǒng)乘-加單元不同的實(shí)現(xiàn)式(8)的方法:利用一個(gè)LUT實(shí)現(xiàn)映射f(c(n),xb(n)),LUT接收一個(gè)N位輸入向量xb=

由于輸入的數(shù)是12位的,同時(shí)對于每組濾波器每6個(gè)時(shí)鐘周期輸入一個(gè)數(shù),要在6個(gè)時(shí)鐘周期處理12位的數(shù),采用圖6的結(jié)構(gòu)是不可行的,需要改進(jìn)[4]。
注意到式(10),有

根據(jù)式(12),將圖8的結(jié)構(gòu)改變一下,讓其輸入2位的并行的數(shù),同時(shí)查兩個(gè)查找表,這樣就能在6個(gè)時(shí)鐘周期內(nèi)處理12位的數(shù)了。改變后的結(jié)構(gòu)如圖9。

3.實(shí)驗(yàn)結(jié)果
用上述方法設(shè)計(jì)的DDC,全部功能用軟件設(shè)計(jì)的方法在一個(gè)FPGA芯片上實(shí)現(xiàn),和ADC聯(lián)試表明,該DDC的技術(shù)指標(biāo)滿足實(shí)際工程要求。
最大工作頻率:(輸入最高抽樣率)97.5 MHz;
主要的FPGA資源消耗:邏輯片段使用83%,查找表使用66%。表明使用XC2s600e-6C來實(shí)現(xiàn)滿足要求的數(shù)字下變頻器,其規(guī)模和速度是足夠的;
I、Q幅度一致性誤差0.0026 dB,相位正交性誤差0.15°。
輸入中頻30 MHz、帶寬5 MHz、時(shí)寬20 μs的線性調(diào)頻信號,通過系統(tǒng)后得到基帶信號的頻譜如圖10,與理想基帶信號頻譜很接近。
四 、結(jié)束語
使用FPGA來設(shè)計(jì)開發(fā)DDC可以根據(jù)工程技術(shù)指標(biāo)的不同要求,采用不同的結(jié)構(gòu)和算法,通過改變軟件來設(shè)計(jì)出不同的DDC,具有很大的靈活性和可擴(kuò)展性,不失為一種實(shí)現(xiàn)DDC的好方法。
參考文獻(xiàn)
[1]宗孔德.多抽樣率信號處理[M].北京:清華大學(xué)出版社,199684~94
[2]楊小牛,樓才義,徐建良.軟件無線電原理與應(yīng)用[M].北京:電子工業(yè)出版社,200121~30.
[3]Uwe Meyer-Baese . 數(shù)字信號處理的FPGA實(shí)現(xiàn)[M]. 北京:清華大學(xué)出版社,200341~55.
[4]White, S A. Applications of distributed arithmetic to digital signal processing: a tutorial review[J]. IEEE ASSP Magazine, 1989 , 6(3):6~19
[5]呂幼新,鄭立崗,王麗華.基于多相濾波的寬帶接收機(jī)技術(shù)[J].電子科技大學(xué)學(xué)報(bào),2003,32(2):133~136.





