基于FPGA的智能小车系统就是本地计算机通过接入Internet小车实现对远端工作现场、危险工作地段等特殊环境进行监视和控制的系统。智能小车是智能行走机器人的一种,这种智能小车可以适应不同环境,不受温度、湿度、空间、磁场辐射、重力等条件的影响,可以在人类无法进入或生存的环境中完成人类无法完成的探测任务。适用于国防及民用多个领域。整个系统以遥控小车装置为基础,通过配置在上面的摄像头实现图像的采集及对行车道的检测,通过配置的红外测温仪探测环境和目标的温度,具有一定的智能性。其明显的优点是可以通过网络远程控制小车运行及采集现场的温度、图像等相关信息,完成人类在特定条件下无法完成的工作。对人类的科学研究、探索未知领域、远程监控等有着重要的意义。 论文在深入研究SOPC和嵌入式操作系统的基础上,提出了基于FPGA的智能小车远程监控方案。采用FPGA来实现,可以充分利用现有的IP核,功能扩展容易,设计开发成本低,上市时间快,修改方便,甚至可以远程重构系统。与单片机相比,集成度高,可靠性好,调试和维护方便。 论文主要内容包括以下几个部分:在对智能小车功能分析的基础上,设计了硬件系统,并在FPGA上构建了基于Nios Ⅱ的嵌入式系统,配置了SPI、串行口和以太网接口模块和驱动程序,以及各种存储器。移植了μClinux操作系统,配置嵌入式Web服务器,编写CGI程序,设计了动态网页;并对行车道检测系统进行了研究,在DSP Builder中构建了该模块,并在Matlab中进行了仿真。在研究数码相机模块和红外测温模块的基础上,编写了图像采集和温度测量程序以及小车运动控制程序,并对系统进行了调试,初步达到通过Internet实现远程监控的目的。
上传时间: 2013-08-05
上传用户:cjf0304
神经网络控制算法作为一种比较成熟的智能控制算法,在空空导弹的理论研究中也得到了很多应用,但它的实际应用通常是通过软件实现的,而软件实现是串行执行指令,运行速度慢,可靠性低,很难满足实际导弹制导系统实时性的要求。控制算法硬件实现的最大特点就是可提高控制算法的实时运算速度和可靠性。本课题针对导弹制导系统,以FPGA为硬件平台研究神经网络控制算法的硬件实现。本文首先对BP神经网络算法思想进行了深入分析,并对BP网络的各个阶段进行了理论推导,最后对BP神经网络PID飞行控制算法进行了研究和总结,为硬件实现提供了理论基础。基于对上述理论的深入研究和分析,本文提出了一种适合FPGA实现该神经网络控制算法的硬件实现模型。在该模型中,神经网络各层之间采用串行执行数据方式,层间则采用并行运行方式,可有效提高系统的运算速度。由于模块化、层次化的自顶向下的模块化设计方法可有效减少错误的产生,是设计复杂大规模系统的理想设计方法。本文采用了此设计方法,通过把系统模块化,对各个子模块分别用VHDL硬件描述语言进行描述,并基于QUARTUS II软件开发平台进行综合和仿真,直到达到研究设计要求。最后将仿真程序源代码下载配置到具体的Cyclone II系列EP2C70 FPGA芯片中,应用于某实际导弹控制系统的研究。理论分析和实验结果表明该神经网络飞行控制算法的FPGA硬件实现是有效可行的,可满足系统实时性的要求,为制导系统的实际工程实现提供了基础。
上传时间: 2013-04-24
上传用户:冇尾飞铊
具有OBFL功能的电路板经配置后,可以把故障相关数据存储在非易失性存储器中,并可在日后加以检索和显示以用于故障分析。这些故障记录有助于电路板故障的事后检查。要实现OBFL系统功能,需要同时使用软硬件。在硬件方面,需要:a)确定给出电路板件故障信息的板载OBFL资源(如温度感应器、存储器、中断资源、电路板ID,等等);b)在电路板或者系统出现故障时用以保存故障信息的板载非易失性存储。OBFL软件的作用是在正常的电路板运行以及电路板故障期间配置电路板变量并将其作为OBFL记录存储在非易失性存储中。OBFL软件还应具备一定的智能,能够分析多项出错事件、记录和历史故障记录,以逐步缩小范围的方式确认故障原因。这种分析可以大大减轻故障排查工作,否则将有大量的OBFL记录需要故障分析工程师手动核查。
上传时间: 2013-11-03
上传用户:1595690
C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.1415926 /* 宏常量,在稍后章节再详解 */ #define circle(radius) (PI*radius*radius) /* 宏函数,圆的面积 */ /* 将比较数值大小的函数写在自编include文件内 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的结果:%d %d %d\n", a, b, c) } 程序执行结果: 由小至大排序之后的结果:1 2 3 可将内建函数的include文件展开在自编的include文件中 圆圈的面积是=201.0619264
标签: my_Include include define 3.141
上传时间: 2014-01-17
上传用户:epson850
源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).
上传时间: 2013-12-26
上传用户:siguazgb
crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错。
上传时间: 2014-11-28
上传用户:宋桃子
一篇关于matlab遗传算法工具箱应用的论文,在matlab中用遗传算法解决优化问题。
上传时间: 2015-09-24
上传用户:851197153
crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错
上传时间: 2014-01-16
上传用户:hphh
1、 :编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对进程进行调度。 “最高优先数优先调度算法的基本思想是把CPU分配给就绪队列中优先数最高的进程。尝试静态优先数与动态优先数两种方法: a) 静态优先数是指优先数在整个进程运行期间不再改变。优先数可以在数据输入时指定,也可以根据到达顺序、运行时间确定。 b) 动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先数。例如进程获得一次CPU后就将其优先数减少1。或者进程等待的时间超过某一时限时增加其优先数的值。 2、 编写并调试一个模拟的进程调度程序,模拟实现多级反馈队列调度算法。 3、 编写并调试一个模拟的进程调度程序,模拟实现最低松弛度优先算法。 4、 程序与报告要求: a) 对上述要求1、2、3,至少要完成一项,鼓励尝试多种算法。 b) 输出结果要尽量详细清晰,能够反映调度后队列变化,PCB内部变化。 c) 可以选择在Windows或Linux环境下编写、运行程序 d) 鼓励使用不同的开发工具在不同平台环境上进行开发比较。 e) 在实验报告中,一方面可以对实验结果进行分析,一方面可以对各种算法进行比较,分析它们的优劣,说明各种算法适用于哪些情况下的调度。
上传时间: 2015-11-13
上传用户:zq70996813
:基于Matlab语言的遗传算法工具箱支持二进制和浮点数编码方式,并且提供了多种选择、交叉、变异的方法。 通过具体实例对Matlab的遗传算法工具箱的用法进行了说明介绍。
上传时间: 2015-12-23
上传用户:wendy15