• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于CORDIC算法2FSK調(diào)制器的FPGA設(shè)計(jì)

      2011-06-30 01:09:38雷能芳
      現(xiàn)代電子技術(shù) 2011年9期
      關(guān)鍵詞:調(diào)制器

      摘 要:頻移鍵控(FSK)是用不同頻率的載波來傳遞數(shù)字信號(hào),并用數(shù)字基帶信號(hào)控制載波信號(hào)的頻率。提出一種基于流水線CORDIC 算法的2FSK 調(diào)制器的FPGA實(shí)現(xiàn)方案,可有效地節(jié)省FPGA 的硬件資源,提高運(yùn)算速度。最后,給出該方案的硬件測試結(jié)果,驗(yàn)證了設(shè)計(jì)的正確性。

      關(guān)鍵詞:移頻鍵控; 調(diào)制器; CORDIC算法; FPGA

      中圖分類號(hào):TN911-34

      文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1004-373X(2011)09-0077-03

      Design of 2FSK Modulator Based on CORDIC Algorithm and FPGA

      LEI Neng-fang

      (Department of Physics and Electronic Engineering, Weinan Teachers University, Weinan 714000, China)

      Abstract: The frequency-shift keying (FSK) transmits the digital signal with different frequency carrier, and controls the frequency of carrier with the digital basedand signal. The implementation scheme of 2FSK modulator based on pipeline CORDIC algorithm and FPGA is porposed. It can save the hardware resources and improve the operating speed efficiently. The design was verified by the practical testing result.

      Keywords: FSK; modulator; CORDIC algorithm; FPGA

      0 引 言

      頻移鍵控(FSK)是用不同頻率的載波來傳送數(shù)字信號(hào),并用數(shù)字基帶信號(hào)控制載波信號(hào)的頻率。具有抗噪聲性能好、傳輸距離遠(yuǎn)、誤碼率低等優(yōu)點(diǎn)。在中低速數(shù)據(jù)傳輸中,特別是在衰落信道中傳輸數(shù)據(jù)時(shí),有著廣泛的應(yīng)用。傳統(tǒng)上以硬件實(shí)現(xiàn)載波的方法都是采用直接頻率合成器(DDS)實(shí)現(xiàn)。但是DDS傳統(tǒng)的實(shí)現(xiàn)方式是基于查找表思想,即通過查找預(yù)先存儲(chǔ)的正余弦表來產(chǎn)生需要的正余弦值。當(dāng)頻率、精度要求越高,需要存儲(chǔ)的值也就越多,考慮FPGA的RAM資源有限,傳統(tǒng)的DDS實(shí)現(xiàn)方式就有了應(yīng)用瓶頸[1]。因此導(dǎo)致開發(fā)成本過高,甚至無法實(shí)現(xiàn),不適合現(xiàn)代通信系統(tǒng)的發(fā)展。

      本文提出了應(yīng)用CORDIC(Coordinate Rotation Digital Computer)算法實(shí)時(shí)計(jì)算正弦值的方案,并基于CORDIC算法在FPGA芯片上設(shè)計(jì)了2FSK調(diào)制器。這不僅能夠節(jié)省大量的FPGA邏輯資源,而且能很好地兼顧速度、精度、簡單、高效等方面。

      1 CORDIC算法原理及結(jié)構(gòu)

      1.1 CORDIC算法原理

      CORDIC算法[2]是由J.Volder于1959年提出的。該算法適用于解決一些三角學(xué)的問題,如平面坐標(biāo)的旋轉(zhuǎn)和直角坐標(biāo)到極坐標(biāo)的轉(zhuǎn)換等。CORDIC算法的基本思想是通過一系列固定的、與運(yùn)算基數(shù)有關(guān)的角度的不斷偏擺以逼近所需的旋轉(zhuǎn)角度。從廣義上講,CORDIC方法就是一種數(shù)值計(jì)算的逼近方法。該算法實(shí)現(xiàn)三角函數(shù)的基本原理如圖1所示。

      圖1 CORDIC算法原理圖

      設(shè)初始向量(x0,y0)逆時(shí)針旋轉(zhuǎn)角度θ后得到向量(xn,yn),如圖1所示。則:

      xn=x0cos θ-y0sin θ

      yn=y0cos θ+x0sin θ

      (1)

      經(jīng)變換為:

      xn=(x0-y0tan θ)cos θ

      yn=(y0+x0tan θ)cos θ

      (2)

      為了避免復(fù)雜的乘法運(yùn)算,用一系列微旋轉(zhuǎn)來處理,第i次旋轉(zhuǎn)可表示為:

      xi+1=(xi-δiyi2-i)ki

      yi+1=(yi+δixi2-i)ki

      zi+1=zi-δitan-12-i

      (3)

      式中:θi表示第i次旋轉(zhuǎn)的角度,并且滿足tan θi=2-i;zi表示第i次旋轉(zhuǎn)后與目標(biāo)角度的差;δi表示向量的旋轉(zhuǎn)方向,由zi的符號(hào)位來決定,即δi=sign zi。ki=11+2-2i為每一級(jí)的校正因子,也就是每一級(jí)旋轉(zhuǎn)時(shí)向量模長發(fā)生的變化,對于字長一定的運(yùn)算,總的校正因子是一個(gè)常數(shù)。若總的旋轉(zhuǎn)次數(shù)為n,則總校正因子用k表示為:

      k=∏n-1i=011+2-2i

      (4)

      令x′0

      =kx0,y′0

      =ky0,則:

      x′i+1

      =

      x′i-δi

      y′i2-i

      y′i+1=

      y′i+δi

      x′i2-i

      (5)

      式(5)就是CORDIC算法的迭代式。迭代n次(n→∞)后可以得到如下結(jié)果:

      xn=(x0cos θ-y0sin θ)k

      yn=(y0cos θ+x0sin θ)k

      zn=z0-θ

      (6)

      若給定的初始輸入數(shù)據(jù)為x0=1/k,y0=0時(shí),z0=θ,則輸出為:

      xn=cos θ

      yn=sin θ

      zn=0

      (7)

      由式(7)可知:xn,yn分別為輸入角θ的余弦和正弦值,故基于CORDIC算法可產(chǎn)生正弦載波信號(hào),而且由式(5)可以看出所有運(yùn)算簡化成加減法和移位操作,因此很容易用硬件實(shí)現(xiàn)。

      1.2 CORDIC 流水線結(jié)構(gòu)

      CORDIC算法的實(shí)現(xiàn)方式有2種:簡單狀態(tài)機(jī)法和高速全流水線處理器法。如果計(jì)算時(shí)間的要求不嚴(yán)格,可以采用狀態(tài)機(jī)結(jié)構(gòu)。這一結(jié)構(gòu)中最復(fù)雜的就是兩個(gè)桶狀移位器,而桶狀移位器的面積大約和它所包含的傳輸門的數(shù)目成正比[3]。盡管可以通過改進(jìn)CORDIC算法來減小CORDIC處理器的總面積,但桶狀移位器所占的面積并不能減小。另外,這種結(jié)構(gòu)由于只在時(shí)間上復(fù)用資源,因此,數(shù)據(jù)吞吐率不高。

      由于CORDIC算法的內(nèi)部數(shù)據(jù)流規(guī)則,決定了在CORDIC處理器解決方案中非常適合采用流水線型微旋轉(zhuǎn)結(jié)構(gòu)。采用流水線可將一個(gè)算術(shù)操作分解成一些小規(guī)模的加減法和移位操作,并在多個(gè)比較高速的時(shí)鐘內(nèi)完成。另一方面,輸出信號(hào)的精度只與CORDIC算法的旋轉(zhuǎn)次數(shù)或流水單元數(shù)有關(guān),即與級(jí)數(shù)有關(guān)。如需提高精度,只需簡單地增加流水單元即可,其擴(kuò)展性很好,而且這并不會(huì)大量增加FPGA的資源耗費(fèi)[4]。CORDIC流水線結(jié)構(gòu)的每一級(jí)迭代旋轉(zhuǎn)的硬件實(shí)現(xiàn)基本單元如圖2所示。

      圖2 CORDIC算法基本單元

      2 基于CORDIC算法正弦載波發(fā)生器的總體結(jié)構(gòu)

      正弦載波發(fā)生器系統(tǒng)結(jié)構(gòu)如圖3所示。

      圖3 正弦載波發(fā)生器系統(tǒng)結(jié)構(gòu)圖

      在該系統(tǒng)結(jié)構(gòu)圖中,CORDIC計(jì)算單元是核心。CORDIC計(jì)算單元的輸入由相位加法器提供。相位加法器不間斷地產(chǎn)生角度值,由CORDIC計(jì)算單元計(jì)算出相應(yīng)的三角函數(shù)值,即可在其輸出端產(chǎn)生連續(xù)的數(shù)字正弦載波。

      通過頻率控制字,改變相位累加器的步長,這樣即可改變正弦載波的頻率。具體的數(shù)學(xué)推導(dǎo)如下[5]:

      設(shè)相位累加器的字長為N,頻率控制字即步長為step,則2琋就相當(dāng)于2π rad,N位中的最低有效位相當(dāng)于2π/2琋 rad,即最小的相位增量,step對應(yīng)的相位為step×(2π/2琋) rad,完成一個(gè)周期的正弦載波輸出需要2琋/step個(gè)參考時(shí)鐘周期。所以輸出正弦載波的周期為:

      Tsinout=2琋stepTclk

      (8)

      輸出正弦載波的頻率為:

      fsinout=step2琋fclk

      (9)

      當(dāng)step=1時(shí),輸出頻率最低,即正弦載波的頻率分辨率為:

      Δf=12琋fclk

      (10)

      可見改變相位累加器的步長step,可以改變正弦載波的頻率;改變相位累加器的字長N,可控制正弦載波的頻率分辨率。在相位累加器后加入相位加法器, 通過改變相位控制字P,可以控制輸出信號(hào)的相位;通過設(shè)置幅度控制字A,可控制最終輸出的正弦載波的幅度大小。因此,通過對相位控制字、頻率控制字或幅度控制字進(jìn)行多路選擇, 可以形成不同進(jìn)制的調(diào)制方式??梢钥闯? 使用該結(jié)構(gòu)可以很容易實(shí)現(xiàn)頻率調(diào)制、相位調(diào)制和幅值調(diào)制。

      3 2FSK調(diào)制器的FPGA設(shè)計(jì)

      圖4為2FSK調(diào)制器頂層工程原理圖。該原理圖主要由三個(gè)模塊組成:2選1數(shù)據(jù)選擇器MUX21、相位累加器adder、正弦載波生成模塊cordic。其中,clk為系統(tǒng)時(shí)鐘信號(hào),rst為系統(tǒng)清零信號(hào),step1,step2為2個(gè)不同的頻率控制字,s為系統(tǒng)頻率控制字選通端。2選1數(shù)據(jù)選擇器的選通端s受基帶信號(hào)控制,當(dāng)基帶信號(hào)為‘0時(shí),選通控制字step1;當(dāng)基帶信號(hào)為‘1時(shí),選通控制字step2。通過對step1,step2的選擇,可以實(shí)現(xiàn)頻率的切換。

      在QuartusⅡ環(huán)境中,三個(gè)子模塊均用VHDL語言進(jìn)行設(shè)計(jì),系統(tǒng)頂層工程采用原理圖進(jìn)行設(shè)計(jì),對系統(tǒng)頂層工程進(jìn)行器件選擇、引腳鎖定、編譯、綜合后下載到Cyclone系列EP1C12Q240C8器件中,通過在頻率控制字的引腳選擇不同參數(shù)即可在FPGA器件中完成2FSK調(diào)制器的設(shè)計(jì)。

      圖4 2FSK調(diào)制器頂層工程原理圖

      4 系統(tǒng)硬件實(shí)時(shí)測試

      調(diào)制器的輸出信號(hào)為數(shù)字信號(hào),經(jīng)D/A轉(zhuǎn)換后可以通過示波器進(jìn)行測試,也可以直接采用QuartusⅡ軟件中的嵌入式邏輯分析儀SignalTapⅡ進(jìn)行測試。

      采用SignalTapⅡ進(jìn)行芯片測試,用戶無需外接專用儀器,就可以對FPGA器件內(nèi)部所有信號(hào)和節(jié)點(diǎn)進(jìn)行捕獲分析,而又不影響原硬件系統(tǒng)的正常工作[6]。經(jīng)測試得到的實(shí)時(shí)波形如圖5所示。

      測試結(jié)果表明,基于FPGA和CORDIC算法的2FSK調(diào)制器設(shè)計(jì)方案是正確可行的,且波形流暢,在轉(zhuǎn)換處能快速進(jìn)行切換。

      圖5 2FSK調(diào)制器實(shí)時(shí)波形

      5 結(jié) 語

      用FPGA和CORDIC算法實(shí)現(xiàn)信號(hào)調(diào)制,既克服了傳統(tǒng)方法耗費(fèi)資源、運(yùn)行速度低等缺點(diǎn),還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,極大地提高了電子系統(tǒng)設(shè)計(jì)的靈活性和通用性,大大縮短了系統(tǒng)的開發(fā)周期。

      參考文獻(xiàn)

      [1]鄭瑾,葛臨東.基于流水線CORDIC算法的數(shù)字下變頻實(shí)現(xiàn)[J].現(xiàn)代雷達(dá),2006,28(10):62-64.

      [2]VOLDER J E. The CORDIC trigonometric computing technique [J]. IRE Trans.on Electronic Computers, 1959, 8 (3): 330-334.

      [3]MEYER-BAESE Uwe.數(shù)字信號(hào)處理的FPGA 實(shí)現(xiàn)[M].劉凌,譯.2版.北京:清華大學(xué)出版社,2006.

      [4]盧貴主.基于CORDIC算法的DDFS實(shí)現(xiàn)研究[J].廈門大學(xué)學(xué)報(bào):自然科學(xué)版,2004,43(5):636-639.

      [5]雷能芳.基于DDS技術(shù)的數(shù)字移相正弦信號(hào)發(fā)生器的CPLD設(shè)計(jì)與仿真[J].科學(xué)技術(shù)與工程,2009,9(4):1009-1011.

      [6]潘松,黃繼業(yè).EDA技術(shù)與VHDL[M].北京:清華大學(xué)出版社,2005.

      [7]王玉泰,李念強(qiáng).基于DSP的直接數(shù)字頻率合成的算法研究及實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2004,25(4):66-68.

      [8]姚亞峰,付東兵,楊曉非.基于CORDIC 改進(jìn)算法的高速DDS電路設(shè)計(jì)[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2009,37(2):25-27.

      [9]張曉彤,辛茹,王沁,等.基于改進(jìn)混合式CORDIC算法的直接數(shù)字頻率合成器設(shè)計(jì)[J].電子學(xué)報(bào),2008,36(6):1144-1147.

      [10]姜宇柏,黃志強(qiáng).通信收發(fā)機(jī)的Verilog實(shí)現(xiàn)與仿真[M].北京:機(jī)械工業(yè)出版社,2004.

      [11]張健,楊萬麟.利用Virtex器件實(shí)現(xiàn)子空間法雷達(dá)目標(biāo)一維像識(shí)別[J].現(xiàn)代電子技術(shù),2007,30(19):77-79.

      [12]關(guān)進(jìn)輝,石春和,何遠(yuǎn)輝.基于PC104總線的2FSK調(diào)制器的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010,33(1):87-89.

      注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

      猜你喜歡
      調(diào)制器
      基于鎖相環(huán)技術(shù)的振蕩器穩(wěn)頻調(diào)制器仿真研究
      電子制作(2019年15期)2019-08-27 01:12:08
      一種基于前饋網(wǎng)絡(luò)的素?cái)?shù)Sigma-Delta調(diào)制器優(yōu)化設(shè)計(jì)*
      一種用數(shù)字集成電路FPGA實(shí)現(xiàn)的偽速率調(diào)制器
      D類功放中數(shù)字調(diào)制器的研究與實(shí)現(xiàn)
      IDT針對下一代無線通信推出低功耗IQ調(diào)制器
      基于金屬表面等離子體激元的光調(diào)制器研究
      罗山县| 东乌| 开原市| 彝良县| 南投市| 正阳县| 巴彦淖尔市| 文山县| 西城区| 集贤县| 鄂伦春自治旗| 沅陵县| 华坪县| 泌阳县| 襄樊市| 沙坪坝区| 普定县| 灵武市| 碌曲县| 山丹县| 桂阳县| 赣州市| 肇东市| 青海省| 绍兴县| 铁岭市| 沐川县| 吉首市| 如皋市| 焉耆| 崇义县| 江都市| 锡林浩特市| 鸡泽县| 威信县| 扎兰屯市| 探索| 祁阳县| 临高县| 宁晋县| 汉川市|