【Cordic】基于Cordic算法的NCO的设计实现
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的设计实现相关推荐
- 基于Sobel算法的边沿检测设计与实现
基于Sobel算法的边沿检测设计与实现 1. 边缘检测 2. 实战演练 2.1. matlab进行灰度图像生成 2.2. sobel_ctrl控制模块 2.3. vga显示模块 2.4. 顶层模块实例 ...
- 基于KMP算法的虚位密码设计
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.虚位密码是什么? 二.虚位密码如何实现? 1.使用已存在的函数 2.暴力匹配算法 3.KMP模式匹配算法 前言 提 ...
- 【Cordic,NCO】基于Cordic算法的NCO的FPGA设计实现
1.软件版本 quartusii12.1 2.本算法理论知识 ROM资源,作为产生离散正弦信号的另一种有效途径,CORDIC(坐标旋转数值计算)算法已越来越受到青睐.其基本思想是通过一系列逐次递减的. ...
- 基于sobel算法的边缘检测设计与实现
基于sobel算法的边缘检测设计与实现 边缘是图像的基本特征.边缘检测针对的是灰度图像,目的是标识数字图像中灰度变化明显的点. 边缘检测的方法大致可以分为两类:基于查找的一类,通过寻找图像一阶导数中最 ...
- 基于bp神经网络的pid算法,神经网络pid控制器设计
基于BP神经网络的PID控制器设计 参考一下刘金琨的<先进PID控制>这本书. 例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a ...
- 2015520吴思其 基于《Arm试验箱的国密算法应用》课程设计个人报告
20155200吴思其 基于<Arm试验箱的国密算法应用>课程设计个人报告 课程设计中承担的任务 完成试验箱测试功能4,5,6以及SM3加密实验的实现 测试四 GPIO0按键中断实验 实验 ...
- Python 还原控制SCI论文算法系列1: 基于策略迭代的自适应最优控制器设计
Python 还原控制SCI论文算法系列1: 基于策略迭代的自适应最优控制器设计 文章目录 Python 还原控制SCI论文算法系列1: 基于策略迭代的自适应最优控制器设计 0.前言 1.研究问题的描 ...
- 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(五)——模幂模块(抵抗侧信道攻击)模块的设计实现方案
基于Montgomery算法的高速.可配置RSA密码IP核硬件设计系列(五) 2.2 模幂模块设计(抵抗测信道攻击模块) 2.2.1 模幂模块及内部模块的功能 2.2.3 模幂各模块的实现方案 2.2 ...
- 基于PID算法的STM32爬坡循迹智能小车的设计与实现
目录 摘要 0 引言 1 需求分析 2 系统结构 3 硬件电路设计 3.1 整体硬件框架 3.2 主控制电路 3.3 电源模块 3.4 红外循迹 3.5 电机驱动 3.6 无线蓝牙控制 4 软件设计 ...
最新文章
- 【linux】NXP MFGTools工具配置文件详解
- 1小时学会:最简单的iOS直播推流(三)使用系统接口捕获音视频数据
- CCNA 2 chapter
- java 线程 cpu_java程序中线程cpu使用率计算
- linux lnmp1.5 部署laravel项目
- 为什么vue前端项目要使用nodejs
- HDF5数据库和mysql数据库_哪些数据库比较适合实现数据实时入库的需求?
- 前端页面:一直报Cannot set property 'height' of undefined
- 电商商城系统活动设计
- 十二生肖配对表查询_天蝎座:分手后最容易复合的星座配对,一生分不开,最终重新走到一起...
- leetcode python3 简单题167. Two Sum II - Input array is sorted
- 第八章节 文件操作一 (文件对话框)
- Proxyee-down – 百度网盘全平台满速下载神器,还带有IDM的全网嗅探功能
- Matlab取整函数之Floor\fix\round\ceil取余函数rem\mod
- 万用表的灵活使用,不仅只有基本使用方法!
- 乐理基础-和弦、调式
- php ci框架后台管理,ci: 羽翼后台管理平台是一个简单的博客系统,后端基于CodeIgniter,前端基于Semantic UI 2.2.10...
- liferay6.2 mysql_liferay6.2 集成CKEditor和ckfinder
- 小米盒子3s刷机为国际版系统android TV 8.0
- 时光机 (spfa判断负环)