当前位置: 首页 > article >正文

我的电赛(简易的波形发生器大一暑假回顾)

DDS算法:当时是用了一款AD9833芯片搭配外接电路实现了一个波形发生,配合stm32f103芯片实现一个幅度、频率、显示的功能;

在这个过程中,也学会了一些控制算法;就比如DDS算法,当时做了一些了解,可能理解不够深入,但是起码理解了,哈哈哈。

算法原理:

       微控制器向 AD9833 写入频率控制字和相位控制字,芯片内部的相位累加器根据频率控制字进行累加运算,得到的相位值作为地址去访问波形存储器(内部已固化正弦波、方波、三角波等波形数据),取出对应幅值的数字信号,再经过数模转换和低通滤波,输出模拟波形 。通过改变频率控制字,可以调整相位累加器的累加速度,从而实现输出波形频率的改变;通过修改相位控制字,能够改变输出波形的初始相位。

好迷,总体来说就是向寄存器写入一些值(下面应该是叫做控制码)来控制输出的波形变化;

AD9833 可输出正弦波、方波和三角波,通过向特定寄存器写入不同的控制码来选择波形类型。例如,写入控制码 0x2000 选择正弦波,写入 0x2100 选择方波,写入 0x2200 选择三角波。在程序中,根据用户选择的波形类型,将对应的控制码通过 SPI 通信写入 AD9833 的控制寄存器。

感觉如果嵌入式方面要应用的话,能理解上面这些就欧克了,至于具体的公式原理倒没有显得那么重要了。

下面就是一些关于DDS控制算法的频率和相关相位的计算了:

http://www.lryc.cn/news/2379140.html

相关文章:

  • AI工程 新技术追踪 探讨
  • 算法题(149):矩阵消除游戏
  • 在 Vue 中插入 B 站视频
  • printf函数参数与入栈顺序
  • 仿生眼机器人(人脸跟踪版)系列之一
  • 08、底层注解-@Configuration详解
  • Go语言语法---输入控制
  • 蓝桥杯单片机按键进阶
  • CSS- 4.3 绝对定位(position: absolute)学校官网导航栏实例
  • Flink 作业提交流程
  • 拓展运算符
  • Seata源码—6.Seata AT模式的数据源代理一
  • 计算机科技笔记: 容错计算机设计05 n模冗余系统 TMR 三模冗余系统
  • Spring Boot 与 RabbitMQ 的深度集成实践(一)
  • 黑马程序员2024新版C++笔记 第2章 语句
  • HTML5中的Microdata与历史记录管理详解
  • 上位机知识篇---涂鸦智能云平台
  • 面试中的线程题
  • 济南国网数字化培训班学习笔记-第三组-2-电力通信光缆网认知
  • 前端动画库 Anime.js 的V4 版本,兼容 Vue、React
  • 用 PyTorch 从零实现简易GPT(Transformer 模型)
  • 前端JSON序列化中的隐形杀手:精度丢失全解析与实战解决方案
  • 【通用大模型】Serper API 详解:搜索引擎数据获取的核心工具
  • Spring3+Vue3项目中的知识点——JWT
  • python3GUI--智慧交通分析平台:By:PyQt5+YOLOv8(详细介绍)
  • Linux任务管理与守护进程
  • C#里与嵌入式系统W5500网络通讯(2)
  • EMQX开源版安装指南:Linux/Windows全攻略
  • 【计算机视觉】OpenCV实战项目:GraspPicture 项目深度解析:基于图像分割的抓取点检测系统
  • MySQL 数据库备份与还原