闲庭信步使用图像验证平台加速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的正弦波图片。可见随着频率的增加,采样点数越来越少。

相关推荐
szxinmai主板定制专家8 小时前
基于 PC 的控制技术+ethercat+linux实时系统,助力追踪标签规模化生产,支持国产化
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
qwy71522925816310 小时前
10-图像的翻转
人工智能·opencv·计算机视觉
lovod11 小时前
视觉SLAM十四讲合集
计算机视觉·slam·视觉slam·g2o·ba·位姿图
kiro_102312 小时前
BGRtoNV12与NV12toBGR互转函数
人工智能·opencv·计算机视觉
木斯佳14 小时前
HarmonyOS 6实战(源码教学篇)— PinchGesture 图像处理【仿证件照工具实现手势交互的canvas裁剪框】)
图像处理·交互·harmonyos
学步_技术15 小时前
多模态学习—A Survey of Multimodal Learning: Methods, Applications, and Future
人工智能·深度学习·计算机视觉
学步_技术16 小时前
多模态学习—Multimodal image synthesis and editing: A survey and taxonomy
人工智能·深度学习·计算机视觉
GatiArt雷16 小时前
基于Torch-Pruning的ResNet模型轻量化剪枝实战——解决边缘设备部署痛点
人工智能·深度学习·计算机视觉
Dingdangcat8617 小时前
【技术解析】TOOD-R101-FPN-MS-2x-COCO导弹目标检测模型实现与优化
人工智能·目标检测·计算机视觉
qwy71522925816317 小时前
13-图像的透视
人工智能·opencv·计算机视觉