




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、【W(wǎng)ord版本下載可任意編輯】 FPGA的數(shù)控振蕩器的設計與實現(xiàn) 引言 在正交數(shù)字混頻器中,采用數(shù)字頻率合成技術,可以將數(shù)字處理延續(xù)到正交調(diào)制之后或正交解調(diào)之前,濾波器和增益控制就可以用數(shù)字方法實現(xiàn),I、Q兩路也就不會存在增益的不平衡,加上數(shù)控振蕩器(NCO)的低正交誤差,可以使系統(tǒng)誤差降低到數(shù)據(jù)的比特(LSB)的高精度范圍。此外,正交數(shù)字混頻器更容易與數(shù)字信號處理技術結(jié)合,使得數(shù)字調(diào)制更加靈活,進而實現(xiàn)軟件無線電所要求的軟件可更改的調(diào)制解調(diào)。 數(shù)控振蕩器是正交數(shù)字混頻器的部分,它具有頻率分辨率高、頻率變化速度快、相位可連續(xù)線性變化和生成的正弦P余弦信號正交特性好等特點。而且NCO的相位、幅度
2、均已數(shù)字化,可以直接開展高精度的數(shù)字調(diào)制解調(diào)。隨著數(shù)字通信的發(fā)展,傳送的數(shù)據(jù)速率越來越高。如何得到一個可數(shù)控的高頻載波信號是實現(xiàn)高速數(shù)字通信系統(tǒng)必須解決的問題。為此,作者對如何在FPGA中實現(xiàn)高速正交數(shù)字混頻器中的數(shù)控振蕩器的方法開展了探討。 數(shù)控振蕩器的基本實現(xiàn)原理 數(shù)控振蕩器的作用是產(chǎn)生正交的正弦和余弦樣本。傳統(tǒng)方法是采用查表法(LUT),即事先根據(jù)各個正余弦波相位計算好相位的正余弦值,并按相位角度作為地址存儲該相位的正余弦值,構(gòu)成一個幅度P相位轉(zhuǎn)換電路(即波形存儲器)。在系統(tǒng)時鐘的控制下,由相位累加器對輸入頻率字不斷累加,得到以該頻率字為步進的數(shù)字相位,再通過相位相加模塊開展初始相位偏移
3、,得到要輸出的當前相位,將該值作為取樣地址值送入幅度P相位轉(zhuǎn)換電路,查表獲得正余弦信號樣本。對于一個相位位數(shù)為n ,輸出信號幅度位數(shù)為M的數(shù)控振蕩器,所需查找表大小為M2n 。為了提高數(shù)控振蕩器的頻率分辨率,往往需要擴大波形存儲器的容量,造成存儲資源的大量消耗。而且,當需要外掛RAM 來存儲波形時,由于受到RAM讀取速度的影響,數(shù)控振蕩器的輸出速率必然受到制約。因此,當需要設計高速、高精度的數(shù)控振蕩器時,不宜采用查表法。 為了防止使用大容量存儲器,可以考慮利用算法來產(chǎn)生正余弦樣本?;谑噶啃D(zhuǎn)的CORDIC算法正好滿足了這一需求,該算法主要用于計算三角函數(shù)、雙曲函數(shù)及其它一些基本函數(shù)運算。它有
4、線性的收斂域和序列的特性,只要迭代次數(shù)足夠,即可保證結(jié)果有足夠的精度。Walther JS于1971年提出了統(tǒng)一的CORDIC形式。假定初始向量V1(x1 ,y1)旋轉(zhuǎn)角度后得到向量V2(x2,y2): 即: 若每次旋轉(zhuǎn)的角度是正切值為2 的倍數(shù),即i=arctan(2-i),則cosi=(1+2-2i)-1/2 。假設以i代表矢量的旋轉(zhuǎn)方向,+1表示逆時針旋轉(zhuǎn),-1表示順時針旋轉(zhuǎn),故第i 步旋轉(zhuǎn)可用下式表示: 其中:(1+2-2i)-1/2為模校正因子。對于字長一定的運算,該因子是一個常數(shù),用K表示,以16 bits字長為例,則: 可見,迭代運算不能使幅值比例因子恒為1。為了抵消因迭代產(chǎn)生的
5、比例因子的影響,可將輸入數(shù)據(jù)X,Y校正后再參與運算,以防止在迭代運算中增加校正運算,降低CORDIC算法的速度。由此運算迭代式可以簡化成: 式(5)運算僅通過加法器及移位器就可以實現(xiàn)。此外,若用Zi表示第i次旋轉(zhuǎn)時與目標角度之差, 則: 經(jīng)過n次旋轉(zhuǎn)后,式(5)的n次迭代可以得到以下結(jié)果: 本文介紹的數(shù)控振蕩器的設計是在式(7)的根底上,給定x0=K ,y0=0,則迭代結(jié)果為: 將所需產(chǎn)生的角度值作為z0輸入,通過式(5)、(6)的迭代運算,迭代結(jié)果輸出的xn和yn就是所需要的三角函數(shù)值。 數(shù)控振蕩器的FPGA實現(xiàn) 圖1是數(shù)控振蕩器的頂層電路。由圖可見,頻率控制字存放器將接收到的的頻率控制字送
6、入相位累加器,相位累加器對系統(tǒng)時鐘開展計數(shù),每到達輸入頻率控制字的值即對相位開展累加,隨后將累加值送入相位相加器,與相位控制字存放器接收到的初始相位開展相加,得到當前的相位值。其中,相位累加器是決定NCO性能的一個關鍵模塊,可以利用FPGA器件的進位鏈實現(xiàn)快速、高效的電路構(gòu)造。然而,由于進位鏈必須位于臨近的邏輯陣列塊CLB和邏輯單元LC內(nèi),所以長的進位鏈會減少其它邏輯使用的布線資源;同時,過長的進位鏈也會制約整個系統(tǒng)速度的提高。因此,設計中采用進位鏈和流水線技術相結(jié)合的方法。所謂流水線技術,即把在一個時鐘內(nèi)要完成的邏輯操作分成幾步較小的操作,并插入幾個時鐘周期來提高系統(tǒng)的數(shù)據(jù)吞吐率。采用以上做
7、法實現(xiàn)的相位累加器既能保證具有較高的資源利用率,又能大幅提高系統(tǒng)的性能和速度。 經(jīng)過上述相位的處理之后,即可獲得具有所設定初始相位的一定頻率的正余弦相位序列,將此序列送入基于CORDIC算法的波形發(fā)生器,終獲得兩路正交的正余弦輸出序列。 圖1 NCO的頂層電路構(gòu)造 CORDIC迭代算法的一種直接的實現(xiàn)方法是,只設計CORDIC運算迭代單元,然后在系統(tǒng)時鐘的驅(qū)動下,將本級的輸出作為本級的輸入,通過同迭代完成運算。這種方法雖然很直觀,但是為了將計算結(jié)果提供應下運算而導致占用了大量的存放器,帶來許多額外的資源消耗。而的缺點是運算速度較慢(需要n-1個時鐘周期才能輸出一個數(shù)據(jù)),不利于數(shù)據(jù)的高速實時處
8、理。 因此在實際設計中,采用的是圖2所示的由16級CORDIC運算單元組成的流水線構(gòu)造,正常工作時只需1個時鐘周期就能輸出1個數(shù)據(jù),為數(shù)據(jù)實現(xiàn)高速實時處理提供了前提。每實現(xiàn)的功能是根據(jù)式(5)開展迭代,移位的位數(shù)等于當前的迭代級數(shù),加減法選擇由該級中Z 的位(符號位)決定,得到下的X 、Y 和Z 的值。經(jīng)過16級流水線運算后,Z的值變?yōu)?,X 和Y 的值則為初始值z0的余弦和正弦值。每電路構(gòu)造主要包括2個移位器和3個加(減)法器,級與級之間直接相連,不需要額外的存放器。i 的值為arctan(2-i),可將該小數(shù)轉(zhuǎn)換為二進制數(shù)后,存儲于存儲單元中,為每流水線提供查找表。若對于16級的流水線構(gòu)造
9、,則的范圍是015。 圖2 CORDIC迭代算法的流水線構(gòu)造 設計中還應該注意迭代序列所能覆蓋的角度范圍,若直接采用n 級迭代序列:0 ,1 ,2 ,n - 1 ,則迭代所能覆蓋的角度范圍僅有- 99.999.9。本設計采用了增加迭代次數(shù)的方法來擴大角度覆蓋范圍,即增加兩個i = 0 的迭代,將迭代序列擴展為0,0,0,1,2,n-1,從而使角度覆蓋范圍也擴大到-。 數(shù)控振蕩器的仿真結(jié)果及性能分析 利用Altera公司的QuartusII軟件,采用VHDL硬件描述語言對上述數(shù)控振蕩器構(gòu)造開展描述,在Modlesim上通過功能仿真,結(jié)果正確后綜合出電路網(wǎng)表,將程序至Altera公司生產(chǎn)的Stra
10、tix器件EP1S20B780C6實現(xiàn)。 由于設計中采用了Stratix器件,該器件的32位加減器工作頻率可以到達90MHz以上,為產(chǎn)生高速的正交信號提供高速可靠的的工作時鐘??紤]到NCO的工作時鐘瓶頸是在相位累加器,因此可以根據(jù)具體需要縮減相位累加器的位數(shù)來提高NCO的工作時鐘。本文設計的NCO工作時鐘為100MHz,相位累加器的位數(shù)為16位,輸入的頻率控制字為4CCCH,根據(jù)公式: 其中:word為輸入的頻率控制字;fclk為工作時鐘;N為相位累加器位數(shù),可算出NCO輸出的正余弦信號的頻率;fout為30MHz ;頻率分辨率f 1.5 kHz。頻率分辨率說明了若通過輸入頻率控制字來改變輸出正余弦信號的頻率時,可以到達1.5 kHz 的步進。另外,也可以根據(jù)實際需要的頻率改變輸入頻率控制字值。當然,NCO輸出頻率的上限要受到Nyquist定律的限制,即fout的值為fclkP2,實際設計一般不大于0.4fclk。圖3為數(shù)控振蕩器的部分仿真時序圖。 圖3 NCO的部分仿真時序圖 結(jié)語 研究了正交數(shù)字混頻器中數(shù)控振蕩器的設計與實現(xiàn)方法,著重分析了如何在FPGA器件中利用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0057-2024“領跑者”評價技術要求 石油、石化及相關工業(yè)用的鋼制球閥
- T-ZJZYC 010-2024 中藥材產(chǎn)業(yè)合規(guī)管理規(guī)范
- 二零二五年度個人向新能源車輛制造商借款購買電動車的合同
- 歷年合同法司考備考輔導班師資聘用合同2025年度
- 2025年度集體土地租賃與特色小鎮(zhèn)建設合同
- 二零二五年度互聯(lián)網(wǎng)廣告聯(lián)盟合作協(xié)議合同
- 2025年度砂石場勞務人員薪酬及福利待遇合同
- 二零二五年度網(wǎng)紅獨家經(jīng)紀合作協(xié)議模板
- 二零二五年度電子商務平臺支付清算合同范本
- 新能源汽車項目買賣合同
- 《計算機應用基礎》教學教案-02文字錄入技術
- 2023年大疆科技行業(yè)發(fā)展概況分析及未來五年行業(yè)數(shù)據(jù)趨勢預測
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院院感知識培訓
- 《審計學》完整全套課件
- 胎盤早剝應急預案演練腳本
- 2023年中國鐵路南寧局招聘筆試參考題庫附帶答案詳解
- 某鐵路注漿處理工藝性試驗方案
- GB/T 12265-2021機械安全防止人體部位擠壓的最小間距
- GB 8537-2018食品安全國家標準飲用天然礦泉水
- GB 31247-2014電纜及光纜燃燒性能分級
- 部編人教版道德與法治五年級下冊全冊課時練習講解課件
評論
0/150
提交評論