论文部分内容阅读
为了解决传统水质预测方法在应用上存在运行速度慢、实时性不足、成本较高以及不适合于在嵌入式应用的等问题,本文研究了利用FPGA设计基于BP神经网络的水质预测系统。通过硬件上的BP神经网络对水质数据进行在线训练和预测,得到较为理想的预测结果,有助于将水质预测算法的理论研究更好的应用于实际系统。
本文首先介绍了神经网络在水质预测上的理论研究与神经网络的实现方法,结合研究团队在水质预测方面的理论研究成果,确定了本文要实现的神经网络结构。
其次,本文先从硬件结构的设计入手,对神经网络在FPGA上实现的关键模块进行了设计。在对神经网络中激励函数的常用的硬件实现方式进行了详细的比较后,采用了STAM算法进行sigmoid函数及其导数的硬件实现,取得了很好的逼近效果,具有资源耗费少、运行速度快和精度高的特点。
然后,采用自顶向下的设计方法,通过FPGA硬件技术,利用Altera公司低成本的CycloneⅡ系列EP2C35F672C6芯片进行BP神经网络水质预测系统的设计。在设计中,本文利用神经网络层之间串行运算的特性,采用了映射的方法解决了神经网络规模与资源消耗之间的矛盾,用层分割的方法来提高神经网络构造的灵活性,使得我们可以在本系统上构建任意结构的神经网络。
最终完成系统的设计后,本文从资源消耗情况、运行速度与预测精度进行测试仿真三个方面对设计的系统进行测试与仿真。实验结果表明,本文所设计的系统的资源消耗较少,CycloneⅡ系列的EP2C35F672C6完全可以满足构建一个在线训练的神经网络的要求,系统最高工作频率达到了103.69MHz,对水质参数耗氧量进行预测后的结果的相对误差在20%以内,其平均相对误差为10.7%,得到了较好的效果。本文所设计的系统可以嵌入应用到实际系统中去,用作对水质参数的实时预测,具有一定的实际意义。