一种视频信号网络损伤模拟装置、系统及方法_4

文档序号:9202946阅读:来源:国知局
该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR ;
当损伤类型设置为高斯分布时延损伤时,损伤配置表中各RTP数据包的时延值呈高斯分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR0
[0042]本实施例中,损伤参数设置模块103可根据需要设置损伤类型和损伤参数,并依据该损伤类型和损伤参数向视频数据报文中加入损伤以模拟网络损伤,解决现有技术中模拟变电站站端通信网络信号损伤类型和损伤参数的不能自由设定问题,提高了模拟网络信号损伤的真实性及灵活性,实现了对变电站监控系统网络设备抗劣化能力有效的检测以及为有效地改善设备的抗劣化性能提供依据。本发明的损伤参数设置模块能够根据变电站辅助系统所用的具体的视频传输协议进行有针对性的损伤模拟,提高了模拟网络信号损伤的真实性。当视频数据报文采用除RTP外的其他协议传输时,处理方式相同,协议解析模块104判断该数据包为相应视频传输协议的数据包时才进行损伤。
[0043]如图3所示,利用本实施例中的模拟装置进行视频信号网络损伤模拟方法,包括以下步骤:
51、利用地址配置模块102配置网络摄像机模拟单元20和被测NVR30的IP地址信息和通?目端口 ?目息;
52、损伤参数设置模块103设置网络信号损伤类型以及网络信号损伤参数;所述网络信号损伤类型包括:固定时延损伤、均勾分布时延损伤、高斯分布时延损伤、丢包损伤、重发损伤;各类网络信号损伤类型对应的网络信号损伤参数如下:
固定时延损伤:网络信号损伤参数为固定时延值;
丢包损伤:网络信号损伤参数为丢包率;
重发损伤:网络信号损伤参数为重复帧概率;
均勾分布时延损伤:网络信号损伤参数有均勾分布时延最小值、均勾分布时延最大值;
高斯分布时延损伤:网络信号损伤参数有高斯分布时延最小值、高斯分布时延均值、高斯分布时延标准差;
损伤参数设置模块103设置网络信号损伤类型以及网络信号损伤参数时可以通过人机界面进行设置,也可以读取预置在视频信号网络损伤模拟装置内的网络信号损伤参数文件进行设置,设置好后损伤参数设置模块103自动生成损伤配置表,该损伤配置表包括多个损伤表单,每个损伤表单对应一个RTP数据包的损伤处理信息,包括但不限于损伤类型及其对应的损伤参数;
53、利用通信连接模块101将视频信号网络损伤模拟装置10与网络摄像机模拟单元20、被测NVR30之间建立数据连接;
54、协议解析模块104解析通信连接模块101从网络摄像机模拟单元20中接收到的原始视频数据报文;
55、协议解析模块104按照所述损伤参数设置模块103所配置的网络信号损伤类型以及网络信号损伤参数向视频数据报文中加入损伤;
56、通信连接模块101将加入了损伤的视频数据报文向被测NVR30发送。
[0044]步骤S5中,协议解析模块按照所述损伤参数设置模块所配置的参数向视频数据报文中加入损伤时将损伤配置表中的损伤表单按顺序依次向各RTP数据包中添加损伤表单,每个RTP数据包添加一张损伤表单,协议解析模块104再根据损伤表单对RTP数据包的视频数据报文进行损伤;进行损伤的具体方法为:
当损伤类型设置为固定时延损伤时,损伤配置表中各RTP数据包的时延值均等于固定时延值,所有损伤表单中的时延值相等,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR ;
当损伤类型设置为丢包损伤时,根据损伤配置表,截获部分RTP数据包,不再向被测NVR发送;具体地,根据丢包率生成损伤配置表,该损伤配置表中部分损伤表单为截获的标识信息,部分为不截获的标识信息,这些表单被依次添加到RTP数据包中,当RTP数据包的表单为截获的标识信息时,对该RTP数据包进行截获,反之不进行截获;
当损伤类型设置为重发损伤时,向被测NVR重发部分数据包;具体地,根据重复帧概率生成损伤配置表,该损伤配置表中部分损伤表单为重发的标识信息,部分为不重发的标识信息,这些表单被依次添加到RTP数据包中,当RTP数据包的表单为重发的标识信息时,对该RTP数据包进行重发,反之不进行重发;
当损伤类型设置为均匀分布时延损伤时,损伤配置表中各RTP数据包的时延值呈均匀分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR ; 当损伤类型设置为高斯分布时延损伤时,损伤配置表中各RTP数据包的时延值呈高斯分布,损伤方法为:在每个RTP数据包的报文首部添加发送时间戳,该发送时间戳的值等于通信连接模块接收到RTP数据包的时间加上该RTP数据包的损伤表单中的时延值,然后将RTP数据包暂存到存储器中;每隔一段时间对存储器中暂存的所有RTP数据包时间戳进行扫描,当扫描到与当前时间匹配的时间戳时,则将该时间戳对应的所有RTP数据包发送给被测NVR0
[0045]一种视频信号网络损伤模拟系统,包括损伤模拟装置、多个网络摄像机模拟单元20和一个被测NVR30,所述损伤模拟装置为上述任一方案中所述的视频信号网络损伤模拟装置10,所有网络摄像机模拟单元20和被测NVR30均连接到视频信号网络损伤模拟装置10的通信连接模块101上。
[0046]实施例2:
在实施例1的基础上,提供几种随机数的产生方法:
(I)随机函数根据丢包率或重复帧概率产生随机数时,可以采用标准C库函数中的rand()产生随机数,具体是利用rand()/RAND_MAX * (b-a) + a产生a到b之间的随机数,其中,RAND_MAX为函数内一个设定值,用于映射产生a到b之间的随机数,本实施例中取32767。
[0047](2)均匀分布函数产生随机数时,也可以利用采用标准C库函数中的rand()产生随机数,具体是利用rand()/RAND_MAX * (d-c) + c生成随机数,其中,RAND_MAX为函数内一个设定值,用于映射产生a到b之间的随机数,本实施例中取32767。
[0048](3)高斯分布函数产生随机数时,可以采用标准C库函数中的rand()的两个变化函数实现:
KCreatRand ()函数,令 GussSeed=CreatRand (GussSeed) ;GussSeed 为产生随机数的随机数种子,可以预先设定或计算时指定。
[0049]2、CreatRand ()函数,令 GussSeed2=CreatRand (GussSeed2) ;GussSeed2 为产生随机数的随机数种子,可以预先设定或计算时指定。
[0050]3、GussValue=GussAveValue + GussDevValue * sqrt (-2.0 * (log (GussSeed) /log(2.71828))) * cos (2 * 3.14 * Gus
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1