无线传感器网络 matlab 基于无线传感器网络的MCKP-MMF算法matlab仿真
基于无线传感器网络的MCKP-MMF算法matlab仿真
大家好,今天我们介绍无线传感器网络中的MCKP-MMF算法。
·我们首先将当前文件夹定位到程序所在路径。这里我们写了两个算法,一个是标准算法,一个是改进算法。我们这里直接演示一下改进算法。打开run,点击运行。我们先简单看一下它的仿真效果,这个就是最后得到的半径变化情况。这里有8个圆,8个圆的半径变化情况以及代价函数。
这里我简单讲一下算法基本思路和流程。
·首先我们计算每一个网络的访问点,即红色点的代价函数。定义代价函数为TPK,然后在增加半径时,计算代价函数最小的那个访问点来增加其半径。
·在当前循环的条件下,计算所有访问点的代价函数。然后对这8个代价函数进行排序。
·选择代价函数最小,并增加其对应的圆半径。如果所有访问点的半径都被增加,那么就进入下一轮循环进行计算。对于每一个给定的访问点,如果同时拥有多个拥塞节点的半径,那么这个时候选择影响半径最小的那个访问点。如此循环往复,最终会得到一个动态平衡。大概是这么一个过程。演示完毕。
搞定电路设计之适于树莓派的±10V模拟输入和±15V模拟输出IO模块
虽然世界继续更加数字化,计算能力和数字功能愈发关键,但测量环境和与实际器件交互的需求仍然是一种模拟功能。为了在数字和模拟域的边界运行,处理器必须包括混合信号输入/输出,并适应更多的软件可编程范围,从而支持许多工业、仪器仪表和自动化应用。
图1所示的电路是一个灵活的多通道混合信号模拟输入/输出(I/O)模块。16个单端模拟输出可通过软件配置,支持范围为0V至5V、±5V、0V至10V和±15V。8个全差分模拟输入通道的输入范围为0V至2.5V、±13.75V和0V至27.5V,可通过硬件进行选择。
图1.ADI CN0554简化功能框图
该电路可直接安装在树莓派的顶部,为这款受欢迎的单板计算机提供模拟I/O接口。可通过Linux工业输入/输出(IIO)框架访问软件控制,提供各种调试和开发实用程序,以及支持C、C#、MATLAB、Python等语言绑定的跨平台应用程序编程接口(API)。
软件可以在树莓派上本地运行,也可以通过有线或无线网络连接进行远程控制。模块的5V电源通过树莓派接口连接器提供,不需要额外的电源。所有这些特性使该系统适用于低功耗、本地和远程、精密模拟I/O应用。
评估和设计支持
►电路评估板
►ADI CN0554电路评估板(EVAL-CN0554-RPIZ)
►设计和集成文件
►原理图、布局文件、物料清单、软件
电路描述
ADI CN0554为精密应用提供完整的模拟I/O系统。该电路可细分为两个主要组件:模数转换(ADC)和数模转换(DAC)。
模拟输入
CN0554可通过板载LT5400外部匹配电阻网络适应高达11倍输入衰减的模拟输入电压范围。该器件通过跳线选择增加了模拟输入电压范围。
表1显示了CN0554的完整跳线配置和相应的模拟输入电压范围。
表1.模拟输入范围
模数转换
CN0554包含具有可配置模拟输入的24位Σ-Δ ADC——AD7124-8。8个全差分输入通道或16个单端输入通道可通过软件配置,并提供可编程增益、滤波器设置和输出数据速率。
外部基准电压可通过跳线进行选择,可以是AD7124-8的内部带隙基准电压源,也可以是高精度、低功耗和低噪声基准电压源ADR4525的2.5V输出。由于基准电压漂移直接影响ADC的精度,CN0554使用外部基准电压源,因为与内部基准电压源相比,其温度漂移性能更佳。
AD7124-8的Σ-Δ架构在小信号传感器测量,甚至工业等高噪声环境中均提供高分辨率和噪声抑制。输出数据速率的可编程范围为1.17SPS至19.2kSPS,相应的测量分辨率分别为24nV rms至72μV rms;有几种滤波器模式可用。这使得CN0554的分辨率、数据速率和噪声抑制能够针对广泛的应用进行优化。
数模转换
CN0554包含16个使用LTC2688电压输出DAC的单端16位模拟输出。每个通道都有一个内部轨到轨输出缓冲区,可提供或接收高达20mA的电流。
LT8582为LTC2688提供±18V电源轨,使DAC能够充分利用其高达±15V的模拟输出范围。每个通道的输出范围可独立编程为表2中列出的五个范围。基准电压可通过软件编程,可使用内部4.096V,或将ADR4525 2.5V基准电压源用于ADC。每个通道还支持5%的超量程。
表2.电压输出范围调整
切换和抖动功能
CN0554同时支持切换和抖动功能。切换功能可以在两个不同的DAC代码之间快速切换DAC输出,而无需任何SPI事务,从而消除了通信事务。示例包括注入一个小的直流偏置或在通断状态之间独立切换。
抖动减少了精密应用中的量化误差,并通过在多个输出代码上扩展非线性来完成。此功能在许多需要将交流信号叠加在信号的平均直流值附近的应用中很有帮助。例如,在光学应用中,光路的次级特性可通过其对小交流信号的响应来测量。此外,抖动减少了滑阀等机械系统中的粘滞,加快了滑阀位置变化时的响应速度。
切换操作
如图2所示,每个通道都支持切换操作,可在通过软件设置的两个值之间切换输出电压。切换由切换信号控制,该信号可从树莓派或内部软件控制寄存器的三个不同外部数字输入(TGP0、TGP1和TGP2)中获取。其中两个数字信号TGP0和TGP1连接到树莓派数字输出,支持脉冲宽度调制(PWM)。
图2.切换和抖动操作框图
图3显示了CN0554执行的切换操作示例。根据切换引脚,输出电压在零电平和满量程值之间摆动,在1kHz时测量的峰峰值电压为33.0V。
图3.零电平至满量程输出电压切换
抖动操作
在CN0554中,每个通道还支持将正弦抖动信号添加到模拟输出的抖动操作。正弦曲线是使用查找表生成的,查找表中的值来自等式1。
(1)
其中:
n = 0, 1, 2, … N — 1。
N是信号周期。
φ0是信号相位角,初始信号相位。
CN0554可配置抖动信号的幅度、周期和相位角。
抖动信号的幅度通过软件设置,可以在设置的最大输出电压的0%到25%之间。
为了设置抖动频率,需要抖动时钟输入,并且可以从树莓派的三个外部数字输入TGP0、TGP1和TGP2中选择。其中两个外部输入TGP0和TGP1连接到树莓派数字输出,具有PWM特性,可轻松配置时钟频率。
抖动信号的频率通过由4、8、16、32和64软件可配置分频器分频的抖动时钟输入来设置,从而使用等式2来计算由此产生的抖动信号的频率:
(2)
其中:
fsignal是产生的抖动信号的频率。
fPWM是PWM时钟频率。
N是分频器。
抖动相位角可配置为四个不同的值:0、90、180和270。所有这些参数有助于精确控制抖动DAC通道输出。
图4显示了CN0554在最大信号周期的中间电平输出电压下执行的抖动操作示例,在1kHz抖动时钟下,峰峰值电压为15.04V。
图4.最大信号周期时的中间电平输出电压
图5显示了在最小信号周期的中间电平输出电压下执行的抖动操作,在1kHz抖动时钟下,峰峰值电压为17.6V。
图5.最小信号周期时的中间电平输出电压
系统性能
模拟输入噪声性能
图6显示了中间电平输入(5V)时的噪声特性,图7显示了满量程输入(10V)时的噪声特性。
图6.中间电平模拟输入噪声直方图
图7.满量程模拟输入噪声直方图
模拟输出噪声性能
LT8582的开关稳压器输出经过旁路和滤波,以降低噪声。图8显示了零电平输出时的交流耦合信号噪声,其在14.4mV时具有非常低的峰峰值噪声。
图8.来自ADC和DAC通道环回的零电平AC耦合噪声信号
图9显示了中间电平输出时产生的13.4mV峰峰值噪声。
图9.来自ADC和DAC通道环回的中间电平AC耦合噪声信号
在图10中,电路板在满量程输出时产生了17.6mV的最高峰峰值噪声。
图10.来自ADC和DAC通道环回的满量程AC耦合噪声信号
模拟输出线性
积分非线性(INL)是指与通过DAC转换函数端点的直线的最大偏差(单位:LSB)。此外,差分非线性(DNL)是任意两个相邻代码之间测得的变化值与理想的1LSB变化值之间的差异。最大±1LSB的额定差分非线性可确保单调性。
图11显示了输出电压的DNL(单位:LSB)与单通道LTC2688输出的16位设置值的对比。
图11.输出电压的差分非线性
图12显示了输出电压的INL(单位:LSB)与单通道LTC2688输出的16位设置值的对比。
图12.输出电压的积分非线性
电源架构
CN0554直接从树莓派40引脚接口连接器获取电源。图13显示了CN0554的完整电源树。
图13.CN0554电源树
LT8582是一个双独立通道开关DC/DC转换器,负责树莓派5V电源的升压和反相。
LT8582输出18V和-18V轨,然后用于为ADC和DAC提供必要的电源轨。CN0554还通过LT8582的故障保护特性提供输入过压和过热保护。
ADM7160超低噪声、低压差稳压器为AD7124-8提供3.3V模拟电源轨。该稳压器由树莓派接口连接器上的5V电源轨供电。AD7124-8数字I/O电源直接连接到树莓派的3.3V电源轨。
LT3090将-18V电源轨调节至-0.1V,为AD7124-8提供略微为负的模拟电源。电源轨设计成即使在启用输入缓冲器的情况下,绝对模拟输入电压也能覆盖从接地到基准电压的整个范围。
常见变化
AD7124-4可用于代替AD7124-8,只有8个单端和/或4个差分通道;这降低了无需额外通道的应用成本。
LTC2686是LTC2688的8通道替代品。它具有55mA的更高输出驱动电流和用于驱动高容性负载的补偿引脚。
如果只需0V至5V的输出范围,则LT8582可更换为单一正5V电源。DAC的替代电源选项可以考虑较低的输出电流升压或反相稳压器 ,因为电路板设计为支持所有通道上的全部DAC输出电流。
此外,还可以根据应用添加低压差稳压器等升压或反相稳压器的低噪声后置调节。
电路评估与测试
本节介绍评估EVAL-CN0554-RPIZ的设置和程序。如需完整的详细信息,请参阅CN0554用户指南。
设备要求
►EVAL-CN0554-RPIZ电路评估板
►树莓派4 B型
►带HDMI的显示器
►Micro HDMI转HDMI适配器
►USB键盘和鼠标
►16GB或更大的SD卡
►ADI公司Kuiper Linux镜像
►5V、3A USB Type-C电源适配器
►母对母环回跳线
►示波器
►数字电压表(6位或更高)
开始使用
默认情况下,ADI CN0554评估板配置了用于测试的正确分流位置。访问EVAL-CN0554-RPIZ用户指南以验证分流位置。
要执行评估测试,请按以下步骤操作:
1.将EVAL-CN0554-RPIZ连接到树莓派,如图14所示。
图14.EVAL-CN0554-RPIZ连接到树莓派
2.将具有Kuiper Linux镜像的SD卡插入树莓派。
3.使用母对母环回跳线电缆连接ADC输入和DAC输出通道,如图15所示。
图15.具有环回连接的EVAL-CN0554-RPIZ测试设置
4.将树莓派的HDMI电缆连接到显示器,然后将键盘和鼠标连接到USB端口。
5.使用USB Type-C电源适配器为树莓派供电,并等待树莓派启动。
图16.系统测试设置
6.打开IIO示波器,卸下(undock)DMM和调试选项卡,如图17所示。
图17.IIO示波器DMM和调试选项卡
7.在DMM窗口中,选择ad7124作为器件并选择要测量的通道,例如ad7124-8:voltage0-voltage1。点击Play按钮开始测量。
图18.IIO示波器DMM窗口
8.在调试窗口中,在“器件选择”中选择ltc2688。在IIO器件属性部分,选择输出电压1通道并选择原始属性。将值设置为32768,然后点击写入。这应该将输出电压设置为2.5V左右,即默认输出范围0V至5V的一半。
图19.IIO示波器调试窗口
9.DMM测量值应显示约0.227V或2.5V的1/11,即默认输入电压衰减。
图20.CN0554模拟I/O的环回测量
了解更多
-ADI CN0554设计支持包
-Thoren、Mark和Suteu、Cristina。“使用Python分析混合模式信号链中噪声的简单方法。”ADI公司
-科教视频。“使用带连接模拟的树莓派作为实验室仪器。”ADI公司
-Fortunato、Mark。“使用混合信号芯片成功实现PCB接地——遵循最小阻抗路径。”maximintegrated.com
-Meneu、Jean Jacques。“模拟和数字接地:混合信号设计原则。”Arrow.com
-Deprey、Rebecca。“将模拟传感器与树莓派结合使用。”rebeccamdeprey.com
-树莓派HAT简介。raspberrypi.com
数据手册和评估板
涉及的数据手册和评估板如下:LTC2688数据手册、AD7124-8数据手册、AD7124-8评估板、LT8582数据手册、LT8582评估板、LT3090数据手册、LT3090评估板、LT1790数据手册、ADR4525数据手册、LT5400数据手册、ADM7160数据手册、ADM7160评估板
ESD警告
ESD(静电放电)敏感器件。带电器件和电路板可能会在没有察觉的情况下放电。尽管本产品具有专利或专有保护电路,但在遇到高能量ESD时,器件可能会损坏。因此,应当采取适当的ESD防范措施,以避免器件性能下降或功能丧失。
Circuits from the Lab®参考设计是经过测试的参考设计,有助于加速设计,同时简化系统集成,帮助解决当今的模拟、混合信号和RF设计挑战。
相关问答
无线传感器网络 仿真用什么软件好..._网络编辑_帮考网无线传感器网络仿真可以使用以下软件:1.NS-2:一个广泛使用的网络仿真器,可用于模拟无线传感器网络。2.OMNeT++:一个开放源代码的仿真器,用于建模...
matlab 中的simulink如何仿真霍尔 传感器 ?如果是Multimeter的显示器的话,可以按照以下步骤改变线条颜色。在Multimeter的界面,选择View菜单,选中PlotBrowser,就会在右边出现所画的曲线的名称和线条的...
matlab 中如何加入sinx函数?>>symssinx:>>[sinx,3]。ans=[sinx,3]。>>diff(ans)。ans=[1,0]。MATLAB的基本数...
matlab 可以实现体温检测吗?可以啊,但是得配合下位机单片机硬件系统。首先下位机加入外部温度传感器,一般用到的温度传感器有ds18b20,和温湿度传感器dh111,然后配合单片机开发板,51单片...
matlab 电流测量元件怎么接电压源?在MATLAB中,可以通过使用电流测量元件模型来模拟电流测量。要将电流测量元件连接到电压源,可以按照以下步骤操作:1.在MATLAB命令窗口或脚本中,创建一个电路...
信息工程专业都学什么啊?信息工程专业的具体情况如下:1、信息工程专业主要课程电路与系统、信号与线性系统、随机信号处理、通信电子线路、数字信号处理、信息论、编码理论、微型计算...
四川大学物理科学与技术学院(核科学与工程技术学院)怎么样?设...[回答]其中,原四川大学物理系正式建立于1926年,已有近九十年历史。四川大学的物理学科不仅具有雄厚的教学、科研实力,还先后孕育、发展出了学校的无线电电...
童鞋们!有没有谁知道!怎样测量伺服交流永磁同步电机的电流...[回答]然后通过基于坐标变换的方法实现电机电流电压在不同坐标系下的计算。最后通过MATLAB/Simulink实现永磁同步电机的仿真模型,对不同匝数下永磁同步电...
信息工程系要学些什么?在信息工程系,学生需要学习计算机科学的基础知识,包括编程、数据结构、算法、操作系统、数据库等。此外,还需要学习网络技术、软件工程、人工智能、机器学习等...
东北大学(中国)信息科学与工程学院怎么样?设有哪些专业? 申请方[回答]~接下来我为大家简单介绍一下我们东北大学(中国)的信息科学与工程学院开设的专业以及研究情况专业设置:电子科学与技术-本科、自动化-本科、电气工...