日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于FPGA的數(shù)控振蕩器的設(shè)計(jì)與實(shí)現(xiàn)

出處:張 進(jìn),蘇凱雄 發(fā)布于:2007-09-24 16:15:39

  摘    要:介紹一種利用矢量旋轉(zhuǎn)的CORDIC(COordination Rotation DIgital Computer)算法實(shí)現(xiàn)正交數(shù)字混頻器中的數(shù)控振蕩器(NCO)的方法。推導(dǎo)了CORDIC算法產(chǎn)生正余弦信號的實(shí)現(xiàn)過程,給出了在FPGA 中設(shè)計(jì)數(shù)控振蕩器的頂層電路結(jié)構(gòu),并根據(jù)算法特點(diǎn)在設(shè)計(jì)中引入流水線結(jié)構(gòu)設(shè)計(jì)。 
      關(guān)鍵詞:軟件無線電;數(shù)控振蕩器;CORDIC算法;現(xiàn)場可編程門陣列 
引    言 

      在正交數(shù)字混頻器中,采用數(shù)字頻率合成技術(shù),可以將數(shù)字處理延續(xù)到正交調(diào)制之后或正交解調(diào)之前,濾波器和增益控制就可以用數(shù)字方法實(shí)現(xiàn),I、Q兩路也就不會存在增益的不平衡,加上數(shù)控振蕩器(NCO)的低正交誤差,可以使系統(tǒng)誤差降低到數(shù)據(jù)的比特(LSB)的高范圍。此外,正交數(shù)字混頻器更容易與數(shù)字信號處理技術(shù)結(jié)合,使得數(shù)字調(diào)制更加靈活,進(jìn)而實(shí)現(xiàn)軟件無線電所要求的軟件可更改的調(diào)制解調(diào)。 
      數(shù)控振蕩器是正交數(shù)字混頻器的部分,它具有頻率分辨率高、頻率變化速度快、相位可連續(xù)線性變化和生成的正弦P余弦信號正交特性好等特點(diǎn)。而且NCO的相位、幅度均已數(shù)字化,可以直接進(jìn)行高的數(shù)字調(diào)制解調(diào)。隨著數(shù)字通信的發(fā)展,傳送的數(shù)據(jù)速率越來越高。如何得到一個(gè)可數(shù)控的高頻載波信號是實(shí)現(xiàn)高速數(shù)字通信系統(tǒng)必須解決的問題。為此,作者對如何在FPGA中實(shí)現(xiàn)高速正交數(shù)字混頻器中的數(shù)控振蕩器的方法進(jìn)行了探討。 
數(shù)控振蕩器的基本實(shí)現(xiàn)原理 
      數(shù)控振蕩器的作用是產(chǎn)生正交的正弦和余弦樣本。傳統(tǒng)方法是采用查表法(LUT),即事先根據(jù)各個(gè)正余弦波相位計(jì)算好相位的正余弦值,并按相位角度作為地址存儲該相位的正余弦值,構(gòu)成一個(gè)幅度P相位轉(zhuǎn)換電路(即波形存儲器)。在系統(tǒng)時(shí)鐘的控制下,由相位累加器對輸入頻率字不斷累加,得到以該頻率字為步進(jìn)的數(shù)字相位,再通過相位相加模塊進(jìn)行初始相位偏移,得到要輸出的當(dāng)前相位,將該值作為取樣地址值送入幅度P相位轉(zhuǎn)換電路,查表獲得正余弦信號樣本。對于一個(gè)相位位數(shù)為n ,輸出信號幅度位數(shù)為M的數(shù)控振蕩器,所需查找表大小為M×2n 。為了提高數(shù)控振蕩器的頻率分辨率,往往需要擴(kuò)大波形存儲器的容量,造成存儲資源的大量消耗。而且,當(dāng)需要外掛RAM 來存儲波形時(shí),由于受到RAM讀取速度的影響,數(shù)控振蕩器的輸出速率必然受到制約。因此,當(dāng)需要設(shè)計(jì)高速、高的數(shù)控振蕩器時(shí),不宜采用查表法。 
      為了避免使用大容量存儲器,可以考慮利用算法來產(chǎn)生正余弦樣本。基于矢量旋轉(zhuǎn)的CORDIC算法正好滿足了這一需求,該算法主要用于計(jì)算三角函數(shù)、雙曲函數(shù)及其它一些基本函數(shù)運(yùn)算。它有線性的收斂域和序列的特性,只要迭代次數(shù)足夠,即可保證結(jié)果有足夠的。Walther JS于1971年提出了統(tǒng)一的CORDIC形式。假定初始向量V1(x1 ,y1)旋轉(zhuǎn)角度θ后得到向量V2(x2,y2): 
        
        即: 
                                   
                    
      若每次旋轉(zhuǎn)的角度θ是正切值為2 的倍數(shù),即θi=arctan(2-i),則cosθi=(1+2-2i)-1/2 。假設(shè)以δi代表矢量的旋轉(zhuǎn)方向,+1表示逆時(shí)針旋轉(zhuǎn),-1表示順時(shí)針旋轉(zhuǎn),故第i 步旋轉(zhuǎn)可用下式表示: 
        
        其中:(1+2-2i)-1/2為模校正因子。對于字長一定的運(yùn)算,該因子是一個(gè)常數(shù),用K表示,以16 bits字長為例,則: 
        
  可見,迭代運(yùn)算不能使幅值比例因子恒為1。為了抵消因迭代產(chǎn)生的比例因子的影響,可將輸入數(shù)據(jù)X,Y校正后再參與運(yùn)算,以避免在迭代運(yùn)算中增加校正運(yùn)算,降低CORDIC算法的速度。由此運(yùn)算迭代式可以簡化成:
         
        式(5)運(yùn)算僅通過加法器及移位器就可以實(shí)現(xiàn)。此外,若用Zi表示第i次旋轉(zhuǎn)時(shí)與目標(biāo)角度之差, 
        則:         
        經(jīng)過n次旋轉(zhuǎn)后,式(5)的n次迭代可以得到以下結(jié)果:        
  本文介紹的數(shù)控振蕩器的設(shè)計(jì)是在式(7)的基礎(chǔ)上,給定x0=K ,y0=0,則迭代結(jié)果為: 
         
        將所需產(chǎn)生的角度值作為z0輸入,通過式(5)、(6)的迭代運(yùn)算,迭代結(jié)果輸出的xn和yn就是所需要的三角函數(shù)值。 
數(shù)控振蕩器的FPGA實(shí)現(xiàn) 
  圖1是數(shù)控振蕩器的頂層電路。由圖可見,頻率控制字寄存器將接收到的的頻率控制字送入相位累加器,相位累加器對系統(tǒng)時(shí)鐘進(jìn)行計(jì)數(shù),每到達(dá)輸入頻率控制字的值即對相位進(jìn)行累加,隨后將累加值送入相位相加器,與相位控制字寄存器接收到的初始相位進(jìn)行相加,得到當(dāng)前的相位值。其中,相位累加器是決定NCO性能的一個(gè)關(guān)鍵模塊,可以利用FPGA器件的進(jìn)位鏈實(shí)現(xiàn)快速、高效的電路結(jié)構(gòu)。然而,由于進(jìn)位鏈必須位于臨近的邏輯陣列塊CLB和邏輯單元LC內(nèi),所以長的進(jìn)位鏈會減少其它邏輯使用的布線資源;同時(shí),過長的進(jìn)位鏈也會制約整個(gè)系統(tǒng)速度的提高。因此,設(shè)計(jì)中采用進(jìn)位鏈和流水線技術(shù)相結(jié)合的辦法。所謂流水線技術(shù),即把在一個(gè)時(shí)鐘內(nèi)要完成的邏輯操作分成幾步較小的操作,并插入幾個(gè)時(shí)鐘周期來提高系統(tǒng)的數(shù)據(jù)吞吐率。采用以上做法實(shí)現(xiàn)的相位累加器既能保證具有較高的資源利用率,又能大幅提高系統(tǒng)的性能和速度。 
  經(jīng)過上述相位的處理之后,即可獲得具有所設(shè)定初始相位的一定頻率的正余弦相位序列,將此序列送入基于CORDIC算法的波形發(fā)生器,終獲得兩路正交的正余弦輸出序列。 

        圖1  NCO的頂層電路結(jié)構(gòu) 
  CORDIC迭代算法的一種直接的實(shí)現(xiàn)方法是,只設(shè)計(jì)CORDIC運(yùn)算迭代單元,然后在系統(tǒng)時(shí)鐘的驅(qū)動(dòng)下,將本級的輸出作為本級的輸入,通過同迭代完成運(yùn)算。這種方法雖然很直觀,但是為了將計(jì)算結(jié)果提供給下運(yùn)算而導(dǎo)致占用了大量的寄存器,帶來許多額外的資源消耗。而的缺點(diǎn)是運(yùn)算速度較慢(需要n-1個(gè)時(shí)鐘周期才能輸出一個(gè)數(shù)據(jù)),不利于數(shù)據(jù)的高速實(shí)時(shí)處理。 
  因此在實(shí)際設(shè)計(jì)中,采用的是圖2所示的由16級CORDIC運(yùn)算單元組成的流水線結(jié)構(gòu),正常工作時(shí)只需1個(gè)時(shí)鐘周期就能輸出1個(gè)數(shù)據(jù),為數(shù)據(jù)實(shí)現(xiàn)高速實(shí)時(shí)處理提供了前提。每實(shí)現(xiàn)的功能是根據(jù)式(5)進(jìn)行迭代,移位的位數(shù)等于當(dāng)前的迭代級數(shù),加減法選擇由該級中Z 的位(符號位)決定,得到下的X 、Y 和Z 的值。經(jīng)過16級流水線運(yùn)算后,Z的值變?yōu)?,X 和Y 的值則為初始值z0的余弦和正弦值。每電路結(jié)構(gòu)主要包括2個(gè)移位器和3個(gè)加(減)法器,級與級之間直接相連,不需要額外的寄存器。θi 的值為arctan(2-i),可將該小數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)后,存儲于存儲單元中,為每流水線提供查找表。若對于16級的流水線結(jié)構(gòu),則的范圍是0~15。 

        圖2  CORDIC迭代算法的流水線結(jié)構(gòu)
  設(shè)計(jì)中還應(yīng)該注意迭代序列所能覆蓋的角度范圍,若直接采用n 級迭代序列:0 ,1 ,2 ,…,n - 1 ,則迭代所能覆蓋的角度范圍僅有- 99.9°~99.9°。本設(shè)計(jì)采用了增加迭代次數(shù)的方法來擴(kuò)大角度覆蓋范圍,即增加兩個(gè)i = 0 的迭代,將迭代序列擴(kuò)展為0,0,0,1,2,…,n-1,從而使角度覆蓋范圍也擴(kuò)大到-π~π。 
數(shù)控振蕩器的仿真結(jié)果及性能分析 

      利用Altera公司的QuartusII軟件,采用VHDL硬件描述語言對上述數(shù)控振蕩器結(jié)構(gòu)進(jìn)行描述,在Modlesim上通過功能仿真,結(jié)果正確后綜合出電路網(wǎng)表,將程序至Altera公司生產(chǎn)的Stratix器件EP1S20B780C6實(shí)現(xiàn)。
 
  由于設(shè)計(jì)中采用了Stratix器件,該器件的32位加減器工作頻率可以達(dá)到90MHz以上,為產(chǎn)生高速的正交信號提供高速可靠的的工作時(shí)鐘。考慮到NCO的工作時(shí)鐘瓶頸是在相位累加器,因此可以根據(jù)具體需要縮減相位累加器的位數(shù)來提高NCO的工作時(shí)鐘。本文設(shè)計(jì)的NCO工作時(shí)鐘為100MHz,相位累加器的位數(shù)為16位,輸入的頻率控制字為4CCCH,根據(jù)公式: 
        
  其中:Φword為輸入的頻率控制字;fclk為工作時(shí)鐘;N為相位累加器位數(shù),可算出NCO輸出的正余弦信號的頻率;fout為30MHz ;頻率分辨率Δf ≈1.5 kHz。頻率分辨率說明了若通過輸入頻率控制字來改變輸出正余弦信號的頻率時(shí),可以達(dá)到1.5 kHz 的步進(jìn)。另外,也可以根據(jù)實(shí)際需要的頻率改變輸入頻率控制字值。當(dāng)然,NCO輸出頻率的上限要受到Nyquist定律的限制,即fout的值為fclkP2,實(shí)際設(shè)計(jì)一般不大于0.4fclk。圖3為數(shù)控振蕩器的部分仿真時(shí)序圖。 

        圖3   NCO的部分仿真時(shí)序圖 
 結(jié)    語 
   研究了正交數(shù)字混頻器中數(shù)控振蕩器的設(shè)計(jì)與實(shí)現(xiàn)方法,著重分析了如何在FPGA器件中利用CORDIC迭代算法產(chǎn)生正余弦信號。結(jié)果表明,基于CORDIC迭代算法的數(shù)控振蕩器,僅用移位寄存器和加法器就可產(chǎn)生正余弦信號,不但省去了傳統(tǒng)NCO龐大的存儲器資源,而且保留了一般數(shù)控振蕩器頻率分辨率高、頻率變化速度快、相位可連續(xù)線性變化、生成的正弦P余弦信號正交特性好等特點(diǎn),非常適用于在正交數(shù)字混頻器中進(jìn)行高速高的數(shù)字調(diào)制解調(diào)。


  

參考文獻(xiàn):

[1]. n-1 datasheet http://www.hbjingang.com/datasheet/n-1_1997158.html.


關(guān)鍵詞:基于FPGA的數(shù)控振蕩器的設(shè)計(jì)與實(shí)現(xiàn)ALTERA30MHZ90MHZ

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

雙利(香港)電子有限公司是一家獨(dú)立電子元器件分銷商。專營分銷 XILINX .ALTERA.TI.ADI.ST各系列IC,。
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!