基于FPGA的數(shù)字下變頻的研究與實(shí)現(xiàn)
受現(xiàn)有技術(shù)水平的制約,在目前的信號(hào)變頻體制中大部分是首先將射頻信號(hào)通過(guò)一次或者幾次的模擬下變頻轉(zhuǎn)換到中頻上,在中頻對(duì)信號(hào)數(shù)字化,然后再進(jìn)行數(shù)字下變頻。數(shù)字下變頻是軟件無(wú)線電的核心技術(shù)之一。隨著WiMAX等寬帶無(wú)線通信技術(shù)的逐漸成熟,對(duì)無(wú)線設(shè)備數(shù)字帶寬的要求也越來(lái)越高,所以,有必要對(duì)帶寬較寬信號(hào)的數(shù)字下變頻進(jìn)行研究。
l 常用數(shù)字下變頻結(jié)構(gòu)
通常的數(shù)字下變頻結(jié)構(gòu)如圖1所示??梢园褦?shù)字下變頻分為兩個(gè)基本的模塊,數(shù)控振蕩器:NCO(Nu-merical Control Oscillator)混頻模塊和抽取濾波模塊。其中NCO模塊產(chǎn)生正余弦波樣本值,然后分別與輸入數(shù)據(jù)相乘,完成混頻。
抽取濾波模塊常用的結(jié)構(gòu)是積分梳狀抽取濾波器(CIC)級(jí)聯(lián)后再與多級(jí)半帶濾波器(HBF)的級(jí)聯(lián)。如果信號(hào)帶寬比較寬,抽取倍數(shù)不是很大,可以采用FIR濾波器。當(dāng)輸入信號(hào)采樣速率很大的時(shí)候,則可以采用多相濾波的下變頻方案,把運(yùn)算環(huán)節(jié)安排在抽取之后,這種結(jié)構(gòu)大大降低了對(duì)數(shù)據(jù)處理速度的要求。
2 信號(hào)下變頻方案的設(shè)計(jì)
設(shè)信號(hào)的中頻頻率為典型值70 MHz,帶寬為lO MHz,則基帶帶寬B為5 MHz。由Nyquist采樣定理,對(duì)該信號(hào)的采樣頻率不能低于2B即10 MHz,實(shí)際應(yīng)用中一般大于2.5B即12.5 MHz?,F(xiàn)階段商用數(shù)字下變頻芯片都是基于CIC和HBF級(jí)聯(lián)方式設(shè)計(jì)的,當(dāng)采樣率大抽取倍數(shù)小時(shí),芯片處理帶寬比較窄,濾波器組的濾波性能也不理想。同時(shí)DSP芯片數(shù)據(jù)處理速度達(dá)不到要求,所以采用FPGA實(shí)現(xiàn)該數(shù)字下變頻系統(tǒng)。
2.1 采樣頻率fs的確定
由于過(guò)采樣的頻率要求達(dá)到150 MHz以上,速率比較高,不易實(shí)現(xiàn),所以設(shè)計(jì)方案采用帶通采樣。由Shannon帶通采樣定理,設(shè)f(t)為一帶通信號(hào),其通稀為(fL,fH),在實(shí)信號(hào)采樣情況下,其采樣頻率fs應(yīng)滿足以下條件,才能從其采樣信號(hào)重構(gòu)恢復(fù)f(t):
式中:N為滿足后式的某一正整數(shù)。由后式可以算出1≤N≤6,當(dāng)N取不同值時(shí),各采樣率取值范圍如表1所示。
采樣率高,ADC前的抗混疊濾波器比較容易實(shí)現(xiàn),同時(shí)ADC信噪比(SNR)公式如下:
SNR=[6.02b+1.76+101g(fs/2B)]dB
式中:b是ADC的采樣位數(shù)??梢姴蓸勇试礁?,ADC的SNR也越高。所以,應(yīng)提高采樣率,但是同時(shí)也應(yīng)考慮到后級(jí)運(yùn)算速度情況。
2.2 NCO的設(shè)計(jì)
主要的下變頻方法有以下四種:
(1)查表法產(chǎn)生正余弦波樣本值,然后混頻。
(2)IIR振蕩器產(chǎn)生數(shù)字化正余弦函數(shù),然后混頻。
(3)采用流水線技術(shù)的坐標(biāo)旋轉(zhuǎn)數(shù)字式計(jì)算機(jī)(CORDIC)算法。
(4)重采樣。
實(shí)際中用得最多的還是(1),(3)兩種方法。
方法(1)產(chǎn)生以下正余弦波樣本值:
s(n)=cos[2π(fc/fs)n], n=O,1,2,…
式中:fc為NCO的本振頻率,滿足fc=70-fs,這些樣本值與信號(hào)采樣值相乘完成混頻。
采用查表法要實(shí)現(xiàn)比較高的精度需要大量的FP-GA ROM資源,而方法(3)則不需要耗費(fèi)這么大的資源,雖然采用流水線技術(shù)會(huì)使輸出產(chǎn)生迭代次數(shù)個(gè)時(shí)鐘周期的延遲,但是可以省略兩個(gè)乘法器,是比較好的實(shí)現(xiàn)方式。
進(jìn)一步研究采樣率,令fs=Mfc,由s(n)的表達(dá)式知,如果M為整數(shù)時(shí),明顯樣本值可以由龐大的查找表數(shù)據(jù)簡(jiǎn)化為M個(gè)數(shù)據(jù),將fs=Mfc代入fc=70-fs中,可得:
結(jié)合表1和上式,綜合考慮各種情況,取N=2,M=4,fs=56 MHz,則s(n)=cos(πn/2),n=O,1,2,…。可以看出正余弦波樣本值只為1,-1,0,混頻時(shí)只是對(duì)輸人數(shù)據(jù)進(jìn)行保持不變,取負(fù)和置0操作,省略了兩個(gè)乘法器,最大程度地節(jié)約了資源,同時(shí)也避免了正余弦值位數(shù)截?cái)鄮?lái)的非正交誤差。
2.3 抽取濾波器的設(shè)計(jì)
由上面的討論,采樣率確定為56 MHz,精度為12 b。對(duì)輸入數(shù)據(jù)進(jìn)行四倍的抽取,所得到的數(shù)據(jù)速率為14 MHz,大于12.5 MHz,滿足要求。
CIC濾波器適合窄帶高抽取率的情況,用在此處并不合適,故采用FIR濾波器作為抽取抗混疊濾波器,并且把四倍抽取分為兩級(jí)兩倍抽取,兩級(jí)抽取均使用半帶濾波器。
選用System View的Linear Sys Filters進(jìn)行濾波器設(shè)計(jì),用等紋波法使設(shè)計(jì)誤差在整個(gè)頻帶內(nèi)均勻分布。第一級(jí)半帶濾波器參數(shù)如下:采樣率fs=56 MHz,濾波器通帶截止頻率為5 MHz,阻帶起始頻率為(56/2)-5=23 MHz,過(guò)渡帶帶寬為23-5=18 MHz,阻帶衰減為-60 dB,通帶紋波系數(shù)為0.01 dB 。由于濾波器的阻帶起始頻率較大,過(guò)渡帶相應(yīng)較寬,設(shè)計(jì)出的半帶濾波器階數(shù)只有l(wèi)l階,系數(shù)進(jìn)行12 b量化后值如下:
[36,0,-230,0,1 217,2 047,1 217,0,-230,0,36]
同理,第二級(jí)半帶濾波器的階數(shù)為23階,系數(shù)量化值為:
[-10,0,33,O,-80,0,172,0,-376,O,1 285,2 047,1 285,0,-376,0,172,0,-80,O,33,0,-10]
3 方案的FPGA實(shí)現(xiàn)
由以上NCO的設(shè)計(jì)可知,混頻部分非常容易實(shí)現(xiàn),關(guān)鍵部分在于濾波器的實(shí)現(xiàn)。
設(shè)計(jì)工具產(chǎn)生的半帶濾波器具有對(duì)稱結(jié)構(gòu),可只利用其中一半的系數(shù)。考慮到濾波器數(shù)據(jù)輸入速率比較高和FPGA資源的節(jié)約,采用全并行的分布式算法(DA)濾波器,每個(gè)時(shí)鐘周期能完成一次濾波運(yùn)算。
評(píng)論