Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103597
  • 博文数量: 35
  • 博客积分: 1845
  • 博客等级: 上尉
  • 技术积分: 394
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-17 17:06
文章分类

全部博文(35)

文章存档

2013年(2)

2012年(2)

2011年(24)

2010年(3)

2009年(4)

我的朋友

分类:

2009-12-02 21:35:10

1.      Mobicom09-Frequency-Aware Rate Adaptation and MAC Protocols

09/18/09

背景及动机介绍:

无线技术朝更宽的频谱发展。举例如1802.11n40MHz和超宽频UWB2FCC允许使用DTV信道间未使用的频率,即whitespace,大约100MHz-250MHz3)近期在WiFi上的研究建议废除信道划分的概念,一个节点限制在一个20MHz的信道内,可能导致负载不均衡,允许所有节点按需接入到整个802.11的频谱中。

更宽频谱带来频率分集的机会。

不同的频率经历不同的衰减,对于某一对TxRx不同频率表现出不同的SNR差异超过20dB,不同SNR可允许不同的速率),TxRx对不同对应的好频率也不同。

那么只有一对时,为每个子信道选择最佳的速率,即调制和编码方式(都是基于OFDM,现状是所有子信道20MHz都采用一样的速率);

多对时,应为不同的TxRx分别分配好的、适合的频率,频带可间断或离散。

目前的速率调整和MAC都忽略这些信息,无法处理把握更宽频谱带来的频率分集机会。

 

主要贡献:

提出FARA一种有频率意识的速率调整和MAC协议。它利用频率的不同SNR性质来增加吞吐量。

1)通过一般数据传输稳定计算每个频率或子信道的SNR

2)每个子信道根据自己的SNR独立地选择速率,而不是整个链路,即所有子信道选同一个速率;

3)MAC层,为不同TxRx对分配工作最适宜的频率;

4)FPGA上实现FARA,与802.11比较提高3.1倍的吞吐量。

 

实现细节:

FARA分成4个部分:1)每个频率的SNR估计,干扰与否都可估计;2)频率意识的速率调整;3)频率意识的MAC4)负载竞争(这一部分有凑分嫌疑)。

 

1)  如何估计SNR

OFDM有导频信道,用于收发端同步,发生的是已知位,由BPSK调制。FARA为每个数据子信道估计SNR。用数据信道估计信号强度,用导频信道的已知位估计噪音。

每个数据子信道可测量接收强度Ri,信号强度Si= Ri – Ni

SNRi=Si/Ni=Ri/Ni -1

在同一个链路上,所有子信道的噪音是一样的,Ni=N0,因为噪音来自接收方的硬件、量化和计算错误,与频率无关。

计算N0时,为每个导频信道的每个符号计算ni[K],然后求中值。

ni[K] = yi[k]- Hi xi[k] = K个符号的接受样本 信道* 传输样本。

(疑惑:样本是什么单位?Hi表示信道是什么值,噪音不是与频率无关,那么Hi是什么含义?)

每到一个包,就可以计算新的SNR,用时间权重得到平均SNR值,每个包更新。

a)      干扰还可以估计?干扰了还可计算接收强度;噪音估计只要求导频,因为是已知,而且用BPSK稳定,所以噪音估计还能精确。(有干扰后,收到的接受强度是R=S+I+N,就把干扰信息也包含在内,得到的还是原来信道的SNR吗?)

b)      估计有多精确?信号和噪音的估计横跨了整个包,比之前的只用前导码估计要精确。

c)      速率不影响SNR估计?SNR估计只测量子信道的功率,在任何包上完成独立于传输的调制和编码模式。

2)  频率意识的速率调整

FARA用与802.11一样的调制和编码模式,但FARA为每个子信道选择独立的调制和编码方式。但不需要添加新硬件,把样本缓存,用一样的通道处理就行。(本一起处理调制和编码的,变成分开处理,而且为不加硬件并行变成串行,时间是不是花比较久了?)

SNR映射到最优速率:SNR性质表,固定不变,一旦形成只需查询。表中标明某种速率或调制编码方式要求的最小SNR。接收方为每个子信道选择该SNR能支持的最高速率。SNR低于最小值的子信道不被使用。这个表独立于位置和时间,有些硬件已经提供,没提供的可以强制方式执行。

Rx为每个子信道计算最优选择,用802.11的同步ack反馈给Tx,在ack中增加一个域。

 

具体协议流程:

第一次通信:

Tx为所有子信道选最保守的速率发送;

Rx第一次估计SNR和速率,为快速跳到合适的速率上,反馈ACK中直接包含合适速率。

之后的通信:

因为速率改变一般从当前速率到邻近速率,为减少反馈开销,只反馈改变。2bit就足够,上升,下降或不变。

不变时,可进一步用run-length编码压缩,硬件中容易应用。

 

变长的ack不会影响802.11行为,802.11本来就有同步ack,等待SIFS后才能发送。下一个包开始发送必须等媒介空闲。

包或ack丢失怎么办?Rx在每个ack中包含序列号,存储Tx收到ack后的速率状态;Tx在数据包中包含接收到最后一个ack的序号;Rx收到数据包后,查看ack序号对应的状态,可得到需反馈的累计差异。

因为ack同步,Rx只需要多保存最后被Tx收到的ack序号。然后把原来的ack序号和累计差异包含在新ack中,表示累计差异的基于谁的,以便Tx更新。

 

3)  频率意识的MAC

FARA允许同时有多个下一跳,给他们分配不重叠的OFDM子信道集,可以不连续。通过选择并发下一跳集和分配信道,以最大化吞吐量。选择分配原则:最小化占有媒介的时间,使传输时间相等。包大小一样,速率分配要相等。包大小不一样,按包大小比率。这是个NP难问题,约简后是双包装问题(bin-packing problem),采用近似解。

具体原则:1)使速率相等;2)使Rx各自使用到最好的频率,该频率对应的SNR较高。

具体流程:

1)选择N个包

一次并发只能传N个包(2-5个),Tx为每个下一跳准备索引队列指向原始队列中的数据包。先选原始队列头的包,然后从队列非空的下一跳中随机选N-1个,对应的索引队列头指向的包,随机确保公平性。

2)给N个下一跳分配频率,随机贪婪法

SubbandAssignment: 子信道个数,为每个子信道分配下一跳

RateCounter: N,每个下一跳的总速率

随机排列N个下一跳,先将所有频率分给第1个。为最小总速率的下一跳选最优的子信道,对某个最小速率下一跳nmin,找最大总速率下一跳nmax,从nmax中找对nmin优对nmax差的子信道,选择deta[i]=ratenmin[i]-ratenmax[i]最大的信道分给nmini为分给nmax的子信道。调整上面两个参数。

重复过程直到不能给最小的速率再增加。

 

通过deta[i],分配较佳的频率给下一跳。

通过重复分配,达到相等速率的目的。

多个下一跳,按顺序回复ack

WLan中一般节点只有AP一个下一跳,不能从FARA MAC中获得增益。APMesh中的节点可以从FARA的速率调整和MAC中获得好处。

 

4)  负载意识的竞争

FARA允许使用整个802.11频谱,直接用之前的技术来负载均衡。

技术1:通过队列中活跃节点的个数来模拟竞争。当有N个活跃节点,APN个时间竞争槽中随机选,选择最小时间槽的发生。

技术2:测量竞争窗口大小。竞争窗口大小是竞争者个数的函数。IdleSense按媒介空闲时间长度来更新最小竞争窗口。

使用完整的频谱,导致更高的竞争可能。可用RTS-CTS来解决隐藏终端问题。

 

实验效果:

FPGA上同时实现FARA802.11

1.验证不同频率的SNR差距大。非视距内差15-25dB(),视距差5-10dB。而且在秒时段内保持稳定,这是使用频率分集的要求。否则如是微妙的变化,太快,开销大。

2.验证SNR映射到最佳速率是强健的。给定某SNR可支持的最高速率是独立于位置和时间的,也与频率无关。在所有位置,给所有子信道所有编码方式进行测试,得到某编码方式下SNR1MHz信道上的速率关系。在不同位置不同时间得到的最大速率包迹基本一致。

3.来自速率调整的增益。分别在20MHz100MHz带宽的情况下与SampleRate比较,所有的位置上都测试5次,增益分别为1.1-1.5倍和1.4-3.6倍,平均1.25倍和2.1倍。为迁就较差的频率,802.11只能选较低的速率。

4.来自MAC的增益。只有5个板子,1个为Tx4Rx。改变4Rx的位置增加次数,每次10遍。在100MHz的带宽下,FARA一个帧发4个包,少了进入媒介的开销,为只体现频率分集的效果,允许802.11的发生着不同等媒介空闲才发送,节省进入媒介的时间,反正只有1个发生者。与原始的802.11CSMA MAC+SampleRate比较吞吐量,一个为纯FARA,一个为CSMA MAC + FARA Rate adaption,前者3.1倍,后者为2.6倍。增益来自于一对(速率调整)约70%,也来自于多对(MAC)约30%

5.负载更均衡。2AP,一个有多个用户,一个只有1个用户。比较不同用户比率下公平性。用jain fairness index表示公平性,1最公平,1/n最不公平。在40MHz带宽下实验,802.11两个AP分别各有20MHzFARA共享40MHzFARA保持1802.11线性下降。

 

阅读(806) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~