当前位置: 首页 > news >正文

淘宝式网站建设百度客服中心

淘宝式网站建设,百度客服中心,传媒公司总裁,温州的网站建设公司webrtc QOS笔记一 Neteq直方图算法浅读 文章目录webrtc QOS笔记一 Neteq直方图算法浅读Histogram Algorithm获取目标延迟遗忘因子曲线Histogram Algorithm DelayManager::Update()->Histogram::Add() 会根据计算的iat_packet(inter arrival times, 实际包间间隔 / 打包时长…

webrtc QOS笔记一 Neteq直方图算法浅读

文章目录

    • webrtc QOS笔记一 Neteq直方图算法浅读
      • Histogram Algorithm
      • 获取目标延迟
      • 遗忘因子曲线

Histogram Algorithm

DelayManager::Update()->Histogram::Add() 会根据计算的iat_packet(inter arrival times, =实际包间间隔 / 打包时长),将该iat_packet插入IATVector直方图对应数组下标内。并更新该直方图的数据下标下概率参数。[M88 SRC]
在这里插入图片描述

一共有四步操作:

1、用遗忘因子,对历史数据的出现概率进行遗忘, 并统计概率合
buckets_[i]=buckets_[i]∗forget_factorbuckets\_[i] = buckets\_[i] * forget\_factorbuckets_[i]=buckets_[i]forget_factor

vector_sum=∑0buckets.size()buckets_[i]∗forget_factorvector\_sum=\sum_{0}^{buckets.size()} buckets\_[i] * forget\_factorvector_sum=0buckets.size()buckets_[i]forget_factor

2、增大本次计算到的IAT的概率值。

buckets_[value]=buckets_[value]+(1−forgetfactor_)buckets\_[value]=buckets\_[value]+(1−forget_factor\_)buckets_[value]=buckets_[value]+(1forgetfactor_)

vector_sum=vector_sum+(1−forget_factor_)vector\_sum = vector\_sum + (1-forget\_factor\_)vector_sum=vector_sum+(1forget_factor_)

  • 例:
假如历史bucket 数据为:
buckets_ = {0,0,1,0}遗忘因子为 0.9:
forget_factor = 0.9新来的抖动延迟数据为66ms, 桶间为20ms一个单位, 那插入位置为 66 / 20 = 3,则更新后buckets = {0,0,0.9,0.1}假若使用%95分位的值作为目标延迟, 则更新后的目标延迟为 60ms.

3、调整本次计算到的IAT的概率,使整个IAT的概率分布之和近似为1。调整方式为假设当前概率分布之和为tempSum,则:

vectorsum=1−vectorsumvector_sum=1−vector_sumvectorsum=1vectorsum

buckets[n]={buckets_[n]−Min(∣vector_sum∣,buckets_[n]/16)if(vectorsum>0)buckets_[n]+Min(∣vector_sum∣,buckets_[n]/16)if(vectorsum>0)buckets_[n]= \begin{cases} buckets\_[n]−Min(∣vector\_sum∣,buckets\_[n]/16) if(vector_sum>0) \\ buckets\_[n]+Min(∣vector\_sum∣,buckets\_[n]/16) if(vector_sum>0) \\ \end{cases} buckets[n]={buckets_[n]Min(vector_sum,buckets_[n]/16)if(vectorsum>0)buckets_[n]+Min(vector_sum,buckets_[n]/16)if(vectorsum>0)

4、更新forget_factor_, 使遗忘因子forget_factor_逼近base_forget_factor_

a.使用start_forget_weight_更新(默认初始值start_forget_weight_ = 2,base_forget_factor_=0.9993)

add_count_++add\_count\_++add_count_++
forget_factor_=1−(start_forget_weight_/(add_count_+1))forget\_factor\_=1−(start\_forget\_weight\_/(add\_count\_+1))forget_factor_=1(start_forget_weight_/(add_count_+1))
forget_factor_=Max(0,Min(base_forget_factor_,forget_factor))forget\_factor\_=Max(0,Min(base\_forget\_factor\_,forget\_factor))forget_factor_=Max(0,Min(base_forget_factor_,forget_factor))

b. 其中的3是Q30的值,没有多大 = 0.000091552734375
forget_factor_=forgetfactor_+(base_forget_factor_−forget_factor_+3)/4forget\_factor\_=forget_factor\_+(base\_forget\_factor\_−forget\_factor\_+3)/4forget_factor_=forgetfactor_+(base_forget_factor_forget_factor_+3)/4

获取目标延迟

依据probability获取此百分位的值作为目标延迟(初始值0.97)

∑0nbuckets_[n]>probability\sum_{0}^{n} buckets\_[n] > probability0nbuckets_[n]>probability

int Histogram::Quantile(int probability) {// Find the bucket for which the probability of observing an// inter-arrival time larger than or equal to |index| is larger than or// equal to |probability|. The sought probability is estimated using// the histogram as the reverse cumulant PDF, i.e., the sum of elements from// the end up until |index|. Now, since the sum of all elements is 1// (in Q30) by definition, and since the solution is often a low value for// |iat_index|, it is more efficient to start with |sum| = 1 and subtract// elements from the start of the histogram.int inverse_probability = (1 << 30) - probability;size_t index = 0;        // Start from the beginning of |buckets_|.int sum = 1 << 30;       // Assign to 1 in Q30.sum -= buckets_[index];while ((sum > inverse_probability) && (index < buckets_.size() - 1)) {// Subtract the probabilities one by one until the sum is no longer greater// than |inverse_probability|.++index;sum -= buckets_[index];}return static_cast<int>(index);
}

遗忘因子曲线

测试曲线,调整遗忘因子提高抖动估计灵敏度:

#include <iostream>
#include <cstdint>
#include <vector>uint32_t packet_loss_rate_ = 0;int main()
{std::vector<int> input;std::vector<float> buckets;float forget_factor = 0.9993;float val = 0;for (size_t k = 0; k < 1000; k ++) {val = val * forget_factor + (1-forget_factor);buckets.push_back(val);}for (int i = 0; i < 1000; ++i) {std::cout << buckets[i]<< " ";}return 0;
}

在这里插入图片描述

http://www.hkea.cn/news/6511/

相关文章:

  • 招标网站排名前十名营销模式
  • 软件网站建设基本流程图网站做优化一开始怎么做
  • 荔湾做网站公seo推广培训学费
  • 企顺网网站建设石家庄seo关键词
  • 做网站海口seo优化托管
  • 网站设计是不是会要用代码做济源网络推广
  • 一人办厂千元投资seo关键词优化软件合作
  • 一键制作网页西安seo网站关键词优化
  • 做外贸 英文网站免费发布广告
  • 网站开发能封装成app吗百度推广登录入口
  • 中央精神文明建设指导委员网站网站优化网站
  • app 设计网站建设seo提供服务
  • 玉溪市住房城乡建设局网站大连百度关键词优化
  • 无锡网知名网站网络营销策划方案案例
  • 网站建设图片上传操作电商sem是什么意思
  • web网站开发工具seo网站推广下载
  • 做外贸服装的网站做推广
  • 网站建设及维护费用网站功能优化的方法
  • 珠海网站建设技术支持seo优化文章网站
  • 南京市城乡建设局网站企业站seo外包
  • 定制型网站开发外贸推广建站
  • 域名备案时网站名称网络推广seo公司
  • 永州网站建设gwtcms百度竞价客服电话
  • 代做机械设计的网站网址大全百度
  • 出口电商网站建设程序广州seo推广优化
  • 广州seo网站排名陕西优化疫情防控措施
  • 做微信公众号网站源码佛山做seo推广公司
  • 长春建站的费用开创集团与百度
  • 铜川网站建设哪家好seo引擎优化怎么做
  • 做网站带来好处手机网站怎么优化关键词