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

流水線 CORDIC算法的 FPGA實現

2010-09-13 03:44:50王亞春蔡德林張夢龍王俊
通信技術 2010年11期

王亞春, 蔡德林, 張夢龍, 王俊

(①安徽大學電子科學與技術學院,安徽 合肥 230039;②中國電子科技集團第 38研究所,安徽 合肥 200031)

0 引言

坐標旋轉計算機(CORDIC,Coordinate Rotational Digital Computer)算法是 Volder于 1959年在美國航空控制系統的設計中提出來的,它是一種用于計算運算函數的循環迭代算法。其基本思想是用一系列與運算基數相關的角度的不斷偏擺,從而逼近所需旋轉的角度,從廣義上講它是一個數值計算逼近的方法。這些固定的角度與計算基數有關,運算只有移位和加減,可通過該算法不同的實現模式(如圓周模式、雙曲線模式、線性模式等)來計算的函數包括乘、除、平方根、正余弦、反正切以及指數運算等。1971年,J.S Walther提出了統一的CORDIC算法形式,把圓周旋轉、雙曲旋轉和直線旋轉統一到同一個CORDIC迭代方程中,為同一硬件實現多功能運算奠定了基礎。在傳統的硬件算法設計中,乘、除等基本數學函數運算是一種既耗時又占用面積大的運算,CORDIC算法正是為解決這種問題而產生的,它從算法本身入手,將復雜的算法分解成一些在硬件中容易實現的基本運算,如加法、移位等,從而使得這些算法在硬件上可以得到較好的實現。

1 CORDIC算法的基本原理

以基于圓周模式的 CORDIC算法實現為例,介紹CORDIC算法的基本原理[1]。假設平面直角坐標系里有一向量:a(xi,yi)=a(r cosα,r sinα),現將其旋轉 θ角得到新向量:b(xj,yj)=b(r cos(α+θ),r sin(α+θ)),如圖 1所示,則有:

圖 1 CORDIC算法旋轉示意

寫成矩陣形式就是:

如果向量 a(xi,yi)經過 n次旋轉才到達 b(xi,yi),其中第 k次旋轉的角度為 θk,那么第 k次旋轉的表達式為:

如果限制 tanθk=±2-k,則可以將 tanθk乘項的乘法操作變為移位操作,式(3)將只有一個乘積項 cosθk:

θk=Skarctan 2-k,Sk={-1,+1}。

除了 cosθk系數外,CORDIC算法只需要簡單的移位和相加操作即可完成。事實上 cosθk還可以事先算出來。考慮到:

經過無數次迭代后,cosθk系數項將變成一個常數。由于 cosθk系數項是一個常數,因此可以在迭代的過程中忽略cosθk系數項,迭代的最后再將其乘入。這樣迭代式就變為:

式(5)就是 CORDIC算法的迭代式。假設 z代表的是尚未旋轉的角度:

zk+1=(總角度 -已旋轉角度)=zk-Skarctan 2-k(未旋轉角度-剛旋轉角度),將此式和式(5)結合就得到了下面三個迭代方程式:其中 Sk的符號由第 k次旋轉時候的角度 zk決定,它們的關系是:Sk=-1,zk<0

+1,zk≥0,向量 a(xi,yi)向向量 b(xj,yi)逼近的精度由迭代的次數決定,迭代的次數越多,逼近的精度就越高,迭代 n次(n→∞ )得到的最終結果為:

其中zn=0表明旋轉到了指定的角度。

2 CORDIC流水線結構的 FPGA實現

CORDIC流水線結構的 FPGA實現參考文獻[2-4]。在實際應用中,CORDIC的實現方式應該根據目標需求,在速度和資源之間進行折中。采用流水線結構,這種方式能夠在執行進程的同時輸入數據,從而極大提高了程序的運行效率,在該結構中,每一個移位器都是固定的深度,而且旋轉角度集的各個值作為常數直接連接到累加器上,不需要存儲空間和讀取時間,圖 2是CORDIC算法的一般流水線結構。

圖 2 CORDIC算法的一般流水線結構

3 仿真結果與分析

仿真結果與分析參考文獻[5]。該設計中選用的FPGA芯片是 Altera公司 CycloneⅢ系列中EP3C25F256C6器件,使用 VHDL語言完成電路描述之后,在QuartusⅡ軟件平臺上進行編譯、仿真的結果如圖 3所示(表 1列出其計算結果)。

圖 3 用FPGA實現CORDIC算法的時序仿真

其中輸入信號有兩個,分別為時鐘 clk和要計算的角度Angle。輸出則有 3個,分別是 x_out(余弦值)、y_out(正弦值)和 z_out(迭代結束時的角度誤差)。由式(7)可知,為了使最后結果中 x_out和 y_out分別為余弦值和正弦值,就應該設置 xi和 yi的初始值分別為 1/An和 0。但程序里的初始值并不是這樣設置的,這是因為把第一次迭代精簡在了初始值中設置,同時還進行了預處理,即擴大了輸入角度的范圍。圖 3仿真結果中,輸入角度Angle用十六進制數表示,計算出的正弦值y_out和余弦值 x_out則用帶符號整數表示。 無論是輸入角度 Angle還是輸出的正、余弦值均擴大了 215倍,實際的角度和計算結果應該除以 215。表 1列出了圖 3的仿真結果中的 4個角度和CORDIC計算結果,同時還列出了理論的正弦值和余弦值。可以看出,經過 16次迭代后,CORDIC計算結果已經非常精確。

表 1 CORDIC計算結果與理論值的比較

4 結語

探討了 CORDIC算法的一種硬件實現,它具有速度快、精度高、結構簡單易實現等優點,從實驗結果來看,其誤差很小,能夠滿足速度和精度的要求,因而具有十分重要的工程研究和應用意義。

[1]VOLDER JE.The CORDIC Trigonometric Computing Technique[J].IRE Trans.Electronic Computers,1959(EC-8):330-334.

[2]徐光輝,程旭東,黃如,等.基于 FPGA的嵌入式開發與應用[M].北京:電子工業出版社,2006.

[3]田耘,徐文波,張延偉,等.無線通信 FPGA設計[M].北京:電子工業出版社,2007.

[4]UWE M B.數字信號處理的 FPGA實現[M].北京:清華大學出版社,2006.

[5]徐小峰,唐治德,鄧玉娟,等.基于 CORDIC算法的 QAM調制器的 FPGA實現[J].通信技術,2008,41(09):9-11.

主站蜘蛛池模板: 亚洲人成网线在线播放va| 中文无码精品A∨在线观看不卡| 色亚洲激情综合精品无码视频 | 国产乱子伦视频在线播放| 在线国产资源| 欧美一道本| 国产网站免费观看| www.99在线观看| 久久综合丝袜日本网| 波多野结衣一区二区三区四区| 久久精品亚洲中文字幕乱码| 99在线视频免费| 国产丝袜丝视频在线观看| 国产夜色视频| 国产一级毛片yw| 99精品在线看| 成人午夜精品一级毛片| 丁香五月婷婷激情基地| 日本精品影院| 亚洲一区二区三区国产精华液| 亚洲天堂久久新| 伊在人亚洲香蕉精品播放| 首页亚洲国产丝袜长腿综合| 91久久精品国产| 成年网址网站在线观看| 国产精品专区第一页在线观看| 日本少妇又色又爽又高潮| 国产一区三区二区中文在线| 又黄又湿又爽的视频| 亚洲日本在线免费观看| 国模视频一区二区| 国产产在线精品亚洲aavv| 在线不卡免费视频| 日本久久免费| 久久精品最新免费国产成人| 婷婷六月在线| 免费又爽又刺激高潮网址| 精品国产自在在线在线观看| 在线视频亚洲欧美| 国产成人精品视频一区视频二区| 国产成人AV综合久久| 国产日韩久久久久无码精品| 人妻丰满熟妇αv无码| 在线国产毛片| 中文字幕在线一区二区在线| 欧美成人午夜影院| 久久国产热| 亚洲日韩精品欧美中文字幕| 亚洲无码视频一区二区三区 | 伊人色天堂| 全部免费特黄特色大片视频| 就去吻亚洲精品国产欧美| 沈阳少妇高潮在线| 国产欧美在线观看一区| 久久久久亚洲精品无码网站| 亚洲色图在线观看| 毛片在线看网站| 日韩精品无码免费一区二区三区| 她的性爱视频| 国产成人综合久久精品下载| 自偷自拍三级全三级视频| 国产污视频在线观看| 国产精品午夜福利麻豆| 91精品国产福利| 国产美女在线观看| 色婷婷综合激情视频免费看 | 全午夜免费一级毛片| 青青久视频| 波多野吉衣一区二区三区av| 五月激激激综合网色播免费| 久操线在视频在线观看| 一级在线毛片| 毛片在线区| 国产乱子伦精品视频| 99re在线观看视频| 无码中文字幕加勒比高清| 亚洲精品成人7777在线观看| www亚洲精品| 免费xxxxx在线观看网站| 欧美精品伊人久久| 成年午夜精品久久精品| 亚洲人网站|