CORDIC算法实现频率和幅度可调整的正弦波

相关资料参考原文:[基于FPGA的CORDIC算法实现——Verilog版]
在上面的链接中,善良的一休君已经把CORDIC算法相关的内容都介绍过了。
作为一个萌新的我在看了前文链接里介绍以后对CORDIC算法有了一定的认识,也动手实践了一番,在此基础上加了一点儿自己的想法,做了一个频率和幅度均可调节的正弦波信号发生器,因为目前讲来还没有相位调整的需要,就没管相位,其实只需要稍加改动,相位也可以调节。第一次写,不会整那么多花里胡哨的排版,见谅~
因为比较懒,下面只给出和链接里不一样的部分及相关代码。

module Cordic_Test(
clk,
Rst_n,
Sinx,
Cosx,
ACW,//幅度控制
phase,
error
);
	input clk;
	input Rst_n;
	input [31:0]ACW;
	input [31:0]phase;//输入的角度
	output reg signed [31:0] Sinx;
	output reg signed [31:0] Cosx;
	output reg signed [31:0] error;
//角度值,每个角度值	扩大了2^16倍,这样方便FPGA处理。
`define rot0  32'd2949120    	//45*2^16    
`define rot1  32'd1740992    	//26.565*2^16
`define rot2  32'd919872    	//14.036*2^16
`define rot3  32'd466944    	//7.125*2^16
`define rot4  32'd234368    	//3.576*2^16
`define rot5  32'd117312    	//1.790*2^16
`define rot6  32'd58688    	//0.895*2^16
`define rot7  32'd29312    	//0.448*2^16
`define rot8  32'd14656    	//0.224*2^16
`define rot9  32'd7360    	//0.112*2^16
`define rot10 32'd3648    	//0.056*2^16
`define rot11 32'd1856	//0.028*2^16
`
  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值