您的位置:网站首页 > 电器维修资料网 > 正文 >
神经网络在测控系统中的实现
来源: 日期:2013-11-15 15:35:31 人气:标签:
由于神经网络模型是一种较为复杂的运算,要在单片机中实现神经网络算法,无论是单片机硬件还是神经网络模型的软件算法都会受到其复杂性的影响。由于单片机的浮点运算能力较差,所以我们除了要对硬件电路进行优化以外还要对软件算法上进行修改。
首先,简化复杂函数。用单片机实现神经网络模型算法时,进行浮点运算和计算复杂的函数,例如tant函数,是造成计算速度减慢的两大因素。单片机系统的特点就决定了其浮点运算能力不会得到提高,但是对于复杂函数的计算,可以利用分段多项式拟合的方法提高运算精度。例如我们拟合tanh函数,由于多项式函数不是连续的,在训练神经网络时是不可以替代tanh的,但是为了简化运算,对于训练后网络用多项式拟合其传递函数是符合实际需要的。例如我们选择12mhz的at89c51单片机,分别采用tanh函数和多项式拟合函数所得的神经网络模型的输出,如下表所示。
从上面我们可以看出,虽然简化传递函数之后,运算时间减少了,但是实现神经网络模型算法对单片机而言还是一个沉重的负担,在实际设计中要考虑设计应用条件的限制,在保证一定预测精度的前提下,神经网络模型应当是越简单越好。
其次,减少中间变量。神经网络模型的权值、阈值以及中间变量很多,但是单片机的程序区rom和数据区ram存储量都是有限的,势必要增加外部储存器,但是又因为测控系统受体积的限制避免增减外接存储器,因此在实现算法时要将权值和阈值等参数写成立即数的形式,减少资源的占用,如下表所示。
我们可以看出,基于单片机的测控系统能实现神经网络算法并且满足实际测控的需要,但是神经网络算法也要简化,保证在一定预测精度的前提下选用简单的网络模型,简化传递函数。该例的程序可以分为两个部分,分别是神经网络简化前的程序和简化后用多项式拟合的程序。
下面是单片机完成神经网络模型算法的c语言程序代码。
上面介绍了单片机实现神经网络算法的原理、实现方式及程序源代码。神经网络方法可以用在测控等领域,例如可以用来作为模型飞机的预测航向,模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等。随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用定将更加深入。
【看看这篇文章在百度的收录情况】
相关文章
- 上一篇: 神经网络的概述
- 下一篇: 信号数据的FFT变换介绍