使用AD5933分析复阻抗的时钟频率设置

article/2025/3/14 23:04:30

作者:卓晴博士,清华大学自动化系
更新时间:2020-07-29 Wednesday  

 

■ 前言


使用 AD5933分析复数阻抗 时,由于受到内部离散傅里叶变换(DFT)所带来的以下限制:

  • 由于采集信号可能带来的频率 频率混叠 现象
  • 由于对信号进行截取所带来的频率泄露现象

频率混叠现象决定了分析信号频率的上限,应该低于AD5933采样频率的一半。频率泄露现象决定了分析信号频率的下限,它应该大于AD5933采样数据时长对应频率的3倍(也可以是5倍)以上。下面举例说明频率混叠与频率泄露对于测量结果的影响。

  • 1.频率混叠对于测量结果的影响

比如,在AD5933使用外部时钟频率 f e x t = 1 0 6 H z f_{ext} = 10^6 \,\,Hz fext=106Hz时,对应的采样频率为: f s = 59.61 k H z f_s = 59.61\,\,kHz fs=59.61kHz。下图显示了对于固定的电阻 R L = 300 k Ω R_L = 300k\Omega RL=300kΩ测量时,激励频率从10kHz变化到110kHz过程中,输出结果。

理论上,当激励频率大于 0.5 f s 0.5f_s 0.5fs的时候,采集就出现了频率混叠现象。从下面的测量结果可以看,实际上等频率超过了55kHz以上的时候,结果中出现了明显的抖动和噪声。
▲ 信号频率过高对于采集结果的影响

▲ 信号频率过高对于采集结果的影响

  • 2.频率泄露对于测量结果的影响

下面给出了激励信号频率从10Hz变化到410Hz的过程中,在负载 R L = ∞ R_L = \infty RL=时,测量的结果。此时AD5933仍然使用外部时钟信号,频率为1MHz,对应的采样频率为59.61kHz。采集完1024个数据,所需要的采集时间:

那么Ts的倒数对应的频率为:58.2Hz,两倍频对应的是116.4Hz。

从下图可以看到,当激励频率大约是116Hz的时候,测量的结果从降低到0。随后又出现了一些波动。所以需要取1/Ts的五倍以上,频率泄露对于测量结果的影响才趋近于0。
▲ 信号频率过低时对应的频率泄露现象对测量结果的影响

▲ 信号频率过低时对应的频率泄露现象对测量结果的影响

下图可以看到,当激励频率为1/Ts的五倍,六倍的时候,测量的结果(在负载等于无穷大的时候,结果应该是0)已经变得比较小了。

▲ 不同激励频率对于负载阻抗为∞时测量的结果

▲ 不同激励频率对于负载阻抗为∞时测量的结果

下面通过分析AD5933的工作频率与采集频率之间的关系,进而反过来通过对复阻抗激励信号频率要求,选取合适的AD5933的工作频率。

 

01工作频率与采集频率之间的关系


AD5933的AD采集频率 f s f_s fs与其工作频率 f o s c f_{osc} fosc有关系,基本上可以通过以下公式来求得:

这个公式可以根据 AD5933 的工作手册上,对于其工作在内部频率16.776MHz,对应采样频率为1Msps来进行计算的。的确,对于AD5933的AD转换所需要的时钟个数,在工作手册中并没有详细的叙述。

AD5933采集数据的周期 T 1 T_1 T1则有一下公式获得:


上面公式中 f o s c f_{osc} fosc的单位是MHz, T 1 T_1 T1的单位就是秒。

根据前面叙述,如果AD5933的工作频率 f o s c f_{osc} fosc确定下来,那么对于复阻抗激励信号的频率应该小于 f s / 2 f_s /2 fs/2,并大于 5 / T 1 5/T_1 5/T1,即:

将上面表达式进行转化,可以变成一下公式。其中 f o s c f_{osc} fosc的单位是MHz, f 0 f_0 f0的单位是Hz。

为了计算方便,可以将上面的公式简化成:

 

02根据激励信号范围确定工作频率


由于有了以上的分析,可以知道,对于复阻抗分析的时候,在固定的工作频率下,激励信号的频率范围变化不能够超过100倍,即激励信号的最大频率 f max ⁡ f_{\max } fmax除以最小频率 f min ⁡ f_{\min } fmin,比值不超过100。这在大多数情况下是满足需求的。

如果当激励信号变化范围超过了100,只能够动态的通过调整工作频率来达到要求。

如果已知所激励信号频率范围: { f min ⁡ , f max ⁡ } \left\{ {f_{\min } ,f_{\max } } \right\} {fmin,fmax},而且 f max ⁡ / f min ⁡ < 100 f_{\max } /f_{\min } < 100 fmax/fmin<100,那么确定AD5933的工作频率可以通过前面公式(5)来定义,即:


比如,希望激励信号的范围是10~100Hz,即: f min ⁡ = 10 , f max ⁡ = 100 f_{\min } = 10,\,\,f_{\max } = 100 fmin=10,fmax=100,根据(6)(7)可以计算出AD5933工作频率 f o s c f_{osc} fosc的上下限为:


即从3.3kHz~33kHz。为了进一步降低频率泄露对于测量结果的影响,所以应该在上述范围内取频率更小的工作频率。比如5kHz。
但是,如果工作频率低,也同样会造成测量时间过长。所以综合起见,选择工作频率fosc为20kHz。此时,测量一个数据大约需要0.85秒。

 

※ 结论


本文分析了使用AD5933来分析复阻抗时,如何选器最恰当的工作频率,使得测量阻抗是不会因为频率混叠和频率泄露对于结果造成很大的影响。

工作频率范围的选择,除了需要满足公式6,7要求之外,还需要根据测量速度以及测量精度之间做权衡。当工作频率普遍很高的时候,可以尽可能照顾到公式6所给出的下限,这样可以尽可能减少频率频率泄露所带来的影响。当工作频率比较低的时候,则需要适当增加工作频率,以使得测量的时间更短。

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# AD5933.PY                    -- by Dr. ZhuoQing 2020-06-25
#
# Note:
#============================================================from head import *
from tsmodule.tsstm32       import *#------------------------------------------------------------def init(settletime=100, extclock=0):if extclock > 0:stm32cmd('writeb 81 8')else:stm32cmd('writeb 81 0')time.sleep(0.02)stm32cmd('writeb 80 b1')    # Enter standby modestm32cmd('writei 8a %x'%settletime)time.sleep(0.02)def temperature():data = stm32cmdata('readt', wait=200)if len(data) > 0:return data[0] / 32else: return 0def setsweep(startf, incf, num=100, oscf=16.557):startn = int(startf * (2**27) / (oscf*1e6/4))incn   = int(incf * (2**27) / (oscf*1e6/4))#    printff('%x %x %x'%(startn, incn, num))stm32cmd('writel 82 %x'%startn)time.sleep(.02)stm32cmd('writel 85 %x'%incn)time.sleep(.02)stm32cmd('writei 88 %x'%num)time.sleep(.02)#    stm32cmd('writeb 81 0')         # D3: 0:Internal system clock 1:External
#    time.sleep(.02)stm32cmd('writeb 80 b1')        # Standbytime.sleep(.02)stm32cmd('writeb 80 11')time.sleep(.02)fdim = []for n in linspace(startn, startn + incn * num, num+1, endpoint=True):fdim.append(n * oscf * 1e6/4/(2**27))return fdimdef startf(resultflag = 0):if resultflag > 0:stm32cmd('writeb 80 21 1')else:stm32cmd('writeb 80 21')def incf(resultflag = 0):if resultflag > 0:stm32cmd('writeb 80 31 1')else:stm32cmd('writeb 80 31')def repeatf(resultflag = 0):if resultflag > 0:stm32cmd('writeb 80 41 1')else:stm32cmd('writeb 80 41')def readdata():return stm32cmdata('readd', wait=100)def sweep(code=0x1):stm32cmd('CLEAR')time.sleep(.02)stm32cmd('sweep %x'%code)#------------------------------------------------------------if __name__ == '__main__':tdim = []for i in range(10):data = temperature()tdim.append(data)time.sleep(.1)printf(tdim)#------------------------------------------------------------
#        END OF FILE : AD5933.PY
#============================================================

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

相关文章

使用AD5933测量电子器件复阻抗

■ 前言 下面使用 AD5933阻抗转换器、网络分析仪初步实验 对一些典型的器件测量相关的阻抗。分析测量所对应的工作频率&#xff0c;工作量程等问题。 相关的文献参阅&#xff1a; AD5933阻抗转换器、网络分析仪初步实验AD5933不同频率下的转换结果AD5933使用外部时钟获得更低…

AD5933不同频率下的转换结果

01简介 AD5933阻抗转换模块 是一款基于AD公司的 AD5933 芯片的测量 复阻抗 的电路模块。在 AD5933阻抗转换器、网络分析仪初步实验 中对该模块进行了初步的实验。 由于该芯片的基本原理是采集有芯片内部产生的正弦波电压信号激励下复阻抗相应的正弦电流信号&#xff0c;经由芯…

AD5933使用外部时钟获得更低的分析频率

■ 前言 在博文 AD5933不同频率下转换结果 中分析了 AD5933阻抗变换模块 使用内部时钟&#xff08;fosc16.776MHz&#xff09;时&#xff0c;测量结果受到采集时间窗口的影响&#xff0c;所能够达到的最低阻抗激励正弦信号频率。 那么&#xff0c;在有些应用中&#xff0c;对象…

基于AD5933 生物复阻抗

1、基于AD5933的生物复阻抗测量仪 - 百度文库 2、参考设计&#xff1a;基于AD5933的生物复阻抗测量仪 | 亚德诺半导体 3、使用AD5933分析复阻抗的时钟频率设置_卓晴的博客-CSDN博客 4、AD5933设计阻抗测量系统小总结 - ADI参考电路 - 电子工程世界-论坛 5、AD5933阻抗测量…

2019年电赛D题简易电路特性测试仪试题ad5933测量小阻抗值

ad5933 继上一篇的文章&#xff0c;我后面才发现一个大问题&#xff0c;就是上一次计算的增益系数其实不能测量其他小的阻抗值&#xff0c;在参考手册里面就有一章讲的就是小阻抗的 这一个小阻抗的扫描频率范围是在《500欧的范围内 当然手册里面也是讲到不同的阻抗值是对应的…

最小采样频率计算公式_AD5933使用外部时钟获得更低的分析频率

■ 前言 在博文 AD5933不同频率下转换结果[1] 中分析了 AD5933阻抗变换模块 使用内部时钟(fosc=16.776MHz)时,测量结果受到采集时间窗口的影响,所能够达到的最低阻抗激励正弦信号频率。 那么,在有些应用中,对象的带宽和工作频率会很低,那么如果能够使用AD5933对这些对象进…

阻抗测量单芯片方案AD5933 芯片使用方法

庆祝一下&#xff1a;作者设计的生物阻抗分析设备与万通桌面版电化学工作站精度对比&#xff0c;最大误差≤3%&#xff1b; 内容安排&#xff1a; AD5933 大概的工作原理&#xff1b;作者再使用AD5933 的注意事项&#xff1b;驱动代码与验证方法&#xff1b; 注意事项 1&a…

AD5933阻抗模块测量值校正

■ 前言 在博文 使用AD5933测量元器件的谐振特性 推导了测量阻抗校正公式。 为了简便起见&#xff0c;下面的分压电阻 R 1 , R 2 R_1 ,R_2 R1​,R2​取值相同&#xff0c;与待测元器件阻抗大体相同。 测量分为两步&#xff1a; 第一步&#xff1a;先使用分压电路测量各个频率…

AD5933阻抗转换器、网络分析仪初步实验

■ 简介 AD5933阻抗变换模块 是基于AD&#xff08;ANALOG DEVICES&#xff09;公司 的 AD5933 芯片的阻抗转换器、网络分析仪。此外&#xff0c;AD公司还提供了一款小型的 AD5934 。 ▲ AD5933阻抗转换器 该模块在TMALL上的零售价格为&#xffe5;188。 D5933是一款高精度的阻…

阻抗转换器AD5933使用总结及分析(2)

电路小白 微信公众号&#xff1a;实在太懒于是不想取名 前言&#xff1a; 上一篇制作完AD5933的使用后&#xff0c;成功的使用AD5933完成RCL负载网络的测试以及网络类型的判断。重新研读AD5933的数据手册时&#xff0c;我们产生了一个大胆的想法——即利用AD5933的硬件资源直…

高等数学同济第七版课后答案下册

高等数学同济第七版课后答案下册 高等数学课后答案同济第七版下册 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/185C8RB4Y9pYO84V4Rup1Wg 提取码&#xff1a;p7o4 如果链接失效扫一扫右侧&#xff0c;回复 高等数学答案 即可免费获取 百度文库所有文档原格…

高等数学习题全解指南下册同济第七版课后习题答案

高等数学习题全解指南下册同济第七版课后习题答案 原创bookanddream 最后发布于2020-03-16 12:30:11 阅读数 9 收藏 展开 高等数学同济大学七版课后习题答案习题全解指南下册PDF下载 习题8-1 向量及其线性运算 习题8-2 数量积 向量积 *混合积 习题8-3 同济大学平面及其方程高…

高等数学同济第七版下册期中复习提纲思维导图知识体系

大家好呀&#xff01;刚刚期中考完我就来更新啦&#xff01; 我整理了第8章到第11章的提纲&#xff0c;以及我自己体会到的一些好的做题习惯&#xff0c;百度链接放到下面了&#xff0c;需要的小伙伴自取哦~ 为了简洁性和可读性&#xff0c;我略去了一些简单的知识点&#xf…

java中jsp是什么_JSP是什么?

JSP(Java Server Pages),即Java服务器界面,是指: ●在HTML中嵌入Java脚本代码 ●由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 ●然后将生成的整个页面信息返回给客户端 一个JSP页面分为以下五个部分: 一、静态内容:HTML静态文本 HTML标签内容请点击:HTML常用…

java web 和js区别_jsp和javascript之间有什么区别?

很多人都把jsp和javascript混为一谈,都以为jsp和javascript是一个东西,其实jsp和javascript是有很大的区别的。下面本篇文章就来给大家介绍一下jsp和javascript的区别,希望对大家有所帮助。 jsp和javascript之间的区别 名字: JS:JavaScript JSP:Java Server Pages 本质的…

JSP引入JS/CSS路径到底怎么写才好

缘起 在某些项目中可能会采用相对路径或者绝对路径方式来引入js或css文件&#xff0c;这在某些情况下会出现问题。下面我们就来说说问题出在哪里&#xff0c;我们先将以下所有的例子中的页面设定为a.jsp。 相对路径存在的问题 采用相对路径的写法如下两种 <script type&…

jsp和js区别 一

最近很多同学在纠结于名词缩写之间的相似性&#xff0c;因此本人也来写一篇&#xff0c;讲讲JS和JSP的区别。 SUN首先发展出SERVLET&#xff0c;其功能比较强劲&#xff0c;体系设计也很先进&#xff0c;只是&#xff0c;它输出HTML语句还是采用了老的CGI方式&#xff0c;是一句…

JAVASCRIPT、JSP、JS有什么区别和联系

感谢大佬&#xff1a;https://www.cnblogs.com/xiaojizhualaoying/p/10662410.html js是javascript的缩写。以下是JSP与JS的区别和联系&#xff1a; 名字&#xff1a;JS&#xff1a;JavaScriptJSP&#xff1a;Java Server Pages 执行过程&#xff1a;JSP先翻译&#xff0c;翻译…

【Java】Java、JavaScript、JSP、JScript,傻傻分不清楚

不怕大家笑话&#xff0c;曾经在大学期间就做过**一次**web相关的工作&#xff0c;也就是自己《软件工程》的项目作业&#xff0c;初步接触了一些CSSDIV的工作。但是依然不是很深入&#xff0c;都称不上前端工作&#xff0c;因为js是小组内其他成员负责调的&#xff0c;自己最多…