自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Qt5.12 creator使用笔记(随时更新)

1.图表的使用(1)使用准备在.pro文件中,添加:QT += charts在.h文件中,添加:#include <QtCharts>using namespace QtCharts;或者#include <QtCharts>QT_CHARTS_USE_NAMESPACE(2)图表添加坐标轴原版为:QValueAxis *axisX=new QValueAxis;QValueAxis *axisY=new QValueAxis;...

2021-01-01 18:58:41 25

原创 Qt使用笔记(随时更新)

项目需要设计一个软件,要用到Qt,由此开启了与Qt斗智斗勇的艰难道路。1.环境配置问题(1)最开始用的vs2017社区版,安装网上所说的安装配置步骤,先后安装了vs2017+qt5.12+qt vs tools插件。但在Qt VS Tools设置qt版本时,总是报错说无法识别版本(当时没有截屏,现在也不想复现这个错误了,没图)。重装qt,安装多个编译器,甚至更换了qt版本,都不行。无意中蒙到的解决办法:卸载vs2017社区版,安装专业版(professional),qt的多个编译器、多个版本都能

2020-11-17 15:22:06 31

原创 QualNet外部接口

当需要QualNet与外部程序通信时,可以使用外部接口。QualNet自带的GUI接口用于可视化仿真,SOCKET接口用于传输数据,还提供了interfacetutorial接口演示接口的设计与实现。1 接口注册1.1 注册函数~/main/external.cpp中定义函数EXTERNAL_UserFunctionRegistration,由内核在仿真开始时调用。此函数用于注册外部接口(通过调用EXTERNAL_RegisterExternalInterface函数)和由接口实现的回调函数(.

2020-11-17 10:38:40 53

原创 本机开发环境及配置记录

本机开发软件及版本配置,记录留存。1.Python开发环境主要用于开发机器学习算法。(1)安装jdk-8u131-windows-x64。(2)安装java版eclipse-inst-win64。(3)安装Anaconda3-4.2.0-Windows-x86_64,对应python版本为3.5.2。(4)在anaconda命令行中,用conda install tensorflow;conda install keras命令安装深度学习库。用conda list显示各库版本,主要库

2020-11-10 10:37:56 56

原创 QualNet常用函数

1. mapping.h中关于节点指针、节点ID、节点接口地址的转换。每个节点有一个指针、一个ID,多个接口索引及多个接口地址。1.1 已知节点指针和节点接口地址,获取节点IDNodeAddressMAPPING_GetNodeIdFromInterfaceAddress( Node *node, NodeAddress interfaceAddress);NodeAddressMAPPING_GetNodeIdFromInterfaceAddress( Node

2020-10-23 17:06:46 49

原创 节点协议栈初始化概述

PARTITION_InitializeNodes:1.NETWORK_PreInit-->NetworkIpPreInit(网络层预先初始化)//初始化数据结构ip = (NetworkDataIp *) MEM_malloc(sizeof(NetworkDataIp));memset(ip, 0, sizeof(NetworkDataIp));node->networkData.networkVar = ip;//初始化转发表、多播转发表NetworkInitForwa

2020-10-15 17:19:45 33

原创 QualNet节点放置与移动

1 初始化节点位置struct NodePositions { NodeAddress nodeId; int partitionId; NodePlacementType nodePlacementType; MobilityData* mobilityData;};节点位置数据结构包含节点id、节点所在分区id、节点放置类型、节点移动数据。在main函数中调用MOBILITY_AllocateNodePosit.

2020-08-17 00:20:26 99

原创 QualNet收发包过程分析(五)

接上文https://blog.csdn.net/zhang1806618/article/details/1078567362.3 网络层NETWORK_ReceivePacketFromMacLayer函数区分网络层协议调用相应协议处理。对IPv4协议,调用NetworkIpReceivePacketFromMacLayer()函数,该函数又直接调用NetworkIpReceivePacket()函数。在NetworkIpReceivePacket()函数中,判断是否是发送给本节点的包,如果不是

2020-08-07 15:15:05 42

原创 QualNet收发包过程分析(四)

2. 接收端2.1 物理层发送断物理层有两个信号,一个是开始发送,一个是结束发送,两个信号成对出现,表示一个数据帧发送完成。接收端类似,一个开始接收,一个结束接收,两个信号成对出现,表示一个数据帧接收完成。在物理层分别由两个函数处理信号,PHY_SignalArrivalFromChannel()和PHY_SignalEndFromChannel()。前一个函数判断物理层当前状态,空闲或侦听中,则锁定信号,更改状态为接收中,开始接收;若当前状态为接收中,则丢弃准备接收的信号。第二个函数结束接收,将接

2020-08-07 14:16:20 116

原创 QualNet发包过程简要回顾

前几篇文章已经将发包过程进行了详细解读,此处进行概要回顾,浓缩都是精华。1.应用层APP_UdpSendNewHeaderData()函数分配消息,添加应用层数据、应用层首部(另有不添加应用层首部的接口函数如APP_UdpSendNewData),添加辅助信息AppToUdpSend,调度传输层UDP协议事件MSG_TRANSPORT_FromAppSend。msg = MESSAGE_Alloc( node, TRANSPORT_LAY

2020-08-04 12:53:57 48

原创 QualNet收发包过程分析(三)

接上文https://blog.csdn.net/zhang1806618/article/details/107753611MacDot11StationTransmitFrame()函数区分链路当前状态,或调用MacDot11StationTransmitDataFrame()发送数据帧,或调用MacDot11StationTransmitRTSFrame()发送RTS帧。以发送数据帧为例,由目的地址判断是广播还是单播,广播将不使用RTS-CTS机制,更改链路状态后调用MacDot11Station

2020-08-04 12:08:54 103

原创 QualNet收发包过程分析(二)

接上文:https://blog.csdn.net/zhang1806618/article/details/1072685981.3 网络层(续)在RoutePacketAndSendToMac函数对单播、广播、组播进行了分别处理。上文分析以单播为例,通过获取单播路由,然后调用NetworkIpSendPacketToMacLayer函数,再调用NetworkIpSendPacketOnInterface函数发送数据包。而广播、组播是直接调用NetworkIpSendPacketOnInterfa

2020-08-03 00:11:06 55

原创 QualNet6.1调用python

QualNet6.1在windows环境下,只能使用vs2008或vs2010编译。vs2008版本太低,与python联合编程缺少几个关键的头文件(排坑见https://blog.csdn.net/zhang1806618/article/details/104559414),只能用vs2010。以下为本人开发QualNet在线机器学习算法时所遇到的问题及解决办法,供参考。一、新建项目打开vs2010,新建->从现有代码创建项目,选择QualNet所在目录。报错1:未能正确加载“VSTS

2020-07-14 22:21:17 118 1

原创 QualNet收发包过程分析(一)

因项目需要,对QualNet仿真中节点间收发包行为进行了仔细研究,并不断添加一些输出以验证思路。应该说,大致是正确的,可能有些细节研究还不够透彻。对一般的应用协议开发已经够用了,如果想制作一个完整的组件添加进去,还需进一步深入。以下以发送端节点向接收端节点发送应用层消息为例,介绍QualNet收发包过程。1. 发送端1.1 应用层创建传输层UDP协议消息MSG_TRANSPORT_FromAppSend,添加了信息字段AppToUdpSend,发送(即调度传输层处理该消息)。函数见~/mai

2020-07-10 23:32:56 141

原创 QualNet事件和消息

本篇描述QualNet中离散事件仿真的实现细节:事件类型、实现事件的数据结构和类以及用于事件操作的API函数。1. 事件和消息在QualNet中,用于表示事件的类称为消息。消息保存有关事件的信息,例如事件的类型和相关的数据。在QualNet的文本中,术语事件和消息经常被交替使用。QualNet中有两种类型的事件:数据包事件和定时器事件。数据包事件被用来仿真层间或节点之间数据包的交换,也用于对同一层不同实体之间的通信进行建模。定时器事件用于发起或取消某项工作,使整个过程在时间线上完美呈现。在本节...

2020-07-10 21:10:26 138

原创 Qualnet完整初始化过程

Qualnet的GUI运行很简单,新建打开已有场景,添加节点,设置各层协议参数,保存运行即可。如果只是用作仿真工具,这样就足够了,但若想自己开发一个协议,或者想深入了解Qualnet底层是如何运行的,那就一定要研究源代码。以下是我在开发过程中,遇到困惑时,耐下心来一步一步学习的结果。在现在看来,这些东西好像很简单,顺理成章,但学习的过程还是很费时费脑的。我是从自己开发用到的几个常用函数,往回倒推,看哪个函数调用它,那个函数还有什么其他作用,找出整个运行过程的。我在此介绍的主要是与我的研究相关的内容,没有将所

2020-07-09 16:59:22 207

原创 QualNet统计信息

一、统计信息概述在仿真结束时,QualNet生成一个统计文件,其中包含用于分析协议行为、网络性能等的信息。统计文件是一个纯文本文件,可以使用任何文本编辑器打开,也可以用QualNet分析器图形化地查看。通常,仿真按配置的仿真时间(参数SIMULATION-TIME)运行。同时也可以在配置的仿真时间之前终止(例如通过键入Ctrl+C)。两种情况都会生成统计文件。统计文件的前两行表示配置的仿真...

2020-03-31 20:47:59 103

原创 QualNet仿真实现

目录一、协议栈二、离散事件仿真三、QualNet协议模型四、QualNet仿真器架构(一)初始化的层次结构(二)事件调度层次结构(三)终结的层次结构本文简要介绍QualNet仿真器的实现机制。一、协议栈QualNet使用与TCP/IP网络协议栈类似的分层体系结构。在该体系结构中,数据在相邻层之间移动。QualNet的协议栈自上而下为应用层、传输层...

2020-03-31 18:09:53 340 1

原创 QualNet外部接口调试

QualNet-6.1-Programmer'sGuide文档中第6章节讲述了外部接口的使用。在根据教程说明测试时,出现很多问题,为更好地了解外部接口的工作过程及使用方法,特意对相关源码进行了研究。现将研究成果及问题排查过程整理如下。一、外部接口API外部接口API允许QualNet与其他程序或物理设备等外部实体交互。图1说明了接口开发人员的职责以及外部接口API如何与QualNet一起运...

2020-03-16 20:20:17 258

原创 QualNet简介

QualNet简介QualNet是美国SNT(Scalable Network Technologies)公司开发的网络仿真系统,采用并行设计,可以仿真上千个节点的大型无线网络,仿真速度比传统仿真软件快百倍;采用模块化架构,可扩展性强,可以很方便的屏蔽、增加、删除某些协议模块;支持与真实网络中的人、设备、软件进行实时通信(将真实网络通过软件转变成数字化的模型),其仿真精度几乎与真实网络媲美。

2020-03-14 15:42:55 1009 2

原创 数独解算小程序

近日心血来潮,写了个小程序自动解算数独问题。一、数独规则在九行九列的大宫格中(如下图),每行、每列、每个小九宫格内都刚好是1-9,不重复。解算方法很简单,就是依据规则进行推理,概括起来就是两种排除法。一种是以位置找数字,在该位置所在行、列、九宫格内出现的数不能重复;另一种是以数字找位置,一个数字可能放在某行、列、九宫格的哪个位置。先易后难,填的正确数字越多,线索就越多,解算越容易。解题思路在...

2020-03-12 22:02:22 284

原创 Windows系统下VS2008环境中调用python

因工作需要,需要在qualnet中编程实现机器学习算法,涉及在c++中调用python代码。经网上查询和实践,总结过程及遇到的问题如下: 1.在VS2008中新建控制台项目cpython。 2.将本机python库文件拷贝至项目目录下。本人安装的是anacoda3版本python3.7,目录为C:/ProgramData/Anaconda3/inclu...

2020-02-28 16:49:35 239 2

原创 配置Anaconda theano 环境

1.下载安装Anaconda forWindows 64-bit + Python3.6版本,下载地址: https://repo.anaconda.com/archive/Anaconda3-5.2.0-Windows-x86_64.exe2.进入Anaconda Prompt,输入pip install keras,安装keras需要的包3.输入conda install mingw li...

2018-10-12 11:00:17 691 1

空空如也

yvals.h报错,不知道错在哪里

发表于 2020-04-16 最后回复 2020-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除