基于CORDIC算法數(shù)字下變頻器設(shè)計(jì)_第1頁(yè)
基于CORDIC算法數(shù)字下變頻器設(shè)計(jì)_第2頁(yè)
基于CORDIC算法數(shù)字下變頻器設(shè)計(jì)_第3頁(yè)
基于CORDIC算法數(shù)字下變頻器設(shè)計(jì)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于CORDIC算法數(shù)字下變頻器設(shè)計(jì)         摘  要 本文以軟件無(wú)線電為指導(dǎo),提出基于CORDIC算法利用FPGA平臺(tái)數(shù)字下變頻器設(shè)計(jì)方案。首先分析下變頻器的結(jié)構(gòu);然后采用模塊化設(shè)計(jì)思想,將數(shù)字下變頻的功能模塊包括數(shù)字控制振蕩器、CIC抽取濾波、HBF抽取濾波器、FIR低通濾波器進(jìn)行分析和FPGA的設(shè)計(jì);最后在MATLAB/DSPBuilder下硬件仿真模塊進(jìn)行仿真并給出仿真結(jié)果。   關(guān)鍵字 數(shù)字下變頻;CORDIC;FPGA1  引言   

2、軟件無(wú)線電的設(shè)計(jì)思想之一是將A/D 轉(zhuǎn)換器盡可能靠近天線,即把A/D從基帶移到中頻甚至射頻,把接收到的模擬信號(hào)盡早數(shù)字化。由于數(shù)字信號(hào)處理器(DSP)的處理速度有限,往往難以對(duì) A/D采樣得到的高速率數(shù)字信號(hào)直接進(jìn)行各種類別的實(shí)時(shí)處理。為了解決這一矛盾,需要采用數(shù)字下變頻(DDC)技術(shù),將采樣得到的高速率信號(hào)變成低速率基帶信號(hào),以便進(jìn)行下一步的信號(hào)處理。數(shù)字下變頻技術(shù)在軟件無(wú)線電和各類數(shù)字化接收機(jī)中得到了廣泛應(yīng)用。因此建立軟件無(wú)線電的通用數(shù)字下變頻器是非常必要的。2  下變頻器的結(jié)構(gòu)與組成   我們要設(shè)計(jì)數(shù)字下變頻器如圖1所示。   量化的中頻

3、數(shù)字信號(hào)進(jìn)入數(shù)字下變頻器后,先與數(shù)字控制振蕩器產(chǎn)生的本地?cái)?shù)字載波混頻,經(jīng)過(guò)CIC抽取濾波器,HBF抽取濾波器,F(xiàn)IR低通濾波對(duì)信號(hào)進(jìn)行D倍抽取后得到正交基帶信號(hào),這是下變頻過(guò)程。虛線框內(nèi)為數(shù)字下變頻部分是我們?cè)O(shè)計(jì)和討論的重點(diǎn)。3  數(shù)字控制振蕩器振蕩器    如圖1所示。正交數(shù)字下變頻器前端包括兩部分一是乘法器;一是NCO。乘法器設(shè)計(jì)很簡(jiǎn)單,NCO的目標(biāo)是產(chǎn)生一個(gè)理想的正弦和余弦波。更確切地說(shuō)是產(chǎn)生一個(gè)可變頻率的正弦波樣本如公式:其中 為本地振蕩頻率; 為DDC輸入信號(hào)的采樣頻率。正弦波樣木可以用實(shí)時(shí)計(jì)算的方法產(chǎn)生,但這只適用信號(hào)采樣頻率很低的情況。在軟件無(wú)線電高

4、速信號(hào)采樣頻率的情況下,NCO實(shí)時(shí)計(jì)算的方法是不可取的。NCO產(chǎn)生正弦波樣本通常采用查表法,通過(guò)輸入的相位數(shù)據(jù)來(lái)尋址查表輸出相應(yīng)的正弦波幅值。對(duì)于一個(gè)相位位數(shù)為n,輸出信號(hào)幅度位數(shù)為M的數(shù)控振蕩器,這就需要耗費(fèi)大量的ROM資源(2nX Mbit)。為了避免使用大容量的存儲(chǔ)器??刹捎昧艘环N基于CORDIC( Coordinate Rotation Digital Computer)算法來(lái)產(chǎn)生正/余弦樣本。該算法有線性的收斂域和序列特性。只要迭代次數(shù)足夠,即可保證結(jié)果有足夠的精度。并且用于混頻的乘法器也可以省掉。從而還節(jié)省了大量的邏輯硬件資源。使得數(shù)字下變頻更易于用FPGA來(lái)實(shí)現(xiàn)。3.1 

5、; CORDIC算法   CORDIC算法基本原理是:設(shè)初始向量x0+jy0經(jīng)旋轉(zhuǎn) 角度后得到的向量 xn+jyn即 , ,設(shè)旋轉(zhuǎn)基本角度 i,令 ,那么初始向量可通過(guò)一系列的基本角度 i的旋轉(zhuǎn),逐漸逼近目標(biāo)向量。在旋轉(zhuǎn)模式下,如果設(shè)Z0= ,根據(jù)J,S,WALTER的推導(dǎo)有:        (1)   其中     i代表向量旋轉(zhuǎn)方向   經(jīng)過(guò)n 次旋轉(zhuǎn)迭代后的結(jié)果為:   其中, ,稱為模校正

6、因子。如果令 , y0=0,則  ,由上述推導(dǎo)可知:若已知角度Z0 和初始向量的 x0,y0 可由式(1)迭代運(yùn)算得到角度 Z0的正余弦值,而式(3)中的迭代運(yùn)算用硬件實(shí)現(xiàn)時(shí)非常方便,只有加(減)和移位操作。3.2  基于CORDIC算法實(shí)現(xiàn)NCO   我們?cè)O(shè)計(jì)的NCO頂層結(jié)構(gòu)為圖2所示。我們可以看到,頻率控制字寄存器將接收到的頻率控制字K送入相位累加器,累加器對(duì)系統(tǒng)時(shí)鐘進(jìn)行累加計(jì)數(shù),當(dāng)?shù)竭_(dá)輸入頻率控制字的值時(shí)對(duì)相位進(jìn)行累加,隨后將累加值送入相位相加器,與相位控制字寄存器接收到的初始相位相加,得到當(dāng)前的相位值。經(jīng)過(guò)上述相位處理之后,即可獲得相位

7、的正/余弦相位序列,將此序列送入基于CORDIC算法的波形發(fā)生器,最終獲得兩路正交的正/余弦輸出序列。   采用了流水線型實(shí)現(xiàn)結(jié)構(gòu),它用n級(jí)相似的算法單元在同一個(gè)時(shí)鐘周期內(nèi)并行工作,每級(jí)算法單元的具體實(shí)現(xiàn)結(jié)構(gòu)如圖3所示。圖中的三個(gè)累加器分別完成了該級(jí)中xi,yi,zi的迭代,累加器的加/減控制信號(hào)為上一級(jí)算法單元中的di信號(hào),兩個(gè)i位的右移寄存器(注:圖中的i表示右移i位)完成了迭代等式中的乘2-i運(yùn)算,而該級(jí)的基本旋轉(zhuǎn)角度值(2-i)可以采用直接硬連接。   流水線結(jié)構(gòu)的最大優(yōu)點(diǎn)在于它的運(yùn)算速度很快在任何一個(gè)時(shí)鐘周期,n級(jí)算法單元都同時(shí)工作,如在輸入端

8、連續(xù)不斷地送入數(shù)據(jù),那么在n個(gè)時(shí)鐘周期的延遲之后,輸出端將連續(xù)得到相應(yīng)的下變頻后的數(shù)據(jù)與傳統(tǒng)的串行結(jié)構(gòu)相比,流水線結(jié)構(gòu)的運(yùn)算速提高了n倍。圖4給出了16級(jí)流水線算法的實(shí)現(xiàn)結(jié)構(gòu)虛線框中部分是個(gè)初始化旋轉(zhuǎn)單元,是因?yàn)?。由此可見,當(dāng)?shù)拇螖?shù)n趨近于無(wú)窮大時(shí),所被 覆蓋的角度只能是在-99.9度99.9度之間,若想讓 的覆蓋范圍擴(kuò)展到,必須在迭代之前再增加一個(gè)初始化旋轉(zhuǎn),將輸入向量先旋轉(zhuǎn) ,之后是16級(jí)流水線算法單元,最右邊的是級(jí)的基本旋轉(zhuǎn)角度值(2-i),di為各級(jí)累加器加/減控制信號(hào)"X0,Y0,Z0為下變頻模塊的數(shù)據(jù)輸端口,Xn,Yn,Zn是三個(gè)輸出端口"。 &

9、#160;       3.3  初始化旋轉(zhuǎn)單元代碼   輸入為x_in y_in z_in 輸出為 phi,eps,r 定義信號(hào)為x,y,z-Test for x_in0 rotate 0,+90,or -90 degreesIF x_ino THEN   x =x_in;   y=y_in;   z=z_in;ELSEIF y_in0 THEN   x=y_in;   y=-x_in; 

10、60; z=z_in+90;ELSE    x=-y_in;   y=x_in;   z=z_in-90;END IF;4  積分梳狀(CIC)濾波器的FPGA設(shè)計(jì)   CIC濾波器由兩部分組成,積分器和梳狀濾波器的級(jí)聯(lián)其沖擊響應(yīng)為         (4)     圖5顯示的是它的頻譜圖。CIC所有系數(shù)都為1,實(shí)現(xiàn)起來(lái)極其簡(jiǎn)單,它不需要任何乘法運(yùn)算,不需要存儲(chǔ)濾波器系數(shù)。為了加大阻帶衰減,通常采用

11、N級(jí)CIC濾波器如圖6所示。5  半帶抽取濾波器(HBF)的FPGA設(shè)計(jì)   濾波器特別適合于實(shí)現(xiàn)的冪次方倍的抽取,且計(jì)算效率高、實(shí)時(shí)性強(qiáng)。其頻譜如圖7所示。半帶濾波器是頻率響應(yīng)滿足阻帶寬度與通帶寬度相等,當(dāng)抽取率為2的冪次方時(shí)實(shí)現(xiàn)如圖8所示。 6  使用Dspbuilder低通濾波器的設(shè)計(jì)   使用spbuilder可以方便地在圖形化環(huán)境中設(shè)計(jì)FIR數(shù)字濾波器,而且系數(shù)的計(jì)算可以借助MATLAB強(qiáng)大的計(jì)算能力和現(xiàn)成的濾波器設(shè)計(jì)工具來(lái)完成。6.1  利用MATLAB確定濾波器的參數(shù)   低通濾波器采用FI

12、R濾波器。FIR濾波器由于有線性相位穩(wěn)定性好等特征被廣泛運(yùn)用。并且其結(jié)構(gòu)易于用FPGA實(shí)現(xiàn) MATLAB中FDA TOOL的Filter Design & Analysis Tool對(duì)濾波器的設(shè)計(jì)很有用。進(jìn)入濾波器設(shè)計(jì)界面,選擇類型LOWPASS,設(shè)計(jì)方法為WINDOW,除數(shù)為15,窗口類型為aiser,Beta為.5 另 為48KHZ, 為10.8KHZ。此時(shí)利用FDA TOOL有關(guān)工具分析反應(yīng)設(shè)計(jì)的濾波器的各種特性如幅頻,相頻,沖激,階躍響應(yīng)零極點(diǎn)等。導(dǎo)出濾波器系數(shù),然后對(duì)系數(shù)進(jìn)行量化為位寬為位絕對(duì)值為位的數(shù)值導(dǎo)出后分另擴(kuò)大倍得到整數(shù):-19  6  29

13、60; 3  -45  -25  92  212  212  92  -25  -45  3  29  6  -19。6.2  FIR濾波器的設(shè)計(jì)   FIR濾波器采用直接型結(jié)構(gòu),主要由移位寄存、乘法器和加法器組成。其設(shè)計(jì)思想是利用 DSPBuilder模塊直接實(shí)現(xiàn)乘法器和加法器?;诔恕⒓拥脑O(shè)計(jì)比較簡(jiǎn)單,系統(tǒng)工作速度較高,但占用的資源很大,因速度要求較高、階數(shù)較小的濾波器設(shè)計(jì)。利用DSPBuilder模塊設(shè)計(jì)的FIR濾波器很容易進(jìn)行能擴(kuò)展,輸入

14、數(shù)據(jù)的位寬可以根據(jù)實(shí)際的需要進(jìn)行調(diào)整。如圖9為四階FIR的subsystem 要實(shí)現(xiàn)16階或更高階的濾波器,只需要將濾波器級(jí)聯(lián)數(shù)據(jù)相加即可。7  仿真驗(yàn)證   Altera 的DPSBuilder提供的HIL模塊能很好的完成硬件仿真,HIL可以在Simulink模型與FPGA開發(fā)板間通過(guò)JTAG通信接口建立一種聯(lián)系,從而實(shí)現(xiàn)基于MATLAB/DSPBuilder平臺(tái)的硬件仿真。本文選用Altera公司的Cyclone系列EP1C6Q240C8為主芯片的開發(fā)板進(jìn)行仿真。NCO的仿真結(jié)果如圖10所示。圖10  兩輸出I/Q瞬時(shí)仿真結(jié)果   由仿真結(jié)果可見用CORDIC算法設(shè)計(jì)出來(lái)的NCO還是比較理想的,進(jìn)一步說(shuō)明模型與代碼的正確性。8  結(jié)語(yǔ)   基于CORDIC上算法設(shè)計(jì)的下變頻器,不僅完全滿足通常各類接收機(jī)的要求,而且還能克服傳統(tǒng)NCO設(shè)計(jì)方法所要消耗的大量ROM。FPGA固有的硬件可重構(gòu)特點(diǎn)適合于下變頻器的開發(fā)和設(shè)計(jì)也適合于軟件無(wú)線電的開放平臺(tái),本文中采用DSPBuilder系統(tǒng)工具和硬件傳真模塊極大的縮短了開發(fā)和仿真的時(shí)間,也方便了系統(tǒng)的更改和擴(kuò)展。可使設(shè)計(jì)更加靈活,便捷。參考文獻(xiàn)1 楊小牛,樓才義,徐建良軟件無(wú)線電原理與應(yīng)用北京:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論