FPGA产生频率可控的正弦波

 

参看原文:

FPGA学习(一)——产生频率可控的正弦波 - 子木的文章 - 知乎 https://zhuanlan.zhihu.com/p/36929424

 

2018.5.17更新如下

作为小透明,没想到随手一写的学习过程也能被看见,看到有人点赞也还是很高兴的,希望能以后自己忘了,还能来看懂,如果对大家能有所帮助,那就再好不过了。

 

对于输出的正弦波周期有两种算法,在这里记录一下。

因为和昨天使用的不是同一个文件,所以名称会和昨天的不一样,不过原理一样。

另外,在仿真的时候可以不用添加约束文件,只需要仿真时可以直接跳过,如果需要下载进板子的话就必须要写了。下一篇会介绍。

 

1.使用DDS输出的最高位去计算,具体操作如图

步骤1.2.3,注意黄线的位置和数值

 

点击两次上图3的图标

根据两次的数值就能算出输出正弦波的周期

 

可能会觉得频率控制字可以控制输出波形的频率,而输出位宽又可以计算输出波形周期,那改变输出波形会影响什么呢?会影响输出波形周期吗?答案是不会。

具体看图,我将输出位宽改为10位的仿真结果。

圈圈圈

 

输出位宽影响的是输出波形的幅度\(0^◇^0)/

了解DDS的原理就明白了。

 

2.第二种就是昨天解释原理时用频率控制字控制输出频率时,fre_word取1的值。

具体算法见原答案。

 

两种区别就是一个取最高位,一个取最低位,刚开始容易理不清。


原答案如下

信号调制和解调功能。写下其中过程当做自己的学习记录吧。本篇讲的是如何产生一个正弦波。

  1. 使用的软件是Vivado 2016.4
  2. 实验室板卡是Nexys Video

1.原理说明

采用的是自带DDS IP核,DDS直接数字式频率合成器(Direct Digital Synthesizer),相信所有人看到这个名字就觉得不会陌生。

 

DDS由频率控制字(Frequency Control Word)寄存器、相位累加器(Phase Accumulator)和正余弦查找表(Sine/Cosine LUT)三部分组成,通过控制相位累加器的位宽和查找表的位宽,可以实现不同频率和动态范围的正弦信号的产生。

 

关于DDS是如何产生我们需要的波形信号可以查看这篇文章:

用FPGA实现DDS任意波形发生器 | 电子创新网赛灵思中文社区​xilinx.eetrend.com图标

而我们现在不用关

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子木呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值