Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 19746|回復: 6

[問題求助] 如何用verilog 產生sin cos等三角函數??

  [複製鏈接]
發表於 2010-4-4 22:55:34 | 顯示全部樓層 |閱讀模式
我看大部分的人都說要產生sin cos等三角函數,只能靠建立table表,存入FPGA裡面的RAM來查表!8 P- I9 ?6 [+ N7 F* s
請問各位大大有辦法用程式寫出三角函數嗎? 或者是有已經建立好的table表可以給小弟參考~~~~~~~感恩
發表於 2010-4-9 09:53:52 | 顯示全部樓層
CORDIC基本方程可以表示为: + @5 n+ x$ ?: e
xi +1 = xi - yidi2^-i, `8 r6 u' Y, }
yi +1 = yi - xidi2^-i
0 V' h3 ^6 x# f% |: J8 l, jzi +1 = yi - ditan-i(2^-i) - Y4 ]. b+ W8 a. G
其中di = -1 if zi < 0, else +1. 0 c4 C! b9 O! W3 i
如果用来计算三角函数可以利用初始条件:
/ D8 g2 W+ B. y( u7 g# Sx0 = 1 / An (用来抵消迭代过程产生的增益)
+ e- y% L5 B) Yy0 = 0 8 X6 u' v3 v- p' s" y7 O
得到$ T+ y+ ]5 k( C4 g
xn = cos z0$ d9 l* K) A; K5 {6 @! g
yn = sin z0
發表於 2010-4-9 09:58:19 | 顯示全部樓層
除了傳統座標旋轉數位計算器(CORDIC)演算法之外, 角度重新編碼(Angle Recoding)演算法、修改
9 n% B- Y) U, a  k! b之座標旋轉數位計算器(MVR-CORDIC)演算法、以及延伸基礎角度集合(EEAS)演算法
3 ^; p# }1 s- l  _等都可改善所謂的向量旋轉座標旋轉數位計算器的效能
發表於 2010-4-21 11:20:23 | 顯示全部樓層
table 是ASIC最常用的方式,7 I* U- q3 t) x
你先把sin 切成16 or 32 等份,% P. R+ A3 K* Y' c8 _) g
再將其數值乘256 or 更多倍數,
8 k- ]1 h% q" q2 k0 T4 t整數部份轉成Hex 既可
發表於 2011-4-20 14:09:08 | 顯示全部樓層
我之前也都一直使用這種方式, 就是不知道有沒有其他方式可以完成一樣的事情.
發表於 2011-9-14 10:09:11 | 顯示全部樓層
Thanks a lot!!
! Y. `. B( f1 c, L& `學到東西了!!
發表於 2016-5-26 23:45:33 | 顯示全部樓層
Thanks a lot!!* Q9 q1 {; z# b# ?+ K! z
學到東西了!!!!!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-3-29 02:03 PM , Processed in 0.113007 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表