30.07.2013 Views

第44 期: 面向未来十年的“All Programmable” - Xilinx

第44 期: 面向未来十年的“All Programmable” - Xilinx

第44 期: 面向未来十年的“All Programmable” - Xilinx

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

手 把 手 课 堂 : F P G A 1 0 1<br />

大<br />

大多数工程师在碰到需要在 FPGA 中实现诸如正弦、余弦<br />

或开平方这样的数学函数时,首先会想到的是用查找表,<br />

可能再结合线性内插或者幂级数(如果有乘法器可用)。<br />

不过对这种工作来说,CORDIC 算法是工具库中最重要的<br />

工具之一,只是鲜有工程师知晓。<br />

CORDIC 的 意 思 是 坐 标 旋 转 数 字 计 算 机, 是 Jack<br />

Volder 在 1959 年为康维尔公司 (Convair) B-58A“盗贼”<br />

项目设计新的导航计算机时发明的。这是一种设计用于计<br />

算数学函数、三角函数和双曲函数的简单算法。<br />

这种算法的真正优势在于只需要采用极小型的 FPGA<br />

封装就可以实现它。CORDIC 只需要一个小型查找表,加<br />

上用于执行移位和加法的逻辑。重要的是这种算法不需要<br />

专门的乘法器或除法器。<br />

这种算法是 DSP 以及工业与控制应用最有用的工具<br />

之一,其最为常见的用途是实现如表 1 所示的传统数学函<br />

数,可在器件缺少专用乘法器或 DSP 模块的情况下提供<br />

器件所需的乘法器、除法器或更有意义的函数。举例来说,<br />

设计人员在众多小型工业控制器中使用 CORDIC 来实现数<br />

学传递函数和真正的 RMS 测量。工程师也在生物医学应<br />

用中使用 CORDIC 来进行快速傅里叶变换 (FFT) 计算,<br />

以分析多种生理信号的频谱。在本应用中,结合传统的数<br />

学函数,设计人员使用 CORDIC 实现 FFT 旋转因子。<br />

CORDIC 详解<br />

CORDIC 算法可以采用线性、圆或双曲线三种配置中的任<br />

2012 年第二季度 赛灵思中国通讯 44 <strong>期</strong> 41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!