AD9833信号波形谐波

article/2025/10/19 0:55:43

AD9833产生高频信号的谐波

~  
AD9833是一款AnalogDevices公司提供的数字信号可编程信号发生器芯片。它一般配有外置的主时钟信号,每次时钟信号将将内部28位的相位累加器递增一个相位数值。该相位数值由芯片SPI串口被外部的MCU设置。

相位累加器的高12位选择内部4096个ROM存储器所存储的正弦波信号采样数据,然后送到后面的10BIT的DAC,最终产生所合成的信号。

虽说AD9833能够在外部25Mhz的主时钟的驱动下,最高产生12.5Mhz的波形,但所产生的正弦波形的失真就很严重了。

下面实验所使用的AD9833外部的主时钟的频率为25Mhz。根据它的工作原理,它是对一个周期的正弦波的数字采样数据(10BIT,4096个数据点)重新按照25Mhz进行采样输出。通过设置每次采样递增的相位,最终决定了输出信号的频率。

AD9833框图
AD9833原理框图

例如,如果25Mhz采样的递增相位是2 π \pi π/5,那么每经过物次采样就加成一个周期的正弦波输出,所以输出的正弦波的频率是25Mhz的五分之一,即5MHz。由于每个周期的正弦波只使用五个采样点表示,所以输出的波形在时间轴上的量化误差比较大,波形失真比较严重。

下图是通过示波器采集到的AD9833输出5Mhz的时候信号的波形。

在这里插入图片描述
采集AD9833产生的5Mhz的波形
~  
上述失真正弦波形的频谱,包含了很多高次谐波,通过DSA815采集显示它的频谱如下图所示:
在这里插入图片描述
AD9833波形的频谱

频谱中除了5Mhz的基频信号之外,还有20MHz,30Mhz, 45MHz谐波信号。没有10Mhz,15Mhz,35Mhz的频谱。

将DSA815观察频谱的范围放大到100Mhz,所得到AD9833所产生的5Mhz的频谱如下面动图所示。除了基波频谱之外,它的高斯谐波频率为 n n n ⋅ \cdot 25Mhz ± 5 \pm5 ±5Mhz,即序列{20, 30, 45, 55,70,80…}

在这里插入图片描述

~  
试验所使用的电路板是在前面实验过程中制作的, 它们的连接分别是:
1. AD9833数字信号发生器;
2. 使用9833谐波发送调频信号;

在这里插入图片描述

~  
~  
通过数据可以模拟计算出对于正弦波进行每个周期5个采样点所产生的波形数据。随着采集的波形数据减少,波形失真逐步增大。
在这里插入图片描述

绘制上述波形的Python代码如下面所示:

#------------------------------------------------------------
SAMPLE_POINTS = 5           # Sample points number per-periodt = linspace(0, 4 * 2 * pi, 200)
sint = sin(t)
sintt = []step = SAMPLE_POINTS * 4
for i in range(step):v = sint[int(i * len(sint) / step)]n = len(sint) - int(i * len(sint) / step)if i < step - 1:if n > int(len(sint) / step):n = int(len(sint) / step)sintt.extend([v] * n)plt.plot(t, sint, label='Sinusoid')
plt.plot(t, sintt, label='Undersample')
plt.xlabel('Samples')
plt.ylabel('Amplitude')
plt.grid(True)
plt.legend(loc='upper right')
plt.show()

如何减少AD9833的波形失真?


波形失真的主要原因来自于在所产生的正弦限号的每一周期内的采样点数过少。随着采样点增多,所产生的波形失真就会减少。

下图显示了使用相同的主震荡频率(25Mhz)分别产生从1M~12.5MHz的波形。显示出随着波形频率增加,信号的失真程度增加。

在这里插入图片描述

增加采样点的个数,在相同的主频下,所产生的信号的频率就会降低。所以需要根据实际信号的频率范围,合理选择主频率。
在这里插入图片描述
每个周期采样个数从4个增加到50个,对应的波形失真情况


http://chatgpt.dhexx.cn/article/q6Oak7PR.shtml

相关文章

51驱动AD9833

使用51驱动AD9833模块的使用 关于AD9833相关参数程序流程代码片上传程序总结 原文链接&#xff1a;https://www.yourcee.com/newsinfo/2925703.html 关于AD9833 AD9833是一款低功耗、可编程波形发生器&#xff0c;能够产生正弦波、三角波和方波输出。各种类型的检测、信号激励…

Arduino + AD9833 波形发生器

Arduino SI5351 方波发生器_姜戈12的博客-CSDN博客SI5351 方波发生器https://blog.csdn.net/jiangge12/article/details/125815044 感觉 Si5351 只有方波还是少点意思。 看到有人做 AD9833 &#xff0c;成品卖355元。https://www.bilibili.com/video/av463721457/ 上面视频…

[技术讨论][DDS] AD9833原理介绍及chiliDDS驱动分享(上)

其实本文还有另一标题&#xff1a;《AD9833调不通&#xff1f;看这篇**就够了》 总觉字里行间隐隐霸气外露&#xff0c;不符合作者低调的风格&#xff0c;于是换了个朴素标题。标题狂不狂暂且不评&#xff0c;作者水平有限却是个事实&#xff1b;看到这篇**是你我缘分&#xff…

STM32单片机TFT显示AD9833 DDS信号发生器语音播报正弦波方波三角波

实践制作DIY- GC0146---TFT显示AD9833 DDS信号发生器 基于STM32单片机设计---TFT显示AD9833 DDS信号发生器 二、功能介绍&#xff1a; 硬件组成&#xff1a;STM32F103C系列最小系统板 1.8寸TFT彩屏AD9833信号模块4*4矩阵键盘DY-SV17F语音播报模块 1.通过4*4键盘来设定频率值和…

失真很大的波形发生器AD9833

波形发生器AD9833 01 波形发生器 一、AD9833 AD9833是一款AnalogDevices公司提供的数字信号可编程信号发生器芯片。 它一般配有外置的主时钟信号&#xff0c;每次时钟信号将将内部28位的相位累加器递增一个相位数值。 该相位数值由芯片SPI串口被外部的MCU设置。  相位累加器…

【STM32+cubemx】0030 HAL库开发:DDS芯片AD9833实现简单的波形发生器

大家好&#xff0c;我是学电子的小白白&#xff0c;今天带大家了解一款波形发生器芯片——AD9833。 AD9833是AD公司出品的一款DDS波形发生器&#xff0c;能够产生正弦波、三角波和方波输出。 1&#xff09;什么是DDS 通俗来讲&#xff0c;DDS是一种把波形预先存储在芯片内部的…

2.电赛进行时......(AD9833(DDS)模块的学习使用)

文章目录 前言一、DDS是什么&#xff08;信号发生器&#xff09;&#xff1f;二、AD9833模块介绍1.概述2.模块移植3、效果展示![在这里插入图片描述](https://img-blog.csdnimg.cn/2b0d29939275403f9248339c894965a0.png#pic_center) 前言 如果是玫瑰&#xff0c;它总会开花的…

AD9833介绍与应用(C语言实现)

1.特性 低功耗、可编程波形发生器&#xff0c;能产生正弦波、三角波和方波的输出&#xff1b; 主频时钟为25MHz时&#xff0c;可实现0.1Hz的分辨率&#xff1b;主频时钟为1MHz时&#xff0c;可实现0.004Hz的分辨率&#xff1b; 三线式串行接口(SDATA、SCLK、FSYNC)写入数据&a…

2021电赛预测—手把手带你玩转DDS模块AD9833

1、电赛预测 摘要&#xff1a;原定于7月28日才发布的器件清单&#xff0c;提前2天在26号就发布。感觉大家现在应该猜题预测&#xff0c;与其猜题&#xff0c;还不如静下心来做题。盲目猜题是没有必要的&#xff0c;熟悉相关器件倒尤为重要。不要到处去水群聊天&#xff0c;听风…

幻方....

c语言上机。。。。 c写的幻方。 1 /*************************************************************************2 > File Name: code/class/7.c3 > Author: 111qqz4 > Email: rkz2013126.com 5 > Created Time: 2015年11月11日 星期三 19时31分5…

Unity脚本生命周期流程图

转载自【无幻】&#xff1a;http://blog.csdn.net/akof1314/article/details/39323081 渲染 OnPreCull: 在相机剔除场景之前调用此函数。相机可见的对象取决于剔除。OnPreCull 函数调用发生在剔除之前。 OnBecameVisible/OnBecameInvisible: 在对象对于相机可见/不可见时调用此…

SonicUI在MFC中的使用

SonicUI是一个GUI引擎&#xff0c;提供了一些简单的UI组件实现高效率的UI效果&#xff0c;例如&#xff1a;自绘按钮、异形窗体、动画、超链接和图像操作方法。此项目作者开源到CodeProject&#xff0c;地址为&#xff1a;http://www.codeproject.com/KB/GDI/SonicUI.aspx。下载…

将ribbon主题应用到对话框中去(转载)

原帖地址&#xff1a;这里 找了N久&#xff0c;终于在无幻大神这里找到了将ribbon sdi主题应用到对话框程序中的方法&#xff0c;好像这是一个开源的项目&#xff0c;google code里有,地址在 这里。记录下&#xff1a; 1、下载网页里的资源KofPack0.1&#xff0c;vs里打开工程…

如何制作一个横版格斗过关游戏 Cocos2d-x 2.0.4

本文原创版权归 csdn 无幻 所有&#xff0c;转载请详细标明原创作者及出处&#xff0c;以示尊重&#xff01; 作者&#xff1a;无幻 原文&#xff1a;http://blog.csdn.net/akof1314/article/details/8549150 本文实践自 Allen Tan 的文章《How To Make A Side-Scrolling Bea…

VC复制HTML格式到剪贴板 HTML Clipboard Format

本文作者&#xff1a;无幻 测试环境&#xff1a;Windows 7 开发环境&#xff1a;Visual Studio 2008 SP1 参照MSDN和帮助&#xff0c;在VC下测试代码如下&#xff1a; C语言: BOOL CBaseDialogDlg::CopyHtmlToClip( const CString &strHtml ) { // 1)转换成UTF-8 CW2A p…

如何制作一个横版格斗过关游戏(2) Cocos2d-x 2.0.4 .

本文原创版权归 csdn 无幻 所有&#xff0c;转载请详细标明原创作者及出处&#xff0c;以示尊重&#xff01; 作者&#xff1a;无幻 原文&#xff1a;http://blog.csdn.net/akof1314/article/details/8572546 在第一篇《如何制作一个横版格斗过关游戏》基础上&#xff0c;增加…

Cocos2d-x 2.0.1 学习tests示例(二)ActionsTest

作者&#xff1a;无幻 博客&#xff1a; http://blog.csdn.net/akof1314 初学Cocos2d-x&#xff0c;如文章有错误之处&#xff0c;欢迎指出 自上篇《 Cocos2d-x 2.0.1 学习tests示例&#xff08;一&#xff09;Manual Transformation》继续学习tests示例。 1 2 3 4 5 6 7 8 9…

改变CMFCRibbonBar高度

本文作者&#xff1a;无幻 测试环境&#xff1a;Windows XP 开发环境&#xff1a;Visual Studio 2010 要改变CMFCRibbonBar的高度&#xff0c;需要重载CalcFixedLayout函数&#xff0c;例如如下&#xff1a; 头文件&#xff1a; #pragma once// // CKofMFCRibbonQuickAccessTo…

Cocos2d-x 2.0.1 学习tests示例(一)Manual Transformation

作者&#xff1a;无幻 博客&#xff1a; http://blog.csdn.net/akof1314 初学Cocos2d-x&#xff0c;如文章有错误之处&#xff0c;欢迎指出 从上次《Cocos2d-x 2.0 从HelloWorld入手》&#xff0c;继续学习tests示例。 1.右键点击“Solution ‘cocos2d-win32.vc2008’"&…

Unity3d好东西应该被看见_分享一个Assetbundle分析工具

关于Assetbundle分析 很多年前获得过搜狐畅玩的代码 不确定是不是腾讯流出版本&#xff0c;反正经历了深圳畅玩&#xff0c;到北京畅玩。 整个中国地图&#xff0c;从南到北&#xff0c;成熟的Unity手游团队&#xff0c;手上几乎都是那一份ASSETBUNDLE处理代码 功能太多&am…