一种CORDIC算法的FPGA实现(3)

时间:2025-04-04

一种CORDIC算法的FPGA实现

正确的角度值。下面举例说明。

为不失一般性,假设鉴相器输入的数据模值为l,数据在第一、二、三、四象限都有取值,如图3中x_in、Y—in所示。本设计中输入输出数据都为12bit有符号数。最高位为符号位。中间数据采用18bit有符号数,则每一次迭代旋转的弧度值(即图2中的常数项)量化后值分别为7FF、200、12E、0A0、

051.029、014。

示,其输出结果气与理论值绝对误差很小。转化为角度值不超过l。。可见,%、Y。o。仿真的结果与CORDIC算法理论值基本一致。

设计中选用的FPGA芯片是Altera公司CycloneII系列中EP2CSQ208C8N器件,使用Verilog语言完成电路描述之后,在QuanIls软件平台上进行编译、仿真的结果如图3所示。其中clk为时钟信号,reset为复位信号,高有效。输入信号为x—in、y_in、z_in,z_in默认值为0,输出信号zn表示所旋转的角度对应的值。从仿真的结果可以看出,在reset拉高后,经过6个时钟周期,得到=。输出。其仿真过程共占用625个逻辑单元,不到整个EP2C8Q208C8N器件逻辑单元的8%。运算速度比简单状态机结构速度高lO倍。

对图3的数据进行分析,%输出值为IY2A、D2B,转化为

lO进制数为3370、3371。而%理论值为输人数的模乘以1.

647,即为3371。),。输出值为029、FD6,靠转化为10迸制数为41、一41。对于12bit模值为1的数来说,其Y。最终旋转的值

圉2

CORDIC旋转实现反正切流水线圈

为0.020、-0.020。基本趋于0。毛输出值与理论值如表1所

图3用FPGA实现CORDIC算法仿真图

表IZ。输出值与理论值比较

4结束语

本文提出了一种基于CORDIC算法求反正切的FPGA流水线实现结构,其结构简单,硬件实现较易。利用其可进行

数字载波同步中的鉴相、鉴频。并在Altera公司的CycloneII

的EP2C8Q208csN芯片上进行仿真验证,从仿真结果来看,其误差较小,运算速度快,占用资源较少,(下转第354页l

一307一

一种CORDIC算法的FPGA实现(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219