欢迎来到天天文库
浏览记录
ID:49492089
大小:133.00 KB
页数:9页
时间:2020-03-02
《任务:ALOHA协议的OPNET仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、(Qink.&lllg触-為SS&IEUE.EMPTY))(default)ALOHA(8节点双工通信OPNET仿真)统计量:全局统计变昴:data_rx_energy;data_tx_energy;total_energy;ete_delay;rcv_pknum;to_send_pknum;send_pknum木地统计量:status;selfpkrcv状态变量类型:YiJ柄:send_pknum_sh:to_send_pknum_sh;rcv_pknum_sh;total_energy_sh:ete_
2、delay_sh;SelfPkRCV_shstatus_sh;data_tx_energy_sh;data_rx_energy_sh;布尔:link_fail;get_ack;Packet*:pkptr_retnms;int:user_id;new_variable;status;sendedRA;SelfPkRCV;cnt_retrans;各模块(节点、MAC.STREAM流向.进程、网络模型)图如下:MAC[0]->tx[0]MAC[1]->sink[0]rx[0]->MAC[0]gen[0]->MAC
3、[1]rx.channel[0].radioreceiver.busy->MAC.instat[0]((JinkJ^il
4、
5、get_ack)&&OQUEUE_EMPTY))/send_dAuO♦nodeNnode_Bnode4nodeOnode—1node5HB(头区域代码)://0定义流方向#defineTO_LOW0#defineTO_HIGH1//I条件宏及中断定义〃。包中断#definePK_SEND(op_intrpt_type()==OPCJNTRPT_STRM&&op_int「pt_stnn(
6、)==l)#definePK_RCV(op_intrpt_type()==OPC_INTRPT_STRM&&op_intrpt_strm()==0)〃系统中断#defineEND_SIM(op_intrpt_type()==OPC_INTRPT_ENDSIM)〃自中断:等待ACK侦听周期到,定义为2号屮断#defineACK.TIMEOUT(opjntrpt_type()==OPC_INTRPT_SELF&&op_intrpt_code()==2)//2条件转移定义——#defineQUEUE_EMPTY(
7、op_subq_empty(0)==OPC_TRUE)#defineCH_FREE(op_stat_local_read(0)==0)//3定义周期、功率等常量#defineMAX_PROPDEL0.4#defineWTACK.TIME2*MAX_PROFDEL#defineDATA_TX_POWER2#defineDATA_RX_POWER2#defineACK_size8#definedata_size128#definetx_drate1000#defineTASK_PK_NUM2000//4统计变量
8、中的全局变量初始化定义intpks_send=0;//hasbeensended,butmaybecollision,beusedtostatisticLossintpks_to_send=0;//hasbeengenerated,beusedtostatisticGintpks_rcv=0;intpks_drop=0;doubledata_tx_energy=0;doubledata_rx_ene「gy=0;doubleaccum_de1ay_time=0;//5(执行)函数声明staticvoidsen
9、d_ACK(void);staticvoidsend_data(void);staticvoidqueue_pk(void);staticvoiddata_process(pkptr);staticvoidrecord_res(void);FB(函数代码):staticvoidsend_ACK(void){Packet*pk_ACK;FIN(send_ACK());pk_ACK=op_pk_create_fmt(”ALOHA_ACK”);op_pk_nfd_set_int32(pk_ACK,”ACK_SA“
10、,user_id);op_pk_send(pk_ACK,TO_LOW);data_tx_energy+=(double)ACK_size/tx_drate*DATA_TX_POWER;op_stat_write(data_tx_energy_sh,data_tx_energy);FOUT;}staticvoidsend_data(void){Packet*pk_dataO;Packet*pk_data;intde
此文档下载收益归作者所有