基于CORDIC的反雙曲正切函數(shù)的FPGA實(shí)現(xiàn)_第1頁
基于CORDIC的反雙曲正切函數(shù)的FPGA實(shí)現(xiàn)_第2頁
基于CORDIC的反雙曲正切函數(shù)的FPGA實(shí)現(xiàn)_第3頁
基于CORDIC的反雙曲正切函數(shù)的FPGA實(shí)現(xiàn)_第4頁
基于CORDIC的反雙曲正切函數(shù)的FPGA實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 CN4321258/TP ISSN 10072130X 計(jì)算機(jī)工程與科學(xué)COMPU TER EN GIN EERIN G &SCIENCE2009年第 31卷第 5期 Vol 131,No 15,2009文章編號(hào) :10072130X (2009 0520150203基于 CO RD IC 的反雙曲正切函數(shù)的 FP GA 實(shí)現(xiàn) 3 The FP GA Implementatio n ofHyperbolic Arctangent Functio n陳石平 , 李 全 , 莫麗蘭 , 段吉海CHEN Shi 2ping ,L I Q u an ,MO Li 2lan ,DUAN Ji

2、2hai(桂林電子科技大學(xué)信息與通信學(xué)院 , 廣西 桂林 541004(School of Inform ation and Communications , G uilin U niversity of E lectronic T echnology , G uilin 541004,China摘 要 :雙曲函數(shù)的應(yīng)用領(lǐng)域十分廣泛 。本文首先介紹 CORDIC 算法雙曲系統(tǒng)的基本原理及其計(jì)算模式 , 對(duì) CORDIC 內(nèi)核及其處理單元做了詳細(xì)分析 。 在迭代算法的基礎(chǔ)之上 , 采用流水線技術(shù) , 以面積換速度 , 給出了一種基于流 水線的 CORDIC 來實(shí)現(xiàn)反雙曲正切函數(shù) , 具有很高的精

3、度和很快的速度 , 使設(shè)計(jì)出的軟核能夠在精度要求很高的場合中 運(yùn)行 。 用 Verilog HDL 對(duì)其編程設(shè)計(jì)和進(jìn)行功能仿真 、 時(shí)序仿真及下載測試的結(jié)果表明 , 該函數(shù)具有很好的實(shí)用性 。 Abstract :Hyperbolic f unctions are widely applied in many areas. This paper first the principle of the CORDIC algorithm hyperbolic system and its computation model , and gives of pipelining the CORDIC k

4、ernel and its processor unit for the design. Based on the , implementing hyper 2 bolic f unctions based on pipelining CORDIC is proposed. It speed at the cost of FP GA resources , making the soft core adapted to 22Finally the results of programming the CORDIC , performing the f ,and downloading it t

5、o the FP GA show that it features great practicability.關(guān)鍵詞 :; ; 流水線K ey w ords :CORDIC algorithm ;hyperbolic arctangent ;pipelining中圖分類號(hào) :TP322. 2文獻(xiàn)標(biāo)識(shí)碼 :A1 引言雙曲函數(shù)的應(yīng)用領(lǐng)域十分廣泛 , 涉及圖像信號(hào)處理 、 濾 波技術(shù) 、 FFT 變換 、 LDPC 碼軟判決譯碼等領(lǐng)域 。因此 , 設(shè) 計(jì)并實(shí)現(xiàn)雙曲函數(shù)顯得尤為重要 , 用硬件實(shí)現(xiàn)超越函數(shù)的 算法 , 按照數(shù)學(xué)公式和對(duì)應(yīng)的實(shí)現(xiàn)方式的不同 , 可以分為查 表法 、 多項(xiàng)式近似法 、 基于

6、查表的多項(xiàng)式結(jié)合方法 、 有理數(shù) 近似和逐位法五類 。經(jīng)過對(duì)這些算法進(jìn)行分析和比較權(quán) 衡 , 本文采用 CORDIC 算法來實(shí)現(xiàn)雙曲函數(shù)中的反雙曲正 切函數(shù) , 并用 FP GA 實(shí)現(xiàn)硬件測試 。CORDIC (Coordinate Rotation Digital Computer , 簡稱 CORDIC 算法即坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算方法 , 是 Volder J D 1于 1959年首次提出的 , 主要用于三角函數(shù) 、 雙曲函數(shù) 、 指數(shù) 函數(shù) 、 對(duì)數(shù)函數(shù)的計(jì)算 。 該算法通過基本的加和移位運(yùn)算 代替乘法運(yùn)算 , 使得矢量的旋轉(zhuǎn)和定向計(jì)算不再需要三角 函數(shù) 、 乘法 、 開方 、 反三角 、

7、反雙曲正切等函數(shù) 。2 COR DIC 算法原理2. 1 雙曲系統(tǒng)CORDIC 算法包含圓周系統(tǒng) 、 線性系統(tǒng) 、 雙曲系統(tǒng)三種 旋轉(zhuǎn)系統(tǒng) 2。 本文采用雙曲系統(tǒng) , 其推導(dǎo)如下 :由于 e =sinh +cosh , e 只需計(jì)算 sinh 和 cosh 即 可 , 又由于 :cosh (± =cosh cosh ±sinh sinh sinh (± =sinh cosh ±cosh sinh (1 圖 1為平面坐標(biāo)旋轉(zhuǎn) , X i =cosh , Y i =sinh , 從中051 3收稿日期 :2008202201; 修訂日期 :200820520

8、7基金項(xiàng)目 :廣西研究生教育創(chuàng)新項(xiàng)目 (2007105950810m15作者簡介 :陳石平 (19812 , 男 , 湖南郴州人 , 碩士生 , 研究方向?yàn)?FP GA 和無線通信 ; 段吉海 , 碩士 , 副教授 , 研究方向?yàn)橥ㄐ偶夹g(shù)、 EDA 和專用集成電路設(shè)計(jì)。Address :Unit 322,10Fuhouli Lane , Guilin , Guangxi 541001,P. R. China 圖 1 坐標(biāo)旋轉(zhuǎn)圖可以看出 , 將向量 (X i , Y i 的角度 旋轉(zhuǎn) 角度 , 得到一 個(gè)新的向量 (X j , Y j , 那么有 :X j =cosh (+ =cosh cosh

9、 +sinh sinh= X i cosh +Y i sinh Y j =sinh (+ =sinh cosh +cosh sinh = X i sinh+Y i cosh(2 將式 (2 化為矩陣表達(dá)形式 , 平面旋轉(zhuǎn)定義如下 :X j Y j=coshsinh sinh coshX i Y i (3 使用迭代的方法 , 旋轉(zhuǎn)角度可在多步完成 , 每一步的旋 轉(zhuǎn)只完成其中的一小部分 , N 步旋轉(zhuǎn)將會(huì)完成一個(gè) 角度旋轉(zhuǎn) 。 由式 (3 得到單第 n 步旋轉(zhuǎn)以及提取 cosh n 因子 , 有式 (4: X n+1Y n+1=cosh n sinhnsinh ncosh X n Y = cos

10、h n1tanhntanh n1 X n Y (4 由 于 cosh=2/(cosh 2-sinh 2=1/-tanh 2, 式 (4 中 每 一 步 的 旋 轉(zhuǎn) 角 度 ntanh -12-n。 由于 tanh -1(20 , 開始 , 而且 n =1S n n=,±, 角度 。 S n , 有 tanh n =S n 2-n, 即 :X n+1Y n+1=cosh n1S n 2-S n 2-n1X n Y (5 再通過 N 次迭代后 :Xj Y j=Nn =1cosh n1S n 2-S n 2-n1X i Y i= K 3Nn =11S n 2-S n 2-n1X i Y (

11、6 將比例因子從迭代公式中提取出來 , 定義 K 為增益因 子 , 則有 :K =1/P =Nn =1cosh tanh -12-n=n =1-2-2n 0. 8297816(7 max =j =1tanh -1(2-j 0. 9578885(8 具體增益 K 取決于迭代次數(shù) N 。對(duì)于所有的初始向量和旋轉(zhuǎn)角度而言 , K 是一個(gè)常數(shù) , 通常把 K 稱作聚焦常 數(shù) 2。 式 (7 中常數(shù) P 為 K 的倒數(shù) , 式 (8 中 max 為雙曲系 統(tǒng)中不重復(fù)迭代的最大旋轉(zhuǎn)角度 。2. 2 計(jì)算模式雙曲系統(tǒng)有旋轉(zhuǎn)模式和向量模式 3兩種計(jì)算模式 。在旋轉(zhuǎn)模式中 , Z 為初始化需要旋轉(zhuǎn)的角度 , 當(dāng)

12、 Z 旋轉(zhuǎn)變?yōu)?0時(shí) , 用來計(jì)算雙曲正余弦函數(shù) 。 本文采用向量模式 :它跟旋 轉(zhuǎn)模式不同 , 其區(qū)別是旋轉(zhuǎn)的方向取決于 Y 而不是 Z 的符 號(hào) , 即將輸入向量 Y 變?yōu)?0, 計(jì)算相應(yīng)的 tanh -1(反雙曲正 切 值 。 Y 為初始化值 , 當(dāng) Y 旋轉(zhuǎn)變?yōu)?0時(shí) , 式 (5 的輸出變 為 :X n+1=X n +S n Y n 2-n Y n+1=Y n +S n X n 2-nZ n+1=Z n -S n tanh -1(2-n (9式 (9 中 , Y n <0時(shí) , S n =+1, 反之 S n =-1。 經(jīng)過 N 次 迭代后 ,CORDIC 的輸出變?yōu)?3:X

13、n+1=K 02-Y 02Y n+1=0Z n+1=Z 0+tanh -1(X 0(10其中 , P =Nn =1-2-2n。如果 Z 0=0, 對(duì) 于 給 定 的 X 0和 Y 0, N 次 迭代 后CORDIC 公式的輸出變?yōu)?:X n+1, Y n+1, Z n+=K02-Y 02, 0, tanh -1(X 0(11 分析式 (11 可得 。 對(duì)式 (10 進(jìn)行函 x 0y , 可以得到不同 , , 如表 1所 , R 和 z R 為函數(shù)輸出值 。表 1 其它的函數(shù)計(jì)算 模式 x 0 y 0 z 0 x R z R 備注向量1a0-a 2z R =tanh -1(a |a |<1

14、向量 a 102-1z R =cot h -1(a |a |>1向量 a +1a -102z R =0. 5ln (a a >0向量 a +1/4a -1/40z R =ln (a/4 a >0向量a +ba -bz R =0. 5ln (a/b ab >03 C OR DIC 內(nèi)核及前后處理單元設(shè)計(jì)由于在 CORDIC 迭代算法中如計(jì)算 32bit 具有 IEEE 2754標(biāo)準(zhǔn)格式的正余弦值需要 34個(gè)時(shí)鐘周期 4, 其計(jì)算速 度很慢 , 對(duì)于大量的計(jì)算來說 , 不能夠最大限度地利用 CPU 。 本設(shè)計(jì)采用流水線技術(shù) 5, 以面積換取速度的方式 , 通過增加硬件資源來

15、提高計(jì)算速度 , 使 CORDIC 的每一級(jí) 都同 時(shí) 工 作 ???慮 到 實(shí) 際 計(jì) 算 復(fù) 雜 度 和 計(jì) 算 精 度 , CORDIC 內(nèi)核中采用 32bit 寬的數(shù)據(jù)和 32級(jí)流水線結(jié)構(gòu) , 可在 1時(shí)鐘周期計(jì)算出結(jié)果 , 延時(shí) 32個(gè)時(shí)鐘周期而已 。由于迭代運(yùn)算的次數(shù)有限 ,CORDIC 前置處理設(shè)計(jì)中 , 內(nèi)核的數(shù)據(jù)表示為 :用 32bit 無符號(hào)二進(jìn)制數(shù)表示浮點(diǎn)數(shù) 1。 對(duì) 0max 范圍內(nèi)的角度用 31bit 有符號(hào)二進(jìn)制數(shù)來表 示 , 后置處理單元在 CORDIC 輸出指數(shù)函數(shù)值時(shí)用 33bit 有符號(hào)二進(jìn)制數(shù)整數(shù)來表示 , 以防數(shù)據(jù)溢出 ?;诹魉€技術(shù)的 CORDIC

16、硬件實(shí)現(xiàn)架構(gòu) 2,3如圖 2151 圖 3 功能仿真波形 表 2 誤差分析x 1/161/81/40. 3-1/8-0. 3x 二進(jìn)制表示134923404-332344144相對(duì)誤差2. 976e -8-1. 482e -8-0. 730e -8-1. 482e -8所示 。 圖 2中架構(gòu)由控制單元 、 選擇器 、 移位寄存器 、 ROM和加法器組成 。 ROM 中 存 放 的 是 預(yù) 先 計(jì) 算好 的 32個(gè)tanh -1數(shù)據(jù)值 4:n =tanh -1(1/2n 3230, n =1, 2, , 32, 供處理器運(yùn)算時(shí)調(diào)用 。 從架構(gòu)中可以看出只有移位和加減法運(yùn)算 , 因此特別適合于可編

17、程邏輯器件 。 每次計(jì)算之前 要對(duì) Y 值進(jìn)行判斷 , 根據(jù) Y 的符號(hào)來決定圖 2中的加減運(yùn) 算 4, 得到的結(jié)果再通過寄存器保存中間變量供下級(jí)流水 線使用 。由于將 CORDIC 運(yùn)算由循環(huán)迭代展開為多級(jí)流 水線結(jié)構(gòu) , 級(jí)級(jí)直接相連 , 相當(dāng)于直接連線 , 每級(jí)移位寬度 固定 , 減少了循環(huán)迭代中需要的桶型算術(shù)移位寄存器。 圖 2 CORDIC 流水線處理器架構(gòu)4 功能仿真及時(shí)序驗(yàn)證用 Modelsim 軟件對(duì)本設(shè)計(jì)進(jìn)行仿真 , 選取 1/16、 1/8、1/4、 0. 3、 -1/8、 -0. 3等 6個(gè)值進(jìn)行功能仿真 , 如圖 3所示 。 從仿真圖看出輸入值 iAngle 為 -0.

18、 3(十進(jìn)制表示為-322122547 , 經(jīng)過延時(shí) 32時(shí)鐘周期計(jì)算出來 , 由此可 知利用流水線技術(shù)可以不斷地計(jì)算出反雙曲正切函數(shù) , 其 它值依此類推 。 在 FP GA 實(shí)現(xiàn)反雙曲正切函數(shù)的計(jì)算 , 對(duì) 于需要精確計(jì)算反雙曲正切函數(shù)的應(yīng)用場合來說顯得非常 重要 。表 2給出了不同數(shù)值的功能仿真誤差分析 ,tanh -1(1/16 的絕對(duì)誤差 atanh =2, 為 atanh 計(jì)算出來的實(shí)際值與 理論值 之 差 , 對(duì) 應(yīng) 的 相 對(duì) 誤 差 為 atanh/274247418=2. 976e -8。 從表 2的誤差分析可知 , x 輸入在一定范圍內(nèi)反雙曲正切函數(shù)的絕對(duì)誤差很小 , 相

19、對(duì)誤差的數(shù)量級(jí)為10-8, 其精度非常高 , 可以滿足很多高精度計(jì)算場合的需要 。 例如 ,LDPC 碼在對(duì)數(shù)似然比域和最小和算法 BP (置信傳播算法 譯碼的 FP GA 實(shí)現(xiàn) , 需要在譯碼過程中使用 反雙曲正切函數(shù)來計(jì)算校驗(yàn)節(jié)點(diǎn)信息的更新 6, 其譯碼計(jì) 算過程要求具有實(shí)時(shí)性 、 高精度性以保證譯碼的準(zhǔn)確性 、 可 靠性 。 反雙曲正切函數(shù)對(duì) LDPC 碼的譯碼具有很重要的意 義 , 為 LDPC 譯碼的硬件實(shí)現(xiàn)奠定了基礎(chǔ) 。在 Quartus II 6. 0軟件上進(jìn)行時(shí)序驗(yàn)證 , 其時(shí)序結(jié)果 與功能仿真的結(jié)果一致 , 并在 Altera 公司的 C YCLON E II EP2C356

20、72C6器件上綜合 , 消耗 4437個(gè) L E (邏輯單元 、 2911個(gè) REG (寄存器 , 運(yùn)行 Timing Analyzer Tool (時(shí)序分 析工具 , 最高的工作頻率為 161. 45M Hz , 并在 DE2開發(fā) 板上進(jìn)行硬件下載驗(yàn)證 , 該算法可以滿足 實(shí)際的需求 , 。32位 反 雙 曲 正 切 函 數(shù) 是 采 用 流 水 線 技 術(shù) CORDIC 算法來實(shí)現(xiàn)的 , 以面積換速度 , 能夠在 1個(gè)時(shí)鐘周 期內(nèi)計(jì)算出函數(shù)值 , 達(dá)到了很高的精度和很快的速度 , 完成 了反雙曲正切函數(shù)的 IP 核部分 , 具有較廣泛的應(yīng)用價(jià)值 。 也可以在 Nios 處理器中增加自定義指令 , 即將一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論