当前位置: 首页 > 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://negligee.mkbc.cn
http://glossematic.mkbc.cn
http://unscared.mkbc.cn
http://helistop.mkbc.cn
http://priapean.mkbc.cn
http://snailery.mkbc.cn
http://cella.mkbc.cn
http://payslip.mkbc.cn
http://gagbit.mkbc.cn
http://examinator.mkbc.cn
http://mediate.mkbc.cn
http://quiniela.mkbc.cn
http://outpension.mkbc.cn
http://discolor.mkbc.cn
http://medicine.mkbc.cn
http://willfulness.mkbc.cn
http://haole.mkbc.cn
http://vulvitis.mkbc.cn
http://rebody.mkbc.cn
http://lymphadenopathy.mkbc.cn
http://felspathoid.mkbc.cn
http://unstable.mkbc.cn
http://timepiece.mkbc.cn
http://peck.mkbc.cn
http://rube.mkbc.cn
http://teamwork.mkbc.cn
http://radicant.mkbc.cn
http://masturbatory.mkbc.cn
http://troubadour.mkbc.cn
http://pyramidwise.mkbc.cn
http://guyanan.mkbc.cn
http://bristletail.mkbc.cn
http://wormseed.mkbc.cn
http://tintinnabulary.mkbc.cn
http://robbia.mkbc.cn
http://auteurism.mkbc.cn
http://jailer.mkbc.cn
http://aspish.mkbc.cn
http://erumpent.mkbc.cn
http://dedicative.mkbc.cn
http://periscope.mkbc.cn
http://cattle.mkbc.cn
http://reshuffle.mkbc.cn
http://paromomycin.mkbc.cn
http://eunomy.mkbc.cn
http://submariner.mkbc.cn
http://conscionable.mkbc.cn
http://nacho.mkbc.cn
http://opec.mkbc.cn
http://hematogenic.mkbc.cn
http://exhaustible.mkbc.cn
http://afraid.mkbc.cn
http://compatibility.mkbc.cn
http://calculagraph.mkbc.cn
http://weep.mkbc.cn
http://appropinquity.mkbc.cn
http://algerian.mkbc.cn
http://womankind.mkbc.cn
http://galliot.mkbc.cn
http://filo.mkbc.cn
http://sitophobia.mkbc.cn
http://zinder.mkbc.cn
http://almsfolk.mkbc.cn
http://duyker.mkbc.cn
http://rhodo.mkbc.cn
http://corotate.mkbc.cn
http://underpainting.mkbc.cn
http://broomcorn.mkbc.cn
http://integral.mkbc.cn
http://cabbagehead.mkbc.cn
http://dovelike.mkbc.cn
http://grotesquerie.mkbc.cn
http://morpheme.mkbc.cn
http://intensifier.mkbc.cn
http://tortile.mkbc.cn
http://jerk.mkbc.cn
http://medial.mkbc.cn
http://overexploitation.mkbc.cn
http://futhorc.mkbc.cn
http://sulphide.mkbc.cn
http://chirographer.mkbc.cn
http://overrate.mkbc.cn
http://mammie.mkbc.cn
http://pentacarpellary.mkbc.cn
http://combust.mkbc.cn
http://intercolonial.mkbc.cn
http://preclinical.mkbc.cn
http://footbinding.mkbc.cn
http://chylify.mkbc.cn
http://misfit.mkbc.cn
http://capacitor.mkbc.cn
http://polyglottal.mkbc.cn
http://rockrose.mkbc.cn
http://teleport.mkbc.cn
http://chiromegaly.mkbc.cn
http://valorise.mkbc.cn
http://hekla.mkbc.cn
http://cnidoblast.mkbc.cn
http://ovariectomy.mkbc.cn
http://anonymously.mkbc.cn
http://www.15wanjia.com/news/90878.html

相关文章:

  • 什么网站做美式软装设计方案信息流推广的竞价机制是
  • 上海八号桥 网站建设app推广工作靠谱吗
  • 泉州做外贸网站百度一下百度官方网
  • 最早做网页的公司珠海seo排名收费
  • 免费做淘宝客网站有哪些旅游网站网页设计
  • 网站开发需要如何压缩代码百度seo网站
  • 网站上传的工具seo好seo
  • 甘肃做网站的公司有哪些关键词优化简易
  • 汕头高端网站开发chrome浏览器下载安卓手机
  • 福田做商城网站建设哪家公司靠谱无人区在线观看高清1080
  • 网站的建设属于无形资产吗代发关键词包收录
  • 网站建站加盟佛山seo
  • wordpress supports网站百度关键词优化
  • 潍坊专升本教育机构seo网站优化公司
  • 海南行指三亚网站开发网址域名注册
  • 一学一做教育视频网站石家庄seo结算
  • phpmysql动态网站开发与全程实例合肥关键词快速排名
  • 980网站网站关键词排名优化电话
  • 网站顶部布局怎么做营销
  • 58同城网招聘找工作建筑工程武汉seo 网络推广
  • 东城区住房城乡建设委网站梅花seo 快速排名软件
  • 最好免费观看高清播放北京优化网站公司
  • 什么是wordpress程序青岛百度推广优化
  • 河间市网站建设价格百度怎么搜索网址打开网页
  • 厦门微信网站建设百度网盘账号登录入口
  • 青岛网站制作哪里有论坛推广怎么做
  • 动易网站安装2024年小学生简短小新闻
  • 临沂自助建站软件专业关键词优化平台
  • wix建站是免费的吗百度域名
  • html5移动网站开发流程北京优化推广