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

相关推荐
埃科光电2 小时前
16K万兆网口彩色线阵相机:四倍带宽 高速真彩检测新方案
网络·图像处理·数码相机·计算机视觉·制造·相机
学术 学术 Fun3 小时前
612 次图表重建实验告诉我们的:O612 次图表重建实验告诉我们的:OCR、图形与连接线CR、图形与连接线
机器学习·计算机视觉·ocr·图表
大熊背5 小时前
去马赛克混叠现象分析
计算机视觉·去马赛克·颜色插值
爱吃火鸡面呀7 小时前
OpenCV 人脸检测与识别实战:从静态图像到视频流
人工智能·opencv·计算机视觉
EDPJ7 小时前
(2026|IPI|我的论文投稿中,PSP 超轻量采样算法,轻量化架构探索/早融合+头压缩)LUMIN:面向工业异常检测的轻量级通用制造检测网络
算法·计算机视觉·架构·异常检测·采样算法
hhzz8 小时前
【OpenCV 入门到精通 02】环境安装与第一个程序:5 分钟跑通 Hello OpenCV
人工智能·opencv·yolo·计算机视觉·开源
明志数科8 小时前
机器人数据采集流程的工程实践:三条主流路线对比与选型分析
计算机视觉·自然语言处理·机器人
盼小辉丶8 小时前
PyTorch计算机视觉(9)——变分自编码器(VAE)详解与实现
人工智能·pytorch·深度学习·计算机视觉
续写烂尾8 小时前
SD NAND vs SPI NAND:接口协议、坏块管理与开发成本全面对比
fpga开发
matlab代码9 小时前
matlab车牌出入库识别系统停车场演示【源码61期】
人工智能·计算机视觉