闲庭信步使用图像验证平台加速FPGA的开发:第二十六课——正弦波DDS的FPGA实现

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球: 成工fpga, https://t.zsxq.com/DMeqH,关注即送200GB学习资料,链接已置顶!)

至于DDS的原理和实现,成工就不多说了,因为在上个系列和《孩子都能学会的FPGA》系列都要详细的讲解,链接是https://t.zsxq.com/rDxYc,**其实DDS实现非常的简单,就是计算出频率控制字,然后直接累加即可。如果想调节相位,直接将相位字进行累加即可**。

直接上代码,在\src\dds文件夹下新建dds.sv的文件,代码如下,非常的简单,根据输入期望的频率值,计算出频率控制字,然后直接累加即可,将累加值作为存储正弦波数组的地址将正弦波读出,这儿用到了字节位数的扩展,原因在以前系列的文章中有详细的说明。

所以DDS的功能就是这样简单,寥寥数行代码就可以实现,难度系数几乎为0,很多培训机构还把DDS当成培训课程的一个亮点,可见培训水平之"高"!

为了显示正弦波的DDS图像,在src\dds文件夹下新建draw_wave.sv的文件,基本功能和上篇显示正弦波的功能一致,就是多了不同频率dds模块的例化。

在top模块例化draw_wave模块。

在tb_image_sim文件中的三个initial块如下所示,本篇就不会测试平台的数据进行比对了。

双击sim文件夹下的top_tb.bat文件,完成系统的自动化仿真。

可以设置不同的频率多测试几次,在img文件夹下保存相关的图像,如下是频率500KHz和1MHz的正弦波图片。可见随着频率的增加,采样点数越来越少。

相关推荐
韩师傅3 天前
海天线算法的前世今生
python·计算机视觉
韩师傅3 天前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
韩师傅3 天前
当你的甲方吐槽天空不够蓝,你应该如何应对
python·计算机视觉
兵慌码乱10 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
小小杨树12 天前
读懂色彩:拍照调色不再难
算法·计算机视觉·配色
H__Rick14 天前
自动对焦学习-3
人工智能·学习·计算机视觉
坏孩子的诺亚方舟14 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
计算机科研狗@OUC14 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
qq_3665665014 天前
2026最新:5款AI视频口型同步工具实测横评,视频翻译后嘴型对不上的终极解决方案
人工智能·计算机视觉·新媒体运营