CN210488594U - 基于mcu的pso-bp神经网络传感器校准系统 - Google Patents
基于mcu的pso-bp神经网络传感器校准系统 Download PDFInfo
- Publication number
- CN210488594U CN210488594U CN201920746802.5U CN201920746802U CN210488594U CN 210488594 U CN210488594 U CN 210488594U CN 201920746802 U CN201920746802 U CN 201920746802U CN 210488594 U CN210488594 U CN 210488594U
- Authority
- CN
- China
- Prior art keywords
- calibration
- neural network
- pso
- module
- microprocessor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本实用新型涉及一种基于MCU的PSO‑BP神经网络传感器校准系统,其特征在于:所述系统包括微处理器、通信模块、校准模块、数码管显示模块和存储单元;所述微处理器通过AHB‑Lite总线与通信模块、校准模块、数码管显示模块和存储单元分别连接;所述通信模块与待测传感器连接。本实用新型可以实时对传感器读出数据的校正,可有效消除传感器的非线性特性,解决了现有的软件校准方式实时性差、硬件校准方式精度有限等缺陷。
Description
技术领域
本实用新型涉及传感器数据校准领域,具体涉及一种基于MCU的PSO-BP神经网络传感器校准系统。
背景技术
目前的传感器校准系统实现方法主要分为软件校准与硬件校准两种。
传统软件校准一般采用多项式拟合、插值法等方法,其校准精度比硬件校准方法高,但是实时性较差。多项式拟合的校准精度易受标定数据的数量与拟合多项式阶数的影响,且在输入数据区间外误差较大。牛顿插值法在端点连接处的曲线可能不光滑,三次样条插值法虽然精度高但计算过程过于复杂。神经网络算法具有较高的非线性函数拟合能力,其拟合效果较好。现阶段神经网络校准算法的实现多以软件为主,后续需要人为对传感器数据进行采集与处理,不利于传感器的实时、自动化测量。
硬件校准实时性高,但精度较低,存在精度与电路复杂度相关、不易调试集成等局限性。传统的硬件校准方法有电阻网络、反馈调整运放、反馈修改电源电压等方法。采用电阻网络进行校准校正范围较小,且校正精度不高。采用反馈调整运放输入的校准方式不易于集成,整体电路的调试也较为复杂,需要严格控制电阻的比例。反馈修改电源电压进行校准的电路过于复杂,不易于集成,调试过程繁琐。
发明内容
有鉴于此,本实用新型的目的在于提供一种基于MCU的PSO-BP神经网络传感器校准系统,可有效消除传感器的非线性特性,解决了现有的软件校准方式实时性差、硬件校准方式精度有限等缺陷。
为实现上述目的,本实用新型采用如下技术方案:
一种基于MCU的PSO-BP神经网络传感器校准系统,所述系统包括微处理器、通信模块、校准模块、数码管显示模块和存储单元;所述微处理器通过AHB-Lite总线与通信模块、校准模块、数码管显示模块和存储单元分别连接;所述通信模块与待测传感器连接。
进一步的,所述通信模块采用I2C总线,总线由数据线与时钟线组成。
进一步的,所述校准模块的校准算法采用PSO-BP神经网络,所述PSO-BP神经网络结构为单隐藏层,输入层、隐藏层、输出层的神经元数为1:3:1,输入层和隐藏层使用Sigmoid函数作为激活函数,输出层的激活函数采用线性函数。
进一步的,所述Sigmoid函数采用多项式分段拟合方式拟合。
进一步的,所述BP神经网络构建具体为:
步骤1:BP神经网络利用误差反向传播的学习规则进行模型训练;
步骤2:收集完足够多传感器读出数据后,导入数据进行权重与偏置的学习;
步骤3:在误差反向计算阶段,根据链式法则,使用随机梯度下降法优化二次代价函数;
步骤4:以BP神经网络的模型误差为适应度函数,采用PSO算法对BP神经网络的初始化初始参数进行优化,得到误差较小的初始参数;
步骤5:将得到误差较小的初始参数,通过BP神经网络进行训练,最后完成模型训练,得到PSO-BP神经网络模型。
进一步的,所述显示模块采用数码管显示模块。
一种基于MCU的PSO-BP神经网络传感器校准系统的控制方法,包括以下步骤:
步骤S1:微处理器通过通信模块读取传感器数据;
步骤S2:所述微处理器对传感器数据进行标准化处理,得到预处理后的读出数据;
步骤S3:将预处理后的读出数据输出至校准模块进行校准,并将校准后的读出数据进行反标准化后输出至微处理器;
步骤S4:微处理器将反标准化后的数据传送至显示模块显示。
本实用新型与现有技术相比具有以下有益效果:
1、本实用新型将神经网络校准系统从软件端移植至硬件端MCU上,完成了校准系统的搭建,并在系统中加入I2C协议通信模块进行传感器芯片与校准系统的数据通信,解决了软件校准实时性差的不足。
2、 本实用新型在硬件上实现了Sigmoid函数,利用了分段多项式拟合方式对神经网络的激活函数进行设计,同时对神经网络的激活函数引入了模块复用技术,在保证了硬件校准精度的同时降低了系统的面积与功耗。
附图说明
图1是本实用新型校准系统框图;
图2是本实用新型神经网络硬件结构图;
图3是本实用新型Sigmoid激活函数硬件实现框图;
图4是本实用新型系统工作流程框图。
具体实施方式
下面结合附图及实施例对本实用新型做进一步说明。
请参照图1,本实用新型提供一种基于MCU的PSO-BP神经网络传感器校准系统,所述系统包括微处理器、通信模块、校准模块、数码管显示模块和存储单元;所述微处理器通过AHB-Lite总线与通信模块、校准模块、数码管显示模块和存储单元分别连接;所述通信模块与待测传感器连接。
本实施例中,微处理器主要负责数据预处理及系统的状态调度。微处理器通过通信模块读取传感器数据,而后将读出数据进行标准化,在不改变数据离散程度的情况下,将传感器读出数据统一范围以提高模型的收敛速度。将标准化的数据传输至校准模块进行校准,而后再将校准后的读出值反标准化,通过微处理器将数据传送给显示模块。微处理器主要通过多路复用器与地址译码器的配合实现对从机的读写操作。
本实施例中,存储单元用于存储HEX文件,主要存储C语言生成的机器码,代码将通过AHB-Lite总线传送至微处理器令其对从机进行读写操作。
本实施例中,所述通信模块采用I2C总线,总线由数据线与时钟线组成。将传感器作为从机,利用微处理器和C语言模拟I2C主机的时序。主机发送开始信号,根据地址信号寻找从机,并发送读或写的指令,从机产生应答,而后主从机之间进行对应的数据传输工作,每一次操作结束,从机都会产生一个应答信号以判断通信是否成功,数据传输结束后,主机发送结束信号,释放I2C总线。
本实施例中,BP神经网络利用误差反向传播的学习规则进行模型训练。收集完足够多传感器读出数据后,在软件端进行权重与偏置的学习。在误差反向计算阶段,根据链式法则,使用随机梯度下降法优化二次代价函数。引入粒子群(PSO)算法对神经网络的初始参数进行合理设置。以BP神经网络的模型误差为适应度函数,采用PSO算法对BP神经网络的初始化初始参数进行优化,得到误差较小的初始参数,而后再通过BP神经网络进行训练,最后完成模型训练。
本实施中,PSO-BP神经网络整体结构的硬件电路映射由图2所示。其结构定为单隐藏层,输入层、隐藏层、输出层的神经元数定为1:3:1。考虑到传感器读出数据中负数数据较为常见,ReLu激活函数难以拟合负数数据,所以在输入层和隐藏层使用Sigmoid函数作为激活函数。为保证最终能够正常显示正负数值,输出层的激活函数采用了线性函数。
为了平衡神经网络模型的计算精度和硬件资源消耗,在硬件实现中不采用软件端中通常使用的浮点数,而采用定点数进行计算。为了保证精度,硬件中模型的输入与输出数据采用16位定点数,数据计算采用32位定点数。16位定点数中从左到右依次为符号位,3位整数位,12位小数位;32位定点数中从左到右依次为符号位,7位整数位,24位小数位。
乘加器根据被二进制乘数对二进制乘数进行移位相加,是由时钟控制的一连串“移位—加法”操作。
本实施例中,Sigmoid激活函数硬件实现框图如图3所示。由于在硬件难以实现指数函数,所以使用多项式分段拟合方式拟合Sigmoid函数。在保证精度要求的前提下,将激活函数划分为12段,其拟合函数的阶数最高为两阶。利用查找表存储并查找不同分段的参数实现不同区间的多项式。一个二阶多项式的计算大体可以分为四个过程:首先,根据输入数据x查找对应的二阶多项式系数a,b,c;然后,第二阶段采用两个乘法器并行计算x2与bx;之后,利用一个乘法器与加法器同时计算ax2与bx+c;最后,利用加法器相加输出y。为了保证一定的计算速度,在设计中未使用流水线,同时引入了并行计算。其加法器与乘法器模块使用模块复用以降低资源消耗。
本实施例中,所述显示模块采用数码管显示模块。由于在硬件中的数据存储为二进制或十六进制,因此需要进行一定的转化才能以十进制显示出来。通过简单的除法取模取余即能得到对应的十进制数值。由于除法用硬件电路搭建较占用资源面积,因此转换部分由微处理器完成。最高位为符号位用于表示正负,后5位表示数值,其中前3位表示整数部分,后2位表示小数部分。使用六位数码管进行数据显示,最高位为符号位,2-4位表示整数部分,5-6位表示小数部分。
参照图4,本实施例中,一种基于MCU的PSO-BP神经网络传感器校准系统的控制方法,包括以下步骤:
步骤S1:微处理器通过通信模块读取传感器数据;
步骤S2:所述微处理器对传感器数据进行标准化处理,得到预处理后的读出数据;
步骤S3:将预处理后的读出数据输出至校准模块进行校准,并将校准后的读出数据进行反标准化后输出至微处理器;
步骤S4:微处理器将反标准化后的数据传送至显示模块显示。
以上所述仅为本实用新型的较佳实施例,凡依本实用新型申请专利范围所做的均等变化与修饰,皆应属本实用新型的涵盖范围。
Claims (4)
1.一种基于MCU的PSO-BP神经网络传感器校准系统,其特征在于:所述系统包括微处理器、通信模块、校准模块、数码管显示模块和存储单元;所述微处理器通过AHB-Lite总线与通信模块、校准模块、数码管显示模块和存储单元分别连接;所述通信模块与待测传感器连接。
2.根据权利要求1所述的基于MCU的PSO-BP神经网络传感器校准系统,其特征在于:所述通信模块采用I2C总线,总线由数据线与时钟线组成。
3.根据权利要求1所述的基于MCU的PSO-BP神经网络传感器校准系统,其特征在于:所述显示模块采用数码管显示模块。
4.根据权利要求1所述的基于MCU的PSO-BP神经网络传感器校准系统,其特征在于:所述存储单元用于存储HEX文件,文件将通过AHB-Lite总线传送至微处理器令其进行相应操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201920746802.5U CN210488594U (zh) | 2019-05-23 | 2019-05-23 | 基于mcu的pso-bp神经网络传感器校准系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201920746802.5U CN210488594U (zh) | 2019-05-23 | 2019-05-23 | 基于mcu的pso-bp神经网络传感器校准系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN210488594U true CN210488594U (zh) | 2020-05-08 |
Family
ID=70512034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201920746802.5U Expired - Fee Related CN210488594U (zh) | 2019-05-23 | 2019-05-23 | 基于mcu的pso-bp神经网络传感器校准系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN210488594U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070170A (zh) * | 2019-05-23 | 2019-07-30 | 福州大学 | 基于mcu的pso-bp神经网络传感器校准系统及方法 |
CN113837362A (zh) * | 2021-09-02 | 2021-12-24 | 北京中联国成科技有限公司 | 一种数据通信校准方法及装置 |
-
2019
- 2019-05-23 CN CN201920746802.5U patent/CN210488594U/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070170A (zh) * | 2019-05-23 | 2019-07-30 | 福州大学 | 基于mcu的pso-bp神经网络传感器校准系统及方法 |
CN113837362A (zh) * | 2021-09-02 | 2021-12-24 | 北京中联国成科技有限公司 | 一种数据通信校准方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543832B (zh) | 一种计算装置及板卡 | |
CN110163368B (zh) | 基于混合精度的深度学习模型训练方法、装置及系统 | |
CN210488594U (zh) | 基于mcu的pso-bp神经网络传感器校准系统 | |
CN112085184A (zh) | 量化参数调整方法、装置及相关产品 | |
CN104913806B (zh) | 测量装置 | |
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
CN100419706C (zh) | 一种测试芯片的方法及系统 | |
KR20140122672A (ko) | 데이터 기반 함수 모델의 모델 계산 유닛, 제어 장치 및 계산 방법 | |
CN110809153B (zh) | 一种使用下载器进行多帧图像传输实现在线测试系统及方法 | |
CN115857361A (zh) | 一种用于啤酒发酵的优化控制方法及系统 | |
CN109583579B (zh) | 计算装置及相关产品 | |
CN117933095A (zh) | 一种基于机器学习的地表发射率实时反演及同化方法 | |
CN110210611A (zh) | 一种用于卷积神经网络计算的动态自适应数据截断方法 | |
CN113238987A (zh) | 量化数据的统计量化器、存储装置、处理装置及板卡 | |
CN109708662A (zh) | 一种基于目标识别的高帧频高精度注入式星图仿真测试平台 | |
CN116011534A (zh) | 一种基于fpga的通用卷积神经网络加速器实现方法 | |
CN116629342A (zh) | 模型旁路调优方法及装置 | |
CN104660260B (zh) | Adc的自适应滤波数字校准电路和方法 | |
CN115019150B (zh) | 目标检测定点模型建立方法、装置及可读存储介质 | |
US20140351309A1 (en) | Fma unit, in particular for utilization in a model computation unit for purely hardware-based computing of function models | |
CN110070170A (zh) | 基于mcu的pso-bp神经网络传感器校准系统及方法 | |
CN115096605A (zh) | 一种汽车测试方法、系统、电子设备及存储介质 | |
Dotzel et al. | Learning from Students: Applying t-Distributions to Explore Accurate and Efficient Formats for LLMs | |
CN110705701B (zh) | 一种高并行度的卷积运算方法和电路 | |
CN114997386A (zh) | 一种基于多fpga异构架构的cnn神经网络加速设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200508 |
|
CF01 | Termination of patent right due to non-payment of annual fee |