999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CORDIC算法2FSK調制器的FPGA設計

2011-06-30 01:09:38雷能芳
現代電子技術 2011年9期

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

關鍵詞:移頻鍵控; 調制器; CORDIC算法; FPGA

中圖分類號:TN911-34

文獻標識碼:A

文章編號: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)是用不同頻率的載波來傳送數字信號,并用數字基帶信號控制載波信號的頻率。具有抗噪聲性能好、傳輸距離遠、誤碼率低等優點。在中低速數據傳輸中,特別是在衰落信道中傳輸數據時,有著廣泛的應用。傳統上以硬件實現載波的方法都是采用直接頻率合成器(DDS)實現。但是DDS傳統的實現方式是基于查找表思想,即通過查找預先存儲的正余弦表來產生需要的正余弦值。當頻率、精度要求越高,需要存儲的值也就越多,考慮FPGA的RAM資源有限,傳統的DDS實現方式就有了應用瓶頸[1]。因此導致開發成本過高,甚至無法實現,不適合現代通信系統的發展。

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

1 CORDIC算法原理及結構

1.1 CORDIC算法原理

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

圖1 CORDIC算法原理圖

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

xn=x0cos θ-y0sin θ

yn=y0cos θ+x0sin θ

(1)

經變換為:

xn=(x0-y0tan θ)cos θ

yn=(y0+x0tan θ)cos θ

(2)

為了避免復雜的乘法運算,用一系列微旋轉來處理,第i次旋轉可表示為:

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

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

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

(3)

式中:θi表示第i次旋轉的角度,并且滿足tan θi=2-i;zi表示第i次旋轉后與目標角度的差;δi表示向量的旋轉方向,由zi的符號位來決定,即δi=sign zi。ki=11+2-2i為每一級的校正因子,也就是每一級旋轉時向量模長發生的變化,對于字長一定的運算,總的校正因子是一個常數。若總的旋轉次數為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→∞)后可以得到如下結果:

xn=(x0cos θ-y0sin θ)k

yn=(y0cos θ+x0sin θ)k

zn=z0-θ

(6)

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

xn=cos θ

yn=sin θ

zn=0

(7)

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

1.2 CORDIC 流水線結構

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

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

圖2 CORDIC算法基本單元

2 基于CORDIC算法正弦載波發生器的總體結構

正弦載波發生器系統結構如圖3所示。

圖3 正弦載波發生器系統結構圖

在該系統結構圖中,CORDIC計算單元是核心。CORDIC計算單元的輸入由相位加法器提供。相位加法器不間斷地產生角度值,由CORDIC計算單元計算出相應的三角函數值,即可在其輸出端產生連續的數字正弦載波。

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

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

Tsinout=2琋stepTclk

(8)

輸出正弦載波的頻率為:

fsinout=step2琋fclk

(9)

當step=1時,輸出頻率最低,即正弦載波的頻率分辨率為:

Δf=12琋fclk

(10)

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

3 2FSK調制器的FPGA設計

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

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

圖4 2FSK調制器頂層工程原理圖

4 系統硬件實時測試

調制器的輸出信號為數字信號,經D/A轉換后可以通過示波器進行測試,也可以直接采用QuartusⅡ軟件中的嵌入式邏輯分析儀SignalTapⅡ進行測試。

采用SignalTapⅡ進行芯片測試,用戶無需外接專用儀器,就可以對FPGA器件內部所有信號和節點進行捕獲分析,而又不影響原硬件系統的正常工作[6]。經測試得到的實時波形如圖5所示。

測試結果表明,基于FPGA和CORDIC算法的2FSK調制器設計方案是正確可行的,且波形流暢,在轉換處能快速進行切換。

圖5 2FSK調制器實時波形

5 結 語

用FPGA和CORDIC算法實現信號調制,既克服了傳統方法耗費資源、運行速度低等缺點,還具有靜態可重復編程和動態在系統重構的特性,極大地提高了電子系統設計的靈活性和通用性,大大縮短了系統的開發周期。

參考文獻

[1]鄭瑾,葛臨東.基于流水線CORDIC算法的數字下變頻實現[J].現代雷達,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.數字信號處理的FPGA 實現[M].劉凌,譯.2版.北京:清華大學出版社,2006.

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

[5]雷能芳.基于DDS技術的數字移相正弦信號發生器的CPLD設計與仿真[J].科學技術與工程,2009,9(4):1009-1011.

[6]潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2005.

[7]王玉泰,李念強.基于DSP的直接數字頻率合成的算法研究及實現[J].儀器儀表學報,2004,25(4):66-68.

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

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

[10]姜宇柏,黃志強.通信收發機的Verilog實現與仿真[M].北京:機械工業出版社,2004.

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

[12]關進輝,石春和,何遠輝.基于PC104總線的2FSK調制器的設計與實現[J].現代電子技術,2010,33(1):87-89.

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

主站蜘蛛池模板: 亚洲天堂视频在线观看免费| 日本五区在线不卡精品| AV在线麻免费观看网站| 91免费国产在线观看尤物| 欧美h在线观看| 欧美成一级| 亚洲成网站| 在线观看国产小视频| 国产一区在线观看无码| 精品一区国产精品| 国产超薄肉色丝袜网站| 久久久久人妻一区精品| 成人免费午夜视频| 中文字幕欧美成人免费| 亚洲欧美成人在线视频| av在线无码浏览| 欧美黑人欧美精品刺激| 欧美日韩亚洲综合在线观看| 久久6免费视频| 美女被躁出白浆视频播放| 91外围女在线观看| 午夜无码一区二区三区| 美女被操黄色视频网站| 国产亚洲视频在线观看| 91 九色视频丝袜| 国产白浆视频| 国产精品美女自慰喷水| 亚洲熟女偷拍| 国产成人1024精品下载| www中文字幕在线观看| 亚洲欧美日韩另类在线一| 9啪在线视频| 亚洲最大综合网| 久久久久久国产精品mv| 国产午夜精品鲁丝片| 2021国产在线视频| 日韩欧美色综合| 国产区在线看| 国产精品熟女亚洲AV麻豆| 亚洲男人的天堂在线观看| 国产第一福利影院| 成人精品免费视频| 免费高清自慰一区二区三区| 亚洲天堂啪啪| 囯产av无码片毛片一级| 亚洲国产日韩在线观看| 国产精品19p| 亚洲精品天堂在线观看| 午夜视频免费一区二区在线看| 2021国产精品自产拍在线| 中文字幕亚洲无线码一区女同| 国产国模一区二区三区四区| 成AV人片一区二区三区久久| 日本午夜影院| 国产真实乱了在线播放| 亚洲视频四区| 日韩av高清无码一区二区三区| 国模沟沟一区二区三区| 蜜桃臀无码内射一区二区三区 | 色国产视频| 国内精自视频品线一二区| 美女毛片在线| 97青草最新免费精品视频| 亚洲成a人在线观看| 久久 午夜福利 张柏芝| 欧美日韩北条麻妃一区二区| 国产精品亚洲αv天堂无码| 国产网站在线看| 亚洲综合极品香蕉久久网| 亚洲日本精品一区二区| 91口爆吞精国产对白第三集| 美女国产在线| 狠狠躁天天躁夜夜躁婷婷| 99国产精品免费观看视频| 国产美女无遮挡免费视频| 亚洲va在线观看| 久久成人国产精品免费软件| 992Tv视频国产精品| 中文字幕有乳无码| 综合久久五月天| 亚洲午夜国产精品无卡| 成人免费一级片|