-
卡尔曼滤波的实例集合
卡尔曼滤波的实例集合,适用于各种预测、数值估计、拟合等问题的解决,有详细的代码辅助说明。
- 2020-05-30下载
- 积分:1
-
内存乒乓缓存机制和消息分发机制的C代码实现
用C代码实现乒乓内存缓冲机制,具体实用价值,帮助您提高内存响应速度与及时数据的处理。unsigned long writeunsigned long greadunsigned long overflowST TWTMSG QUEUE:/ Helper macros for accessing Msg queues. *#define tWt QUEUE EMPty(a)(((g->write==(q)->gread)? 1: 0)#define twt_ QUeUe full(a)(((((q)->qwrite +1% TIMEWEIGHT TASKQUEUE SIZED)==(q)->gread)?1: 0)米 generate a Msg entity*正常返回消息体的指针,异常返回NULLT TWTMSG* generateMsg(tT-TWTMSG* pmSg=nULL,if(NULL =-(ptMsg malloc(sizeof(T TWTMSG)))return NULL;memset(ptMsg, 0, sizeof(T TWTMSG)return pmSg;destroy a Msgvoid destroy Msg(t TWTMSG ptMsgif(NULL ptMsg->pfDestroyMsg)pt Msg->pfDestroy Msg(ptMsg->pvMsg)if (NULL != pt Msg)free(pmSgfree a Msg Queuevoid freeTWTMsg Que(T TWTMSG QUEUE* ptMsgQif(NULL =ptMsg Afree(ptMsg Q);Init a Msg QT TWTMSG QUEUE* initTWTMsg QueoT TWTMSG QUEUE pmSg Q= NULlif (NULL ==(ptMsgQ malloc(sizeof(T_ TWTMSG QUeue)goto ErrRetmemset(ptMsgQ, 0, sizeof(T TWTMSG QUEUE))return pmSg Q;Errretprintf( initTWTMsg Que Fail! ")freeTWTMsgQue(ptMsg Q)return nullPop a pvMsg packet from a msg packet queues param g is the packet queue from which to pop the pbuf@return pointer to pvMsg packet if available, NULl otherwiseT TWTMSG* TWTMsg Get(T_ TWTMSG QUEUE aT TWTMSG*//*加锁if(TWT_ QUEUE_ EMPTY(a))iReturn a NUll pointer if the queue is emptypmSg=NULL;else is The queue is not empty so return the next frame from itand adjust the read pointer accordinglypmSg=g->pvMsglq >greadg->gread =((q->gread +1)% TIMEWEIGHT_TASKQUEUE_ SIZE)/*解锁return(pmSg);Push a pmSg packet onto a pvMsg packet queue@param p is the pmsg to push onto the packet queue@param g is the packet queue.W @return 0 if successful, -1 if q is fullnt TWTMsg Send(T tWTMSg*p, T TWTMSG QUEUE *qint ret/if(!TWT_ QUEUE FULL(al)iThe queue isn t full so we add the new frame at the currentw write position and move the write pointer.g->pvMsgla->write]=pg- >write =((q->qwrite+1)% TIMEWEIGHT TASKQUEUE SIZE;ret =oThe stack is full so we are throwing away this value. Keep trackof the number of times this happensg->overflow++ret =-1://*解锁return(ret)**米**米来米***来米*半米*米*半米*米求***半*米米求半**米求半**半求半和*米*//消息分发机制//*算法是//*正常返回0,出错返回-1水米米******水*米*水**米*半*水米米冰半**水水*水米米半米冰水*米水水*水*米水水extern int RecToFile MsgProc(T_ MSG_ REC2 FILE* ptMsg);int DispatchMsg(T TWTMSG *ptMsgitif(NULl = ptMsg goto ErrRet/*dispatch msg*/switch(ptMsg->en Msg Type)case TWT PINgPoNgBuff recRecTo File Msg Procl(TMSG_REC2FE) (pmSg->pMsg);/*处理消息*/destroy Msg( pmSg;/*消毁消息breakdefault.printf("Dispatch Msg Msgtype Error! n")break.return 0ErrRetprintf("Dispatch Msg Fail! ";return-1./*buff size*/#defineP| NGPONG_ BUFF BSIZE0X20000//10*1024*1024/*10M*/*ping pong buff*///chargacPINGBUFF[PINGPONG BUFF BSIZE]; /* Ping Buff*///chargacPONGBUFF[PINGPONG_ BUFF BSIZE] *Pong Buff*/水米米*********米*水**米*半*水米米水**冰水*水米米半半水半米冰水*米水水*水*米米//*释放 ping pong buff/必然成功//*无返回木***木*水****本**水*水水*水****本水**水水****水水***本***米*水void Destroy Ping Pong Butt(T PINGPONGBUFF USE DES ptPing Pong Butt)nLoopif (NULL = pt Ping pong buffreturnfor (nLoop=0; nLooptIng BuffUse[nLoop]. pcHeadAddr)free(ptPing Pong ->t Ping BuffUse[nLoop]. pcHeadAddr)free(pt Ping pong Buff)/初始化 ping pong buff返回 pign pong buff的描述指针//*正常返回0,出错返回-1水水水水水水水水水木水木水水水水水木水木水水水水水水水水本水水水水水水水水水本水水水水水水水水水水水水水T PINGPONGBUFF USE DES InitPing Pong Buff(unsigned int n BuffSizeT PINGPONGBUFF USE DES* ptBuffDes=NULLintnLoop/*获取buf描述*if NULL==(ptBuffDes=malloc(sizeof(T PINGPONGBUFF USE DES))))goto ErrRetmemset(pt BuffDes, 0, sizeof(T_PINGPONGBUFF USE_ DES));/*分别初始化ping和pong*/for(nLoop=0; nLooptIng BuffUsenLoop pcHeadAddr =malloc n BuffSize))goto Err Ret;ptBuffDes->tIng BuffUselnLoop] nBuffSize nBuffsizeptBuffDes->tPing BuffUse[nLoop]. oFfsetptBuffDes->tPing BuffUsenLoop) eUseStatus-=BUFF WRITEABLE;pt BuffDes->eCurUseIDBUFF PINGreturn pt BuffDesErrretprintf("lnitPing Pong Buff Fail!");DestroyIng Pong Buff(pt BuffDes)turn null平**米**米*米***来米米*米*米*半米*米米米来*半米平**米米求*来*半求半来*米求*和*米*/*Reset ping pong buff//*正常返回0,出错返回-1米米米米水冰米*米米水**米米冰*米水米米米米水米水*水米米来米米x米来米米水冰来来宋来水米来米来冰#define ResetBuffUse(ptBuffuse)pt BuffUse->oFfset0pt BuffUse->eUseStatus BUFF WRITEABLEgenerate a file rec msg*正常返回消息体的指针,异常返回NULLT_MSG_REC2lGK SenFRMSB(T_BUFF_USE_DES *ptBuffUse, REC_FILE_DESLIST *ptFileListRT MSG REC2FILE KE* ptRFMsg= NULL;if(NULL ==(ptRFMsg malloc(sizeof(T_ MSG REC2 FILE)return nUllptRFMsg- >pt BuffUse pt BuffUseptRFMsg->pt Filelist ptFilelist;return ptRFMsg
- 2020-12-03下载
- 积分:1
-
安卓表白软件
一款安卓的表白软件,进入软件,背景图片,告白文字逐渐一个一个的显示出来,并伴随着音乐的播放。另外,里面是四份图片告白音乐随机出现,并有一张爱心小图片在界面上不断的飞来飞去。
- 2021-05-06下载
- 积分:1
-
单相桥式逆变器滞环(电压电流双闭环)simulink仿真
本资源为单相桥式逆变器滞环(电压电流双闭环)simulink仿真,加入了负载扰动和电源扰动,结果波形比较理想,谐波分析THD值很小,且此模型只需简单改动就可以改成电流滞环单环控制,供大家学习参考。注意:只能用MATLABR2016b及以上版本打开,不然无法仿真!
- 2020-11-05下载
- 积分:1
-
【369页PPT】5G物联网关键技术与应用.pdf
• 模块一:架构篇—5G网络系统架构及网元设备组成• 模块二:无线网—5G无线网架构及技术原理与应用• 模块三:核心网—5G核心网架构及技术原理与应用• 模块四:承载网—5G承载网架构及技术原理与应用• 模块五:设备篇—5G网络基站设备介绍及安装示例• 模块六:建设篇—5G网络建设与部署方案实例分析• 模块七:物联篇—5G物联网的体系架构及关键技术• 模块八:终端篇—5G物联网终端、芯片与模组介绍• 模块九:应用篇—5G物联网的行业应用与典型案例• 模块十:项目篇—5G物联网的项目规划与设计方法
- 2021-05-06下载
- 积分:1
-
C# Winform Sockets收发Json样例
参照博客C# JSON和对象之间互相转换用Winform进行了JSON和对象之间转化的呈现,并用Socket来传输JSON。原文链接:http://www.cnblogs.com/HCCZX/p/5238556.html
- 2020-11-28下载
- 积分:1
-
商品销售管理系统 C++实例 MFC 数据库
商品销售管理系统 C++实例 MFC 数据库 源代码
- 2020-11-29下载
- 积分:1
-
(全国二等奖)“华为杯”第十四届中国研究生数学建模竞赛(基于监控视频的前景目标提取)
在中国安防产业中视频监控作为最重要的信息获取手段之一,能对目标有效的提取是重要而基础的问题,因此本文在此背景下,围绕对监控视频的前景目标有效的提取问题,研究了关于1)静态背景、动态背景的前景目标提取,能在背景复杂化的条件下,将运动的目标;2)带抖动视频;3)静态背景下多摄像头对多目标提取;4)出现异常事件视频的判断等问题。给出了在不同情况下的前景目标提取方案。问题一是针对静态背景且摄像头稳定的情况下,如何对前景目标提取的问题。在题目要求的基础上,通过对附件2中几组视频的分析,我们发现所有前景目标的运动短暂且光线明暗变化不明显。由于传统的Vibe算法能抑制鬼影但是运行效果不理想,因此采用建立在
- 2020-11-27下载
- 积分:1
-
人工智能 A算法 九宫格 启发式搜索
启发式搜索解决九宫格算法,C++,A算法人工智能
- 2020-12-03下载
- 积分:1
-
51单片机实现12864显示 超声波测距
51单片机实现定时器 12864液晶显示 显示图片 超声波测距 速度实时显示
- 2020-12-10下载
- 积分:1