1.软件版本

ISE14.7

2.本算法理论知识

ROM资源,作为产生离散正弦信号的另一种有效途径,CORDIC(坐标旋转数值计算)算法已越来越受到青睐。其基本思想是通过一系列逐次递减的、与运算基数相关的往复偏摆以逼近最终需要达到的旋转角度。该算法仅利用加法和移位两种运算通过迭代方式进行矢量旋转, CORDIC算法由于只采用加法和移位运算,因此很适合在FPGA中实现,它可以用来实现数字下变频中的NCO、混频器和坐标变换等功能。

实现NCO的另一种方法是采用基于坐标旋转数字式计算机的算法,即CORDIC算法,基本思想是采用逐次逼近的方法实现三角函数的计算。该算法的突出优点是,仅做加减和移位运算,结合流水线,可以实现每一个时钟周期输出一个经过n次迭代的结果。

3.核心代码

`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date:    23:07:56 04/30/2012
// Design Name:
// Module Name:    Tops
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module Tops(i_clk,i_rst,i_phase,i_freq,o_freq,o_cos,o_sin);input       i_clk;
input       i_rst;input[15:0] i_phase;
input[31:0] i_freq;output[15:0]o_freq;
output[15:0]o_cos;
output[15:0]o_sin;     //频率相位累加器
//频率相位累加器
phase_adder phase_adder_u(.i_clk          (i_clk), .i_rst          (i_rst), .i_phase_in     (i_phase), .i_frequency_in (i_freq), .o_freq         (o_freq));//cordic模块//象限判决
//cordic模块//象限判决
//cordic模块//象限判决
wire [15:0] o_y;
wire [15:0] o_x;
cordic_top cordic_top_u(.i_clk      (i_clk), .i_reset    (i_reset), .i_phase_in (o_freq[15:0]), .i_phase_in2(o_freq[15:14]),//象限判决.o_cos_out  (o_cos), .o_sin_out  (o_sin));endmodule

4.操作步骤与仿真结论

5.参考文献

A35-11

[1]王玉良, 李宏生, 夏敦柱. 基于CORDIC算法的NCO在FPGA中的实现[J]. 计算机与数字工程, 2009, 37(12):4.

【Cordic】基于Cordic算法的NCO的设计实现相关推荐

  1. 基于Sobel算法的边沿检测设计与实现

    基于Sobel算法的边沿检测设计与实现 1. 边缘检测 2. 实战演练 2.1. matlab进行灰度图像生成 2.2. sobel_ctrl控制模块 2.3. vga显示模块 2.4. 顶层模块实例 ...

  2. 基于KMP算法的虚位密码设计

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.虚位密码是什么? 二.虚位密码如何实现? 1.使用已存在的函数 2.暴力匹配算法 3.KMP模式匹配算法 前言 提 ...

  3. 【Cordic,NCO】基于Cordic算法的NCO的FPGA设计实现

    1.软件版本 quartusii12.1 2.本算法理论知识 ROM资源,作为产生离散正弦信号的另一种有效途径,CORDIC(坐标旋转数值计算)算法已越来越受到青睐.其基本思想是通过一系列逐次递减的. ...

  4. 基于sobel算法的边缘检测设计与实现

    基于sobel算法的边缘检测设计与实现 边缘是图像的基本特征.边缘检测针对的是灰度图像,目的是标识数字图像中灰度变化明显的点. 边缘检测的方法大致可以分为两类:基于查找的一类,通过寻找图像一阶导数中最 ...

  5. 基于bp神经网络的pid算法,神经网络pid控制器设计

    基于BP神经网络的PID控制器设计 参考一下刘金琨的<先进PID控制>这本书. 例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a ...

  6. 2015520吴思其 基于《Arm试验箱的国密算法应用》课程设计个人报告

    20155200吴思其 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能4,5,6以及SM3加密实验的实现 测试四 GPIO0按键中断实验 实验 ...

  7. Python 还原控制SCI论文算法系列1: 基于策略迭代的自适应最优控制器设计

    Python 还原控制SCI论文算法系列1: 基于策略迭代的自适应最优控制器设计 文章目录 Python 还原控制SCI论文算法系列1: 基于策略迭代的自适应最优控制器设计 0.前言 1.研究问题的描 ...

  8. 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(五)——模幂模块(抵抗侧信道攻击)模块的设计实现方案

    基于Montgomery算法的高速.可配置RSA密码IP核硬件设计系列(五) 2.2 模幂模块设计(抵抗测信道攻击模块) 2.2.1 模幂模块及内部模块的功能 2.2.3 模幂各模块的实现方案 2.2 ...

  9. 基于PID算法的STM32爬坡循迹智能小车的设计与实现

    目录 摘要 0 引言 1 需求分析 2 系统结构 3 硬件电路设计 3.1 整体硬件框架 3.2 主控制电路 3.3 电源模块 3.4 红外循迹 3.5 电机驱动 3.6 无线蓝牙控制 4 软件设计 ...

最新文章

  1. 【linux】NXP MFGTools工具配置文件详解
  2. 1小时学会:最简单的iOS直播推流(三)使用系统接口捕获音视频数据
  3. CCNA 2 chapter
  4. java 线程 cpu_java程序中线程cpu使用率计算
  5. linux lnmp1.5 部署laravel项目
  6. 为什么vue前端项目要使用nodejs
  7. HDF5数据库和mysql数据库_哪些数据库比较适合实现数据实时入库的需求?
  8. 前端页面:一直报Cannot set property 'height' of undefined
  9. 电商商城系统活动设计
  10. 十二生肖配对表查询_天蝎座:分手后最容易复合的星座配对,一生分不开,最终重新走到一起...
  11. leetcode python3 简单题167. Two Sum II - Input array is sorted
  12. 第八章节 文件操作一 (文件对话框)
  13. Proxyee-down – 百度网盘全平台满速下载神器,还带有IDM的全网嗅探功能
  14. Matlab取整函数之Floor\fix\round\ceil取余函数rem\mod
  15. 万用表的灵活使用,不仅只有基本使用方法!
  16. 乐理基础-和弦、调式
  17. php ci框架后台管理,ci: 羽翼后台管理平台是一个简单的博客系统,后端基于CodeIgniter,前端基于Semantic UI 2.2.10...
  18. liferay6.2 mysql_liferay6.2 集成CKEditor和ckfinder
  19. 小米盒子3s刷机为国际版系统android TV 8.0
  20. 时光机 (spfa判断负环)

热门文章

  1. 如何基于Java实现一套特色民宿平台系统?
  2. Unity开发经验小结--1.C#基础
  3. Django基础---Form和modelform校验器、同源和跨域问题
  4. pandas读取带有合并单元格的excel表格
  5. 小四轴实验:四旋翼无人机飞行原理
  6. GameFramework使用教程
  7. k8s-node添加Taint
  8. 亲爱的程序员,再不“疯狂”我们就老了!
  9. wifidog php,WifiDog-ng是新一代的WifiDog
  10. 高并发场景下对热点数据的处理