背景技術(shù):
本申請(qǐng)一般涉及無線通信。更具體地,本申請(qǐng)涉及用于在無線連接中適配通信數(shù)據(jù)速率的系統(tǒng)和方法。
已經(jīng)開發(fā)了無線通信系統(tǒng)以向各種位置中的用戶提供相對(duì)低成本的無線電通信。這樣的無線通信系統(tǒng)通常根據(jù)一個(gè)或多個(gè)無線標(biāo)準(zhǔn)來操作。無線標(biāo)準(zhǔn)定義了包括消息格式以及內(nèi)容和定時(shí)的系統(tǒng)中的無線電之間的通信流。這樣的無線標(biāo)準(zhǔn)的實(shí)例包括諸如全球移動(dòng)通信系統(tǒng)(gsm)的蜂窩電話標(biāo)準(zhǔn)和諸如電氣和電子工程師協(xié)會(huì)(ieee)標(biāo)準(zhǔn)802.11及其變型的無線標(biāo)準(zhǔn)。其他例子比比皆是。
典型的無線通信系統(tǒng)包括向基站或接入點(diǎn)周圍的地理區(qū)域提供無線電通信的一個(gè)或多個(gè)固定基站或接入點(diǎn)。地理區(qū)域中的一個(gè)或多個(gè)訂戶模塊與基站或接入點(diǎn)建立無線電通信以接收通信服務(wù)。由訂戶模塊接收的通信服務(wù)可包括語音服務(wù)和數(shù)據(jù)服務(wù)中的一個(gè)或兩個(gè)?;净蚪尤朦c(diǎn)可具有用于因特網(wǎng)接入和呼叫管理的單獨(dú)的網(wǎng)絡(luò)接入。諸如蜂窩系統(tǒng)的一些系統(tǒng)提供基站之間的呼叫切換,使得用戶模塊可以是移動(dòng)的。
這樣的通信系統(tǒng)可使用得到許可的頻帶或未得到許可的頻帶。通常,蜂窩系統(tǒng)使用得到許可的頻帶。系統(tǒng)運(yùn)營商通常對(duì)于指定地理區(qū)域的特定信道帶具有對(duì)無線電通信的獨(dú)占使用和控制。較小的無線系統(tǒng)通常是未得到許可的。區(qū)域中的任何無線電都可開始通信。
對(duì)于在未得到許可的頻帶中操作的無線電,可能發(fā)生并且必須適應(yīng)干擾。例如,與另一個(gè)遠(yuǎn)程無線電通信的無線電可能突然暴露于來自第三個(gè)附近無線電裝置的傳輸。由于接近,鄰近的無線電可作為遠(yuǎn)離無線電的更強(qiáng)的信號(hào)被接收,在接收的數(shù)據(jù)中產(chǎn)生錯(cuò)誤。這種干擾必須適應(yīng)可靠的通信。
在本公開中解決了無線電通信系統(tǒng)和方法中的這些問題和其他問題。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的第一方面,提供了一種用于無線電設(shè)備的方法,該方法包括:以當(dāng)前數(shù)據(jù)速率從無線電設(shè)備發(fā)送一個(gè)或多個(gè)分組;針對(duì)多個(gè)數(shù)據(jù)速率的相應(yīng)數(shù)據(jù)速率,收集對(duì)于所述無線電設(shè)備向遠(yuǎn)程無線電的無線電傳輸?shù)年P(guān)于分組錯(cuò)誤率的相應(yīng)錯(cuò)誤數(shù)據(jù);確定所述多個(gè)數(shù)據(jù)速率中的各相應(yīng)數(shù)據(jù)速率的相應(yīng)權(quán)重值;識(shí)別所確定的相應(yīng)權(quán)重值的最大權(quán)重值;選擇最佳速率值作為所述多個(gè)數(shù)據(jù)速率中的與所述最大權(quán)重值相關(guān)聯(lián)的數(shù)據(jù)速率;以及如果所述最佳速率值超過所述當(dāng)前數(shù)據(jù)速率,則以所選擇的最佳速率值從所述無線電設(shè)備發(fā)送分組。
根據(jù)本發(fā)明的第二方面,提供有無線電設(shè)備,包括:自動(dòng)重復(fù)請(qǐng)求電路,被配置為以所選擇的數(shù)據(jù)速率向遠(yuǎn)程無線電設(shè)備傳送探測(cè)請(qǐng)求;接收電路,被配置為處理對(duì)所述探測(cè)請(qǐng)求的響應(yīng),并在存儲(chǔ)器電路中存儲(chǔ)在所述選擇的數(shù)據(jù)速率下關(guān)于所述探測(cè)請(qǐng)求的成功率的數(shù)據(jù);速率選擇電路,被配置為使用關(guān)于所述探測(cè)請(qǐng)求的成功率的數(shù)據(jù)來選擇用于向遠(yuǎn)程無線電發(fā)送分組的當(dāng)前數(shù)據(jù)速率;發(fā)送機(jī)電路,以所選擇的當(dāng)前數(shù)據(jù)速率向所述遠(yuǎn)程無線電發(fā)送所述分組;以及速率適配電路,被配置為使用關(guān)于所述探測(cè)請(qǐng)求的成功率的數(shù)據(jù)來選擇用于向所述遠(yuǎn)程無線電發(fā)送后續(xù)分組的新數(shù)據(jù)速率。
根據(jù)本發(fā)明的第三方面,提供一種方法,包括:在無線電設(shè)備處,探測(cè)在所述無線電設(shè)備和遠(yuǎn)程無線電設(shè)備之間的鏈路上的無線電通信的不同相應(yīng)數(shù)據(jù)速率;基于對(duì)所述探測(cè)的響應(yīng),確定各相應(yīng)數(shù)據(jù)速率的成功百分比;針對(duì)各相應(yīng)數(shù)據(jù)速率估計(jì)鏈路的吞吐量;以及選擇給出所述鏈路的最大吞吐量的相應(yīng)數(shù)據(jù)速率。
在一個(gè)實(shí)施例中提供了一種無線電設(shè)備和用于無線電設(shè)備的方法,該設(shè)備和方法用于以當(dāng)前數(shù)據(jù)速率從無線電設(shè)備發(fā)送分組。收集錯(cuò)誤數(shù)據(jù)以估計(jì)無線電設(shè)備的分組錯(cuò)誤率。為各數(shù)據(jù)速率確定權(quán)重值,并且識(shí)別最大權(quán)重值。選擇最佳速率值作為與最大權(quán)重值相關(guān)聯(lián)的數(shù)據(jù)速率,并且最佳速率值可用于從無線電設(shè)備發(fā)送后續(xù)分組。
在另一實(shí)施例中,在無線電設(shè)備中,自動(dòng)重復(fù)請(qǐng)求電路以所選擇的數(shù)據(jù)速率向遠(yuǎn)程無線電設(shè)備傳送數(shù)據(jù)消息。收集對(duì)數(shù)據(jù)消息的響應(yīng),并且統(tǒng)計(jì)在所選擇的數(shù)據(jù)速率下數(shù)據(jù)消息的成功率。基于統(tǒng)計(jì)來選擇當(dāng)前數(shù)據(jù)速率,并且發(fā)送分組??墒褂藐P(guān)于數(shù)據(jù)消息的成功率的統(tǒng)計(jì)來適配數(shù)據(jù)速率。
在另一實(shí)施例中,一種用于無線電設(shè)備的方法包括:以不同的數(shù)據(jù)速率探測(cè)通過無線電鏈路的成功通信。確定每個(gè)速率的成功百分比并存儲(chǔ)數(shù)據(jù)。針對(duì)每個(gè)數(shù)據(jù)速率估計(jì)鏈路的吞吐量。為來自無線電設(shè)備的后續(xù)分組發(fā)送選擇給出鏈路的最大數(shù)據(jù)吞吐量的數(shù)據(jù)速率。
從下面的描述和附圖將更充分地理解本發(fā)明的這些和其他優(yōu)點(diǎn)、方面和新穎特征以及其所示實(shí)施例的細(xì)節(jié)。
附圖說明
圖1是實(shí)例無線電通信系統(tǒng)的框圖;
圖2是在圖1的無線電通信系統(tǒng)中操作的兩個(gè)示例性無線電的更詳細(xì)的框圖;
圖3是示出根據(jù)速率適配算法的一個(gè)實(shí)施例使用的第一函數(shù)的曲線圖;
圖4是示出根據(jù)速率適配算法的一個(gè)實(shí)施例使用的第二函數(shù)的曲線圖;
圖5是示出在圖1的無線電通信系統(tǒng)中使用的無線電設(shè)備中的速率選擇的方法的示例性實(shí)施例的流程圖;
圖6是示出用于計(jì)算在圖1的無線電通信系統(tǒng)中使用的所有可用數(shù)據(jù)速率中的最佳特定數(shù)據(jù)速率的方法的示例性實(shí)施例的流程圖;以及
圖7是示出了如果確定這些較高速率在圖5的速率選擇方法中沒有使用太長時(shí)間段時(shí),用于查找比當(dāng)前速率高的速率的算法的示例性實(shí)施例的流程圖。
具體實(shí)施方式
公開了用于優(yōu)化無線鏈路上的速率適配算法以支持除了傳統(tǒng)的非干擾環(huán)境之外的干擾環(huán)境的系統(tǒng)和方法。速率適配算法允許兩個(gè)通信無線電裝置來定制與變化的環(huán)境的通信。當(dāng)可能時(shí),在速率適配算法下增加數(shù)據(jù)交換的速率。在存在干擾或其他因素的情況下,在速率適配算法下調(diào)整所交換的數(shù)據(jù)速率,以通過在存在干擾的情況下使用較高速率來實(shí)現(xiàn)較高的吞吐量。數(shù)據(jù)交換的速率在實(shí)時(shí)或接近實(shí)時(shí)的基礎(chǔ)上適應(yīng)于環(huán)境。
無線環(huán)境下的速率適配算法通常支持非干擾環(huán)境或者基于這些類型的環(huán)境來設(shè)計(jì)。非干擾環(huán)境是在給定時(shí)間在信道、發(fā)送機(jī)和接收機(jī)上只有兩個(gè)無線電活動(dòng)的環(huán)境。多址規(guī)則控制和限制其他無線電裝置接入信道并產(chǎn)生干擾。
用于測(cè)量信道上的干擾的一個(gè)標(biāo)準(zhǔn)是載波與干擾和噪聲比(cinr)。cinr定義了與環(huán)境噪聲和添加在一起的其它射頻干擾相比,射頻(rf)載波被聽到的水平。cinr越高,被聽到的載波越大。數(shù)據(jù)交換速率越高,需要的cinr越高。數(shù)據(jù)交換速率越高,被認(rèn)為越積極,但是通常是更有利的。數(shù)據(jù)交換速率越高,用戶的便利性越強(qiáng),并且使用諸如無線電信道的稀缺資源效率越高。當(dāng)一個(gè)或兩個(gè)鏈接的無線電裝置由電池供電時(shí),數(shù)據(jù)交換速率越高,越會(huì)減少電流消耗并延長電池壽命。
用于定義數(shù)據(jù)交換速率的一個(gè)標(biāo)準(zhǔn)被稱為調(diào)制與編碼策略(mcs)。mcs定義了如何在rf介質(zhì)上發(fā)送比特??煽紤]的示例性mcs通常被稱為通過由ieee802.11n規(guī)定的mcs15至mcs1。在該定義中,每個(gè)mcs等級(jí)由調(diào)制類型、糾錯(cuò)率以及為rf子載波發(fā)送的流的數(shù)量來定義。調(diào)制類型是針對(duì)每個(gè)符號(hào)發(fā)送6位的64-qam,針對(duì)每個(gè)符號(hào)發(fā)送4位的16-qam和針對(duì)每個(gè)符號(hào)發(fā)送兩位的qpsk。糾錯(cuò)率包括5/6、3/4、2/3和1/2。例如,然后,當(dāng)使用5/6糾錯(cuò)時(shí),每六個(gè)位發(fā)送五個(gè)數(shù)據(jù)位和一個(gè)糾錯(cuò)位。正在發(fā)送的流的數(shù)量指的是通過無線電信道發(fā)送的獨(dú)立數(shù)據(jù)路徑的數(shù)量。一個(gè)流意味著一個(gè)數(shù)據(jù)路徑,兩個(gè)流意味著兩個(gè)數(shù)據(jù)路徑。因此,在該實(shí)例中,在兩個(gè)rf流上使用64-qam5/6的mcs15針對(duì)每個(gè)符號(hào)發(fā)送10比特(即5×2)。在一個(gè)rf流上使用qpsk1/2的mcs1針對(duì)每個(gè)符號(hào)發(fā)送1位(即1×1)。在本實(shí)例中,mcs15提供最高速率的數(shù)據(jù)交換,mcs1提供最低速率的數(shù)據(jù)交換。
根據(jù)當(dāng)前信道條件,接收機(jī)和發(fā)送機(jī)協(xié)商要使用的特定數(shù)據(jù)速率。在使用mcs定義的當(dāng)前實(shí)例中,接收機(jī)和發(fā)送機(jī)或某個(gè)其他網(wǎng)絡(luò)實(shí)體選擇最佳當(dāng)前mcs等級(jí)。隨著條件改變,mcs等級(jí)改變或適應(yīng)于改變的條件,即使在逐幀的基礎(chǔ)上。隨著發(fā)送機(jī)和接收機(jī)之間的距離的增長,例如,可降低mcs等級(jí)。隨著其它環(huán)境噪聲減小,對(duì)于另一實(shí)例,可增加mcs等級(jí)。一個(gè)操作目標(biāo)是在保持可靠通信的同時(shí)增加到最高mcs等級(jí)。
無線電信道中的可靠通信的一種測(cè)量是鏈路預(yù)算。鏈路預(yù)算定義rf信號(hào)在兩個(gè)無線電之間功率衰減多少。從發(fā)送無線電到接收無線電的無線電信號(hào)的功率可被稱為接收信號(hào)強(qiáng)度指示(rssi)。rssi定義接收rf信號(hào)的水平(level)。通常在20mhz信道中,rf信號(hào)可在-95dbm(非常低,環(huán)境的固有噪聲的水平)和-40dbm(非常響亮,高于該值,無線電裝置開始接收信號(hào)的錯(cuò)誤)之間接收。rssi屬于無線電想要聽到的預(yù)期信號(hào)和無線電不想聽到的任何干擾信號(hào)。通常,高鏈路預(yù)算可提供更高的rssi,而低鏈路預(yù)算可提供更低的rssi。
無線電信道中的錯(cuò)誤的常規(guī)測(cè)量是分組錯(cuò)誤率(per)。per定義了在特定mcs通過rf介質(zhì)發(fā)送數(shù)據(jù)時(shí)遇到的錯(cuò)誤百分比。一個(gè)操作目標(biāo)是減少或最小化per。實(shí)現(xiàn)這個(gè)目標(biāo)的一種方法是使mcs水平適應(yīng)包括干擾的當(dāng)前條件。
在未得到許可的環(huán)境中,干擾可能是實(shí)質(zhì)性問題。在得到許可環(huán)境中,頻譜所有者可控制所有信道接入,并基本上消除所有干擾。這種控制在未得到許可的環(huán)境中是不可能的。即使在相對(duì)不擁擠的空間中,存在很少的無線電,干擾也不是實(shí)質(zhì)性的問題。但是,在一些環(huán)境中,可在相同的地理區(qū)域中建立多個(gè)接入點(diǎn),以創(chuàng)建針對(duì)相同的未得到許可信道競(jìng)爭的多個(gè)無線互聯(lián)網(wǎng)服務(wù)提供商網(wǎng)絡(luò)。例如,這些信道通常在2.4ghz和5.0ghz的頻帶中。信道上的其他無線電被稱為相對(duì)于特定發(fā)送機(jī)和接收機(jī)的干擾。
當(dāng)干擾源變得活動(dòng)并開始發(fā)送時(shí),cinr大大減小,導(dǎo)致發(fā)送的分組丟失。對(duì)分組丟失的常規(guī)響應(yīng)是重試分組的發(fā)送。這是成功的,因?yàn)榧词乖诟吒蓴_的環(huán)境中,通常在第四次或第五次重試時(shí)接收所有分組。
傳統(tǒng)的速率適配算法不考慮信道上的干擾源。結(jié)果,常規(guī)速率適配算法通常基于當(dāng)前per和鏈路預(yù)算來修改mcs速率的選擇。當(dāng)per增加時(shí),速率適配算法調(diào)整為具有較小吞吐量的較不積極的速率mcs,并且當(dāng)per減小時(shí),將速率適配算法調(diào)整為具有較大吞吐量的更積極的mcs。如果在環(huán)境中沒有干擾,則越接近的無線電裝置在一起,它們經(jīng)歷的cinr越高,這意味著可預(yù)期更積極的mcs發(fā)送數(shù)據(jù)而不增加per。mcs調(diào)整是在階梯式基礎(chǔ)上完成的,隨著per增加而嘗試逐漸降低的mcs等級(jí),并且當(dāng)per減小時(shí)逐漸嘗試更高的mcs等級(jí)。
但是,在干擾環(huán)境中,干擾源可能正在操作并產(chǎn)生rf噪聲(即,干擾),使得當(dāng)干擾源正在發(fā)送時(shí),相應(yīng)的發(fā)送機(jī)和接收機(jī)不能可靠地相互聽到。這些干擾源可以是間歇的或恒定的,并且可以是響亮的(即在接收機(jī)處具有高rssi)或輕柔的(即在接收機(jī)處具有低rssi)。也可能有多個(gè)干擾源。這可能導(dǎo)致接收機(jī)的cinr發(fā)生變化。
因此,在干擾環(huán)境中,最適當(dāng)?shù)膍cs或其他數(shù)據(jù)速率的選擇可基于在任何給定時(shí)刻存在的干擾和鏈路預(yù)算兩者。本公開創(chuàng)建了一種考慮干擾和鏈路預(yù)算以選擇最優(yōu)mcs的速率適配算法,使得無線電之間的連接的總吞吐量被最大化。
根據(jù)一些實(shí)施例,用于速率適配算法的方法探測(cè)不同的數(shù)據(jù)速率或mcs等級(jí),以了解在特定時(shí)間使用什么最佳mcs等級(jí)。探測(cè)可以是自動(dòng)重復(fù)請(qǐng)求(arq)數(shù)據(jù)消息或數(shù)據(jù)通信的形式。該方法包括基于對(duì)探測(cè)的響應(yīng)來確定mcs等級(jí)的成功百分比。可探測(cè)所有mcs等級(jí),或者可探測(cè)mcs等級(jí)的mcs的子集。該方法還包括確定每個(gè)mcs的估計(jì)吞吐量。進(jìn)一步地,該方法包括選擇給出鏈路的最大吞吐量的mcs等級(jí)。當(dāng)前條件的最大吞吐量可被稱為有效吞吐量。
該方法進(jìn)一步包括在短時(shí)間段期間探測(cè)以看出在每個(gè)所選數(shù)據(jù)速率或mcs等級(jí)是否成功接收到分組,使得發(fā)送無線電可動(dòng)態(tài)地適應(yīng)包括干擾的變化環(huán)境。
探測(cè)可以是發(fā)送或接收的任何數(shù)據(jù)或者發(fā)送或接收的數(shù)據(jù)的組合。在一些實(shí)施例中,探測(cè)是通常通過無線電鏈路在發(fā)送無線電和接收無線電之間發(fā)送的常規(guī)數(shù)據(jù)。例如,可設(shè)置自動(dòng)重復(fù)請(qǐng)求過程,其中發(fā)送無線電發(fā)送幀并等待接收來自接收無線電的確認(rèn)傳輸。確認(rèn)傳輸可被稱為ack。如果接收無線電成功地接收到分組,則其用ack消息進(jìn)行響應(yīng)??赏ㄟ^任何錯(cuò)誤檢測(cè)或校正技術(shù)來確定接收的成功。如果接收無線電接收到分組但是具有錯(cuò)誤,則其可用稱為nack的非確認(rèn)傳輸來響應(yīng)。發(fā)送無線電可通過重新發(fā)送相同的分組來響應(yīng)從接收無線電接收到nack。此外,如果發(fā)送無線電沒有接收到確認(rèn)發(fā)送或者不確認(rèn)發(fā)送(無ack或nack),則發(fā)送無線電不知道接收無線電是否完全沒有接收到分組,或者接收無線電是否接收到分組,隨后的ack消息沒有被接收無線電成功發(fā)送。發(fā)送無線電可重傳分組。發(fā)送無線電可將非確認(rèn)或無確認(rèn)視為缺少來自接收無線電的所傳送的幀的確認(rèn)。
發(fā)送無線電基于其接收的確認(rèn)傳輸或者其接收的確認(rèn)傳輸?shù)娜狈砭S護(hù)度量。這可例如通過對(duì)來自接收無線電的ack和nack消息進(jìn)行計(jì)數(shù)并且存儲(chǔ)指示通過鏈路到遠(yuǎn)程無線電的發(fā)送和接收的成功的計(jì)數(shù)或其他數(shù)據(jù)來完成。所存儲(chǔ)的數(shù)據(jù)指示成功分組發(fā)送的百分比。
進(jìn)一步地,可以以不同的mcs等級(jí)或數(shù)據(jù)速率來完成這個(gè)探測(cè)過程。以這種方式,發(fā)送無線電可基于接收到的ack消息、nack消息或無接收消息來跟蹤成功率。統(tǒng)計(jì)可以被導(dǎo)出并被存儲(chǔ)在發(fā)送無線電中。這也可在設(shè)定的時(shí)間段或者針對(duì)變化的時(shí)間段進(jìn)行,使得當(dāng)可能或已經(jīng)檢測(cè)到干擾時(shí),獲得并存儲(chǔ)更多的探測(cè)數(shù)據(jù)。以這種方式,可以動(dòng)態(tài)和快速地選擇鏈路的數(shù)據(jù)速率或mcs等級(jí)。
該技術(shù)可由鏈路兩端的無線電裝置使用。無線電通信包括兩個(gè)不同的鏈路會(huì)話。這些可被稱為從接入點(diǎn)(ap)到訂戶模塊(sm)的下行鏈路以及從sm到ap的上行鏈路。ap和sm都可執(zhí)行如本文所述的適配數(shù)據(jù)速率的方法。由ap和sm執(zhí)行的每個(gè)相應(yīng)的速率適配算法是獨(dú)立的,因?yàn)槊總€(gè)接收機(jī)看到不同的干擾。如果ap和sm物理上靠近,例如小于100米,則它們將可能看到相同的干擾。由于定向天線的可用性,即使ap和sm之間的距離很小,也可在ap和sm上看到不同的干擾。但是,通常,兩個(gè)無線電裝置不靠近并且將看到不同的干擾信號(hào)。鏈路上的發(fā)送數(shù)據(jù)并接收ack或nack(或無響應(yīng))的無線電使用速率適配算法來決定選擇哪個(gè)速率。
因此,本文所公開的方法和系統(tǒng)能夠基于通過鏈路從預(yù)期接收機(jī)接收回的數(shù)據(jù)來確定無線鏈路上的數(shù)據(jù)的通信的速率。即使在不受控制的基于干擾的環(huán)境中也進(jìn)行該速率選擇。
現(xiàn)在參考附圖,圖1示出了實(shí)例無線電通信系統(tǒng)100的簡化框圖。無線電通信系統(tǒng)100是包括無線設(shè)備和網(wǎng)絡(luò)的實(shí)例系統(tǒng),其可實(shí)現(xiàn)本文所描述的方法的組合以實(shí)施動(dòng)態(tài)地適應(yīng)干擾設(shè)備的存在的速率適配算法。在圖1中,無線電通信系統(tǒng)100包括接入點(diǎn)102、第一訂戶模塊(sm)104、第二訂戶模塊106、第一干擾源108和第二干擾源110。在所示的實(shí)施例中,ap102使用基于電氣和電子工程師協(xié)會(huì)(ieee)802.11n的物理層(phy)與第一sm104和第二sm106通信。但是,無線電通信系統(tǒng)100僅旨在是示例性的,并且旨在用于說明下面將描述的某些操作點(diǎn)。本文描述的設(shè)備和過程旨在與包括網(wǎng)絡(luò)拓?fù)浜蛿?shù)據(jù)通信技術(shù)的最廣泛的各種網(wǎng)絡(luò)一起使用。例如,在一個(gè)實(shí)施例中,無線電系統(tǒng)使用基于ieee802.11的phy(即,數(shù)據(jù)在52個(gè)子載波上傳輸并且符號(hào)時(shí)間為4微秒),但是所使用的媒體訪問控制(mac)層是時(shí)分雙工(tdd,即具有下行鏈路和上行鏈路部分的幀)。
ap102向ap102周圍的服務(wù)區(qū)域提供無線電通信。在所示的實(shí)施例中,ap102根據(jù)定義為具有下行鏈路(dl)和上行鏈路(ul)子幀的幀的時(shí)分雙工(tdd)協(xié)議(例如,5毫秒長度)操作。這些子幀由分配給特定sm的單獨(dú)的定時(shí)機(jī)會(huì)組成。本文描述的設(shè)備和技術(shù)可擴(kuò)展到包括ieee802.11n的標(biāo)準(zhǔn)和協(xié)議。
在圖1的實(shí)例中,ap102操作為在圍繞ap102的小區(qū)或服務(wù)區(qū)域內(nèi)的無線電設(shè)備的基站。在該實(shí)例中,接入點(diǎn)102向包括靠近接入點(diǎn)的sm104和sm106的一個(gè)或多個(gè)訂戶模塊提供無線電通信服務(wù)。如本文所使用的,無線電通信通常是指通過表示數(shù)據(jù)的射頻信號(hào)的發(fā)送和接收的數(shù)據(jù)通信。每個(gè)訂戶模塊,sm104和sm106使用諸如tdd的無線電通信協(xié)議與接入點(diǎn)102通信。無線電通信協(xié)議定義在包括接入點(diǎn)102的無線電設(shè)備和包括sm102和sm104的其他無線電設(shè)備之間的信息的發(fā)送和接收的頻率分配、定時(shí)、幀結(jié)構(gòu)和其他特性。
在圖1的實(shí)例中,接入點(diǎn)102與包括第一訂戶模塊sm104和第二訂戶模塊sm106的兩個(gè)無線電設(shè)備進(jìn)行無線電通信。訂戶模塊sm104和sm106可被認(rèn)為是接入點(diǎn)102的客戶端并且可被稱為無線客戶端設(shè)備。諸如ap102的接入點(diǎn)及其對(duì)應(yīng)的無線客戶端設(shè)備sm104和sm106可被稱為無線網(wǎng)絡(luò)。盡管圖1示出了與接入點(diǎn)102進(jìn)行無線電通信的兩個(gè)用戶模塊,但是這僅僅是示例性的。任何數(shù)量的訂戶模塊可與ap102通信。而且,圖1示出的訂戶模塊可選擇性地離開無線網(wǎng)絡(luò)并重新進(jìn)入該網(wǎng)絡(luò),并且其他訂戶模塊也可進(jìn)入無線網(wǎng)絡(luò)。
sm104和sm106中的每一個(gè)可包括與任何其他合適的設(shè)備或裝備相組合的無線電通信電路。可包括無線電電路并且形成訂戶模塊或無線客戶端設(shè)備的示例性設(shè)備包括移動(dòng)電話、智能電話、個(gè)人數(shù)字助理(pda)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、個(gè)人計(jì)算機(jī)和任何其他數(shù)據(jù)處理設(shè)備或位于需要數(shù)據(jù)通信接入的家庭、商業(yè)或其他區(qū)域中的固定無線電設(shè)備。在圖1的實(shí)例中,sm104被實(shí)現(xiàn)為移動(dòng)電話,并且sm106被實(shí)現(xiàn)為膝上型計(jì)算機(jī)。對(duì)于sm104和sm106中的每一個(gè),無線電電路在數(shù)據(jù)處理設(shè)備和接入點(diǎn)102之間提供數(shù)據(jù)通信。無線電電路可以是硬件或軟件模塊或組件或組件組,并且可以是訂戶模塊的永久部分,或者可以是從訂戶模塊可移除或可拆卸的。
接入點(diǎn)102又可提供sm104和sm106之間的相應(yīng)訂戶模塊之間或相應(yīng)訂戶模塊和諸如因特網(wǎng)的另一網(wǎng)絡(luò)之間的數(shù)據(jù)通信。接入點(diǎn)102和訂戶模塊sm104和106的布置被稱為點(diǎn)到多點(diǎn)(pmp)布置或方案。網(wǎng)絡(luò)可以是任何網(wǎng)絡(luò)或網(wǎng)絡(luò)的組合,并且可直接或間接地包括與因特網(wǎng)通信的一個(gè)或多個(gè)因特網(wǎng)。
圖2是代表性接入點(diǎn)202和代表性訂戶模塊204的框圖。接入點(diǎn)202可以是圖1的形式ap102。類似地,訂戶模塊204可代表圖1中的sm104或sm106中的一個(gè)。但是,所示的實(shí)施例僅旨在是示例的。
接入點(diǎn)202包括主處理器206、網(wǎng)絡(luò)接口328和天線216。在其他實(shí)施例中,接入點(diǎn)202可包括相對(duì)于圖1所示的更多或更少或替代的元件。
主機(jī)處理器206控制接入點(diǎn)202的操作。主機(jī)處理器206可包括用于實(shí)現(xiàn)控制功能的一個(gè)或多個(gè)電路、模塊、接口或代碼。例如,主機(jī)處理器206可包括微處理器和存儲(chǔ)器。存儲(chǔ)器可存儲(chǔ)數(shù)據(jù)和用于控制微處理器和接入點(diǎn)202的其它組件的指令。微處理器又可響應(yīng)于存儲(chǔ)的數(shù)據(jù)和指令來操作以控制接入點(diǎn)的操作。
網(wǎng)絡(luò)接口208控制接入點(diǎn)322和其他設(shè)備(包括訂戶模塊204)之間的數(shù)據(jù)通信。網(wǎng)絡(luò)接口208使用天線216控制無線通信。在這點(diǎn)上,網(wǎng)絡(luò)接口208可實(shí)現(xiàn)一個(gè)或多個(gè)無線電電路以通過天線216發(fā)送和接收無線電通信。網(wǎng)絡(luò)接口208根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)的開放系統(tǒng)互連(osi)模型實(shí)施物理層(phy)218以及發(fā)送機(jī)和接收機(jī)電路(tx/rx)220。在一些實(shí)施例中,網(wǎng)絡(luò)接口208可在單個(gè)商業(yè)半導(dǎo)體設(shè)備或芯片組中實(shí)現(xiàn)。這種芯片組的實(shí)例包括avastar88w8764和atherosar9002uub94。
tx/rx220的發(fā)送機(jī)部分適于發(fā)送tdd幀的下行鏈路幀的無線電信號(hào)表示。tx/rx220的發(fā)送機(jī)部分可在發(fā)送之前將由802.11標(biāo)準(zhǔn)規(guī)定的適當(dāng)?shù)恼{(diào)制和編碼方案(mcs)應(yīng)用于下行鏈路幀。發(fā)送機(jī)部分還可包括混頻器、頻率合成器、數(shù)模轉(zhuǎn)換器、功率放大器等。
tx/rx220的接收機(jī)部分被配置為接收tdd幀的上行鏈路幀的無線電信號(hào)表示。接收機(jī)解碼無線電信號(hào)以恢復(fù)上行鏈路數(shù)據(jù)。接收機(jī)包括放大器、自動(dòng)增益控制電路、if放大器、解調(diào)器等。接收機(jī)還可測(cè)量接收到的無線電信號(hào)的特性,包括接收信號(hào)強(qiáng)度(rssi)、接收到的無線電信號(hào)的信噪比(snr)和載波干擾與噪聲比(cinr)。進(jìn)一步地,網(wǎng)絡(luò)接口208實(shí)現(xiàn)時(shí)分雙工(tdd)模塊(mac)222。tdd模塊222可控制phy218的操作,包括配置適當(dāng)?shù)膍cs。
在一個(gè)實(shí)施例中,網(wǎng)絡(luò)接口208實(shí)現(xiàn)ieee802.11n協(xié)議,包括802.11nphy層。網(wǎng)絡(luò)接口208還可以或替代地實(shí)現(xiàn)用于無線和有線通信的其他數(shù)據(jù)通信協(xié)議。例如,網(wǎng)絡(luò)接口208可控制到諸如有線以太網(wǎng)網(wǎng)絡(luò)的其他有線網(wǎng)絡(luò)元件的通信。在這點(diǎn)上,網(wǎng)絡(luò)接口可實(shí)現(xiàn)用于與其他網(wǎng)絡(luò)元件通信的協(xié)議,諸如以太網(wǎng)或互聯(lián)網(wǎng)協(xié)議(ip)。
網(wǎng)絡(luò)接口208可包括諸如一個(gè)或多個(gè)處理器、電路、接口、模塊和用于實(shí)現(xiàn)網(wǎng)絡(luò)控制和通信的存儲(chǔ)器的數(shù)據(jù)處理電路。網(wǎng)絡(luò)接口208可用數(shù)據(jù)和指令編程以執(zhí)行本文所述的功能。此外,網(wǎng)絡(luò)接口208可包括模擬電路,諸如用于與天線216進(jìn)行數(shù)據(jù)通信的放大器、振蕩器和過濾器。
天線216可以是用于信號(hào)的發(fā)送和接收的任何合適的設(shè)備或設(shè)備的組合。在一個(gè)實(shí)例中,天線216是用于數(shù)據(jù)通信的多輸入多輸出(mimo)天線陣列。在一個(gè)具體的實(shí)施例中,天線216被配置用于在諸如2.4ghz和5ghz的頻率上通信。
訂戶模塊204包括主機(jī)處理器224、網(wǎng)絡(luò)接口226和天線228。在其他實(shí)施例中,客戶端設(shè)備204可包括提供其他功能的其他組件。
主機(jī)處理器224控制客戶端設(shè)備204的操作。主機(jī)處理器224可包括用于實(shí)現(xiàn)控制功能的一個(gè)或多個(gè)電路、模塊、接口或代碼。例如,主機(jī)處理器224可包括微處理器和存儲(chǔ)器。存儲(chǔ)器可存儲(chǔ)的數(shù)據(jù)和用于控制微處理器指令。微處理器進(jìn)而可響應(yīng)于存儲(chǔ)的數(shù)據(jù)和指令來操作以控制客戶端設(shè)備204的操作。
網(wǎng)絡(luò)接口226包括控制客戶端設(shè)備204和其它設(shè)備(包括接入點(diǎn)202)之間的數(shù)據(jù)通信的電路。網(wǎng)絡(luò)接口226包括使用天線228控制無線通信的電路。在這方面,網(wǎng)絡(luò)接口226可實(shí)現(xiàn)一個(gè)或多個(gè)無線電電路,以通過天線228發(fā)送和接收無線電通信。在所示實(shí)施例中,網(wǎng)絡(luò)接口226實(shí)現(xiàn)物理層(phy)230以及發(fā)送機(jī)和接收機(jī)電路(tx/rx)232。進(jìn)一步地,網(wǎng)絡(luò)接口226實(shí)現(xiàn)時(shí)分雙工(tdd)模塊234。網(wǎng)絡(luò)接口226形成用于與遠(yuǎn)程接入點(diǎn)或其他無線電設(shè)備進(jìn)行無線電通信的無線電電路。
在一個(gè)實(shí)施例中,網(wǎng)絡(luò)接口226實(shí)現(xiàn)ieee802.11n協(xié)議的衍生物,包括802.11nphy層230和tdd模塊234。在這點(diǎn)上,設(shè)備204形成訂戶模塊或sm。網(wǎng)絡(luò)接口226還可以或替代地實(shí)現(xiàn)用于無線和有線通信的其他數(shù)據(jù)通信協(xié)議。例如,網(wǎng)絡(luò)接口226可控制到客戶端設(shè)備204的其他組件的通信。
網(wǎng)絡(luò)接口226可包括用于實(shí)現(xiàn)網(wǎng)絡(luò)控制和通信的數(shù)據(jù)處理電路,諸如一個(gè)或多個(gè)處理器、電路、接口、模塊和存儲(chǔ)器。網(wǎng)絡(luò)接口226可使用數(shù)據(jù)和指令來編程以執(zhí)行本文所描述的功能。此外,網(wǎng)絡(luò)接口226可以包括模擬電路,諸如用于與天線228通信的放大器、振蕩器和過濾器。
天線228可以是用于信號(hào)的發(fā)送和接收的任何合適的設(shè)備或設(shè)備的組合。在一個(gè)實(shí)例中,天線228是用于數(shù)據(jù)通信的多輸入多輸出(mimo)天線陣列。在一個(gè)具體的實(shí)施例中,天線228被配置用于在諸如2.4ghz和5ghz的頻率上通信。
訂戶模塊204可實(shí)現(xiàn)保持訂戶模塊204的定時(shí)和同步信息的定時(shí)電路。在一個(gè)實(shí)例中,客戶端設(shè)備從接入點(diǎn)202周期性地接收定時(shí)或同步信息。該信息可以以信標(biāo)信號(hào)的形式或以與由接入點(diǎn)202發(fā)送的每個(gè)數(shù)據(jù)幀一起發(fā)送的數(shù)據(jù)幀定時(shí)元素的形式。通過將在信標(biāo)和數(shù)據(jù)幀中發(fā)送的定時(shí)信息同步到周期性同步事件,用戶模塊的本地時(shí)間可同步到周期性同步事件。訂戶模塊因此可在上行鏈路幀期間在適當(dāng)?shù)臅r(shí)間調(diào)度上行鏈路幀的它們各自部分的開始。
在操作中,接入點(diǎn)202和訂戶模塊204處于選擇性無線數(shù)據(jù)通信中。接入點(diǎn)202作為基站操作,并且在與接入點(diǎn)202相鄰的服務(wù)區(qū)域中向客戶端設(shè)備或諸如訂戶模塊204的訂戶模塊提供數(shù)據(jù)通信。根據(jù)tdd協(xié)議進(jìn)行數(shù)據(jù)通信。接入點(diǎn)202作為諸如服務(wù)區(qū)域中的訂戶模塊204的客戶端設(shè)備的主機(jī)或服務(wù)器操作,并且為服務(wù)區(qū)域中的訂戶模塊建立通信網(wǎng)絡(luò)。
再次參照?qǐng)D1,第一干擾源108和第二干擾源110表示可能與ap102和sm104之間或ap102和sm106之間的通信產(chǎn)生射頻(rf)干擾的干擾源無線電設(shè)備。無線電通信系統(tǒng)100在不受控制的基于干擾的環(huán)境中使用未得到許可的頻率進(jìn)行無線電通信的操作。例如,當(dāng)無線電通信系統(tǒng)被實(shí)現(xiàn)為未得到許可的系統(tǒng)時(shí),通信在5.0ghz和2.4ghz的范圍內(nèi)的頻帶上。由于這些頻帶是未得到許可的,任何無線電可以利用它們,并且因此將對(duì)存在于該區(qū)域中的諸如ap102和sm104和sm106的其它無線電產(chǎn)生干擾。也就是說,諸如第一干擾108和第二干擾源110的干擾無線電可通過打開發(fā)送機(jī)來傳送數(shù)據(jù)而在沒有警告的情況下在無線電信道上出現(xiàn)或消失。這可以在ap102正在與sm104或sm106或兩者通信的同時(shí)或者在sm104或sm106正在與ap102通信的時(shí)間發(fā)生。在這種同時(shí)通信的情況下,由于來自第一干擾源108或第二干擾源110的干擾,預(yù)期接收機(jī),sm104或sm106或ap102,可不接收或僅接收一部分傳輸。
無線電通信系統(tǒng)100中的各個(gè)無線電設(shè)備可控制它們的通信的方面,以針對(duì)給定情況優(yōu)化數(shù)據(jù)交換。例如,ap102可以以時(shí)分多址方式分配時(shí)隙,使得每個(gè)訂戶模塊在頻率上具有專用時(shí)間段。在另一實(shí)例中,每個(gè)發(fā)送無線電可選擇通信的數(shù)據(jù)速率并且向其預(yù)期接收機(jī)通知所選擇的數(shù)據(jù)速率。較高的數(shù)據(jù)速率可被認(rèn)為是更積極的,并且將以每個(gè)符號(hào)更多的比特對(duì)每個(gè)符號(hào)進(jìn)行編碼。在諸如802.11n的一些系統(tǒng)中,發(fā)送機(jī)可選擇調(diào)制與編碼策略(mcs)等級(jí)。mcs等級(jí)定義了如何在rf介質(zhì)上發(fā)送比特。要考慮的mcs是由802.11n使用的mcs1至mcs15。mcs由調(diào)制類型、糾錯(cuò)率和為rf子載波發(fā)送的流的數(shù)量組成。通常,mcs15被認(rèn)為是比具有較低mcs索引的mcs等級(jí)(例如mcs9或mcs1)更高的數(shù)據(jù)速率。
包括sm104的無線電通信網(wǎng)絡(luò)100中的給定無線電將定制其載波與干擾和噪聲(cinr)比率以確保其通信的可靠接收。可根據(jù)噪聲和干擾的檢測(cè)水平來選擇載波的發(fā)送水平。一個(gè)示例性目標(biāo)是對(duì)于使用mcs15的通信選擇30db的cinr并且對(duì)于使用mcs1的通信選擇9db的cinr。
圖1繪制并非旨在按比例。但是,其旨在大體上示出與第二sm106相比,第一sm104與ap102的距離相對(duì)更遠(yuǎn)。此外,旨在示出與第一sm104和第二sm106相比,第一干擾源108和第二干擾源110與ap102的距離相對(duì)更靠近。
對(duì)于遠(yuǎn)處的sm104,沒有鄰近的干擾源。在下行鏈路上成功通信的約束是距離ap102的距離。來自sm104的發(fā)送的載波在其行進(jìn)到ap時(shí)被衰減,并且為了可靠地接收,sm104必須選擇適合于在距離ap102的距離上接收的mcs等級(jí)。對(duì)于上行鏈路,接近ap的干擾源對(duì)發(fā)送到該ap的所有sm類似地引起干擾。
信道質(zhì)量的有用測(cè)量是以db衡量的載波與干擾和噪聲(cinr)的比率。對(duì)于20mhz信道,接收信號(hào)強(qiáng)度具有約為-95db的基準(zhǔn)水平。如果不存在干擾,則如果以-65db接收到信號(hào),則cinr為30db。因此,在存在干擾的情況下cinr下降,并且如果接收信號(hào)強(qiáng)度由于距離或信道上的衰落而減小cinr也降低。
無線電通信網(wǎng)絡(luò)100中的給定無線電,包括sm104,將定制其mcs以確保其通信的可靠接收。將根據(jù)從分組錯(cuò)誤率(per)推斷出的檢測(cè)到的噪聲和干擾電平來選擇載波的mcs。作為實(shí)例,遠(yuǎn)處的sm104通常沒有附近的干擾,將具有14的相當(dāng)恒定的cinr,并且能夠在下行鏈路上使用mcs10,其具有對(duì)mcs11和mcs9的一些可選擇的變化。
附近的sm106在附近具有幾個(gè)干擾源,包括第一干擾源108和第二干擾源110。如果沒有干擾源有效,則附近的sm106可具有30db的cinr。但是,第一干擾源108或第二干擾源110的活動(dòng)可導(dǎo)致附近sm106的cinr減小到20db或甚至10db。用于下行鏈路的ap必須基于干擾的存在或不存在來選擇mcs等級(jí)或數(shù)據(jù)速率,該干擾將給出一段時(shí)間內(nèi)的總體最佳吞吐量。
吞吐量是可變的,并且不隨mcs等級(jí)有規(guī)律地變化??紤]到時(shí)間變化和信道上的干擾的意想不到的性質(zhì),這是尤其真實(shí)的。干擾將不是恒定的,而是存在一定百分比的時(shí)間,例如10%或甚至90%。當(dāng)干擾源不存在時(shí),快速、激進(jìn)的mcs等級(jí)可能是最佳選擇。例如,給定重復(fù)干擾,切換到以較少激進(jìn)比特每符號(hào)編碼的較低mcs等級(jí)可能是常規(guī)的。但是,事實(shí)上,具有更高數(shù)據(jù)速率和更高比特每符號(hào)編碼的更激進(jìn)的mcs等級(jí)可在干擾源返回之前成功地完成分組傳輸。
常規(guī)的速率適配算法使用鏈路預(yù)算作為選擇mcs等級(jí)的基礎(chǔ)。但是,通過這種常規(guī)算法可能不能很好地處理干擾的存在。例如,干擾源的存在可能導(dǎo)致發(fā)生大量的傳輸錯(cuò)誤。常規(guī)算法將通過選擇較低的mcs等級(jí)來響應(yīng)。但是,如所指出的,通過替代地選擇更激進(jìn)的更高mcs等級(jí),吞吐量可替代地被最大化。
根據(jù)本文公開的實(shí)施例,鏈路上的每個(gè)無線電裝置操作以優(yōu)化mcs等級(jí)選擇,并因此優(yōu)化速率適配算法的吞吐量,其中無線電在各種干擾環(huán)境中起作用。速率適配算法以各種mcs等級(jí)發(fā)送出測(cè)試分組,以了解對(duì)于所使用的所有mcs等級(jí),分組錯(cuò)誤率(per)是什么。這允許速率適配算法針對(duì)兩個(gè)無線電之間的給定通信路徑確定對(duì)于所有mcs等級(jí)選擇可獲得的最佳吞吐量。
一些實(shí)例幫助描述解決的問題。
情形1:傳統(tǒng)鏈路預(yù)算約束鏈路。如果鏈路由于鏈路預(yù)算而受限,例如當(dāng)鏈路上的無線電相隔這么遠(yuǎn),使得只有保守的mcs將成功,則該算法將嘗試更激進(jìn)的mcs等級(jí),但是per將是高的。它將確定將以低per成功的最高mcs等級(jí),并且這將通過最大化mcs等級(jí)來最大化吞吐量。
情形2:鏈路的cinr高,但是存在始終存在的干擾源,其總是提高噪聲本底。正如在情景1中,速率適配算法將確定將以低per成功的最高mcs等級(jí),并且這將通過最大化mcs等級(jí)來最大化吞吐量。
情形3:鏈路的鏈路預(yù)算高,但是存在僅出現(xiàn)百分之幾(例如10%的時(shí)間)的干擾源。當(dāng)干擾源存在時(shí),cinr為低,因?yàn)殒溌飞系臒o線電由于干擾源而不能聽到彼此,并且無線電不能與任何mcs等級(jí)通信。當(dāng)干擾源不存在時(shí),cinr為高,并且可與最激進(jìn)的mcs進(jìn)行通信。在這種情況下,最激進(jìn)的mcs是選擇最大吞吐量的正確的mcs。選擇較不激進(jìn)的mcs將導(dǎo)致數(shù)據(jù)在無線電鏈路上發(fā)送需要更長時(shí)間,并且由于增加發(fā)生干擾的機(jī)會(huì)而增加per。此外,較低的mcs將具有較少的吞吐量,即使沒有per。
可發(fā)生組合干擾和鏈路預(yù)算的無限數(shù)量的情形,其需要優(yōu)化mcs吞吐量(即以每個(gè)符號(hào)的比特來測(cè)量)乘以(1-per),以確定每個(gè)mcs的吞吐量是什么,并且因此選擇正確的mcs等級(jí),最大化吞吐量。
對(duì)于每個(gè)mcs等級(jí)存在速率權(quán)重,并且其是mcs的質(zhì)量的指示符。速率適配算法的實(shí)施例通過選擇具有最高速率權(quán)重的mcs等級(jí)來選擇要用于傳輸?shù)膍cs等級(jí)。速率權(quán)重受吞吐量、發(fā)送的分組的成功和自從最后一次發(fā)送mcs等級(jí)起的時(shí)間影響。這允許為任何類型的環(huán)境確定正確的mcs等級(jí),諸如僅鏈路預(yù)算約束、僅干擾約束(一個(gè)或多個(gè)干擾源,每個(gè)干擾源具有低或高rssi和當(dāng)它們存在時(shí)的變化百分比),或鏈路預(yù)算和干擾的一些組合。
本文描述的示例性速率適配算法使用老化機(jī)制來增加那些沒有用于延長時(shí)間的mcs等級(jí)的速率權(quán)重。這是因?yàn)閞f和環(huán)境條件可能隨時(shí)間而改變。例如,干擾源可開始或停止,或者對(duì)象可能移入或移出rf路徑,并且因此改變鏈路預(yù)算。
使用自動(dòng)重復(fù)請(qǐng)求(arq)機(jī)制,其中可能丟失通過無線介質(zhì)發(fā)送的分組,并且arq重試丟失分組以確保它們被接收。為了防止在導(dǎo)致所發(fā)送的數(shù)據(jù)顯著延遲增加的arq機(jī)制上丟失分組,速率適配算法的實(shí)施例具有在未傳送的分組的數(shù)量開始增長的情況下強(qiáng)制更穩(wěn)健的mcs速率(即,選擇具有最低per的mcs)的機(jī)制。這允許損耗敏感和延遲敏感的協(xié)議(諸如傳輸控制協(xié)議(tcp))在高干擾條件下更好地工作。
此外,速率適配算法的實(shí)施例包含對(duì)于長時(shí)間沒有流量的情況的特殊處理。當(dāng)在不是最優(yōu)mcs等級(jí)的mcs等級(jí)開始數(shù)據(jù)傳輸時(shí),該處理減少了“慢啟動(dòng)”效應(yīng)。
使用本文描述的實(shí)施例及其擴(kuò)展,無論鏈路預(yù)算或存在的干擾源如何,都可以針對(duì)兩個(gè)無線電之間的任意鏈路獲得最佳吞吐量。這允許發(fā)送更多的數(shù)據(jù),這對(duì)于因特網(wǎng)服務(wù)提供商(isp)及其最終客戶是重要的。這增加了包括處理無線電信號(hào)的信道和電路的無線電資源的使用效率。
以下是速率適配算法的實(shí)施例的描述。該算法可由諸如圖2的接入點(diǎn)202的網(wǎng)絡(luò)接口208或圖2的訂戶模塊226的網(wǎng)絡(luò)接口226的數(shù)據(jù)處理設(shè)備來實(shí)現(xiàn)。微處理器或其他數(shù)據(jù)處理器可結(jié)合存儲(chǔ)在存儲(chǔ)器設(shè)備中的代碼和數(shù)據(jù)來實(shí)現(xiàn)該算法??筛鶕?jù)需要執(zhí)行算法,并且周期性地或在任何基礎(chǔ)上更新結(jié)果。
在每個(gè)調(diào)度幀n上,速率適配算法應(yīng)當(dāng)決定將哪個(gè)速率用于調(diào)度和用于發(fā)送分組。
作出決定,速率適配算法應(yīng)估計(jì)每個(gè)可用速率k的權(quán)重qk(n),然后應(yīng)選擇具有最佳估計(jì)權(quán)重的速率:
k(n)=argmaxkqk(n)
階段1.per估計(jì)上的實(shí)際吞吐量選擇器。
q1k(n)=(1-perestk(n))·rk
在這個(gè)等式中,rk是速率k的phy速率,并且perestk(n)是基于per及其年齡的歷史滑動(dòng)平均值的估計(jì)(老化)的公式。
perk(n)=perk(m)·kold+instantper·knew
kold=1-knew
agek(n)=min(n-m,1)
其中
n是當(dāng)前調(diào)度幀的數(shù)目,
m是當(dāng)針對(duì)速率k接收到先前ack/nack消息時(shí)的調(diào)度幀的數(shù)目,
sent是在調(diào)度幀m和n之間以速率rk發(fā)送的分組的數(shù)目,
delivered是在針對(duì)速率k的最近ack/name消息中ack的分組的數(shù)目。
agefactor,amountfactor和kshift是具有默認(rèn)值的可配置參數(shù),如下:
agefactor=10,amountfactor=20,kshift=0.03
可使用任何合適的默認(rèn)值,這取決于速率適配算法的實(shí)現(xiàn)的具體細(xì)節(jié)。
perestk(n)計(jì)算為,perk(n),如果sent=1,delivered=1。
階段2.per歷史老化。這個(gè)階段的目標(biāo)是考慮per歷史老化。也就是說,無線電未使用速率k越長,無線電對(duì)于agek(n)將具有的值越高,并且速率權(quán)重越高。效果是趨向于選擇具有高的年齡值的速率。換句話說,這個(gè)階段定義了無線電應(yīng)該探測(cè)其他速率的頻率以及應(yīng)該探測(cè)哪些速率。該階段替換了上述來自階段1的per的估計(jì)。
q2k(n)=fa(agek(n),perk(n))·rk
如果最近更新了速率rk的歷史,則無線電可使用該速率的per而不進(jìn)行任何調(diào)整。如果速率rk的歷史沒有被更新足夠長的時(shí)間,則無線電可偏好該速率,只是更新per歷史。所以fa(0,p)應(yīng)該等于(1-p),而fa(∞,p)應(yīng)該等于1。
用于其他年齡值的一個(gè)公式如下:
其中c是年齡閾值的可配置參數(shù)。
圖3示出了p=0.75且c=10的fa(a,p)的函數(shù)的曲線圖。對(duì)于p和c可使用任何合適的值。在一個(gè)實(shí)施例中,將值1000用于c。
階段4.重試次數(shù)。這個(gè)階段的目標(biāo)是考慮無線電裝置在發(fā)送未接收到的分組之后進(jìn)行的arq重試的次數(shù)。發(fā)生的重試次數(shù)越多,最大重試次數(shù)越高,無線電設(shè)備應(yīng)該越謹(jǐn)慎,不要選擇具有高丟失概率的速率。這樣做是為了不增加延遲并且不允許通過arq重試泄漏的損失。
因此,引入重試索引r(n)以確定在幀n上已經(jīng)進(jìn)行了多少次重試。然后計(jì)算:
q4k(n)=fr(r(n).agek(n),perk(n))·rk
在一些實(shí)施例中,當(dāng)根本沒有重試時(shí),重試索引可歸一化并且r(n)=0,并且當(dāng)存在具有重試數(shù)目等于max_retry(最大可能重試次數(shù))的許多分組時(shí),r(n)=1??蛇x擇任何合適的值作為最大可能的重試次數(shù)。
邊界情況:
r(n)=0。在這種情況下,無線電可選擇任何速率,所以fr應(yīng)該等于1-perk(n);
r(n)=1。在這種情況下,無線電不應(yīng)選擇具有高per的速率,因此如果per相對(duì)較高,則fr接近0,如果per相對(duì)較低,則fr接近1。
在一個(gè)示例性實(shí)施例中,
其中
a=agek(n)是速率k的年齡,
p=prrk(n)=1-perk(n)是速率k的分組接收速率(prr)。注意,這不是上面在階段2中使用的同一個(gè)“p”變量,
fa=fa(a,1-p)是對(duì)于指定的prr的階段2計(jì)算的結(jié)果,
r1是重試索引閾值,建議值是
n=7是arq重試數(shù)目,
pthr是per閾值(在第7次重試之后的預(yù)期per),所提議的值是pthr=0.0001=0.01%,
c4是壞的重試調(diào)整,建議值是c4=0.01。
圖4示出了p=0.05,age=1100(fa≈0.8),r1=2/7,pthr=0.01=1%的曲線圖。
階段6.低容量數(shù)據(jù)流量。階段2(老化)應(yīng)該在存在一些不變的探測(cè)數(shù)據(jù)流的情況下工作。但是如果長時(shí)間沒有探測(cè)數(shù)據(jù),則所有速率將受老化影響,并且當(dāng)出現(xiàn)最后流量時(shí),fa公式將對(duì)所有速率返回相同或幾乎相同的值。在這種情況下,qk(n)將嘗試選擇mcs等級(jí)15。但是如果信道足夠差,則分組將丟失,再次重新發(fā)送并在相同的mcs等級(jí)15上再次丟失,然后在mcs等級(jí)14上重新發(fā)送,再次丟失等等,直到重試次數(shù)將超過最大值,數(shù)據(jù)包將被丟棄。
這種情況在非常簡單的情況下可能是特別重要的:在空閑狀態(tài)下ping。在ping操作中,發(fā)送機(jī)發(fā)送要求接收機(jī)進(jìn)行響應(yīng)的消息。在最好的情況下,ping的延遲將非常大;在壞的情況下,ping將丟失;并且在非常壞的情況下,將不會(huì)發(fā)送ping,因?yàn)閍rp將丟失。進(jìn)一步地,下一個(gè)ping(或arp)將僅在1秒后發(fā)送。這是足夠長的持續(xù)時(shí)間,使得相同的情形將被重復(fù)用于下一個(gè)ping。
因此,對(duì)于這種情況需要特殊處理。一個(gè)示例性解決方案是修改年齡計(jì)算。也就是說,年齡計(jì)算不僅應(yīng)考慮已經(jīng)過去的時(shí)間量,而且還應(yīng)考慮已經(jīng)發(fā)生的傳輸?shù)臄?shù)量??梢允褂靡韵?/p>
其中
agek(n)-自上次以速率k進(jìn)行數(shù)據(jù)傳輸以來經(jīng)過的時(shí)間(調(diào)度幀的數(shù)量)
sentk(n)-自上次以速率k進(jìn)行傳輸以來以任何速率進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)目,
c1-年齡閾值,示例性值為1000(調(diào)度幀),
c2-傳輸閾值,示例性值為20(數(shù)據(jù)傳輸)。
因此,上面對(duì)于階段2導(dǎo)出的公式應(yīng)當(dāng)修改如下:
階段7,部分1:大量不良可能的數(shù)據(jù)速率(減少探測(cè)數(shù)量)。一種可能的情況涉及大量不令人滿意的可能mcs等級(jí)。上述針對(duì)階段2的處理引入了老化作為確保在這樣的差速率上周期性地執(zhí)行探測(cè)的方式。但是如果不可接受的mcs等級(jí)速率的數(shù)量足夠大,則將花費(fèi)不適當(dāng)?shù)臅r(shí)間量來探測(cè),這是低效的并且要避免。速率適配算法的一些實(shí)施例的階段7引入了用于解決這樣的問題的處理。
階段7操作以使用在較低速率上的已知per值來估計(jì)較高速率上的未知分組錯(cuò)誤率(per)。如果估計(jì)的per高,應(yīng)該避免探測(cè)。在高估計(jì)per的情況下,減少探測(cè)的數(shù)量提高了性能。如果估計(jì)的per低,則可照常進(jìn)行探測(cè)。在這種情況下,per不影響探測(cè)器的數(shù)量。
如果在任何速率上存在非零per,則其可由不足的rssi或由干擾源引起。在rssi不足的情況下,所有較高的mcs等級(jí)將具有較高的per值。在干擾導(dǎo)致非零per的情況下,可能如下計(jì)算較高速率上的最小可能per。示例性ieee802.11n系統(tǒng)中的干擾源持續(xù)時(shí)間可以從40μsec(對(duì)應(yīng)于分組中的前導(dǎo)碼持續(xù)時(shí)間加上1個(gè)符號(hào))變化到受損分組的全長。干擾源持續(xù)時(shí)間越短;在越高的mcs等級(jí)上的per將越低。因此,利用干擾源的最小持續(xù)時(shí)間,在較高mcs等級(jí)上的損失將最少。
該值與以上結(jié)合階段1所定義的perest不相同。該值對(duì)于決定是否存在將mcs等級(jí)速率從m1改變到m2的值是有用的:
如果
或者,在取代后,
如果
則無線電不應(yīng)選擇速率m2。這里,
m1是當(dāng)前mcs速率指數(shù)(index),0≤m1≤15
m2是我們估計(jì)的mcs速率,0≤m2≤15
k是具有非零per的mcs速率,這樣m1﹤k﹤m2。
修改此過程,以符合速率適配算法的其余部分并考慮老化。因此,k0設(shè)為當(dāng)前速率的數(shù)量,并且k設(shè)為我們想要計(jì)算qk(n)的速率的數(shù)量,這樣k﹥k0。然后對(duì)于在k0和k之間每個(gè)速率ki(即k0﹤ki﹤k),我們可以計(jì)算
qki(n)=fa(ageki(n),perki(n))·rki
然后我們可以估計(jì)
因此,
qk(n)≤rk-rki+fa(ageki(n),perki(n))·rki
可進(jìn)行兩個(gè)更多的簡化。首先,可以消除k0(當(dāng)前速率)的限制。第二,可以結(jié)合ki=k的情況:
qk(n)=minki[rk-rki+fa(ageki(n),perki(n))·rki]
其中ki≤k?;蛘撸褂秒A段4的關(guān)系,
q7k(n)=minki[rk-rki+q4ki(n)],其中1≤ki≤k。
在數(shù)據(jù)處理系統(tǒng)中實(shí)現(xiàn)該關(guān)系需要每個(gè)k的內(nèi)部循環(huán)(從i到k)。這個(gè)公式的復(fù)雜性是0(k2),其中k是一些可用速率的數(shù)目。因此,優(yōu)化是有利的。
重寫,
q7k(n)-rk=minki[q4ki(n)-rki]
其中,1≤ki≤k,但是
minki[q4ki(n)-rki]=min[q4k(n)-rk,minki[q4ki(n)-rki]],
其中,1≤ki≤k-1,可以如下優(yōu)化
q71(n)=q41(n)
q7k(n)-rk=min[q4k(n)-rk,q7k-1(n)-rk-1]
對(duì)于任何k﹥1,或者
q71(n)=q41(n)
q7k(n)=min[q4k(n),q7k-1(n)+rk-rk-1]對(duì)于任何k﹥1。
階段7,第1部分(續(xù))。雙流速率的修改。如上所述,在一些應(yīng)用中,可在無線電之間傳送多于單個(gè)數(shù)據(jù)流。但是,上述關(guān)系僅適用于當(dāng)無線電使用相同流速率的情況。更具體地,上述關(guān)系可用于具有較高mcs索引的速率的情況,所述較高mcs索引具有每個(gè)符號(hào)的較高數(shù)量的比特,即當(dāng)(1)所有速率均已升序,以及(2)最高單流速率與最低雙流速率之間的差至少為8。例如,該關(guān)系將與速率或mcs等級(jí)mcs1,mcs9,mcs10的集合一起工作,但將不與mcs等級(jí)mcs2,mcs3,mcs9,mcs10的集合一起工作。故障發(fā)生是因?yàn)樗惴▏L試使用mcs2和mcs3上的損失估計(jì)mcs9上的最小損失。這是不正確的。
如果希望在同一算法中使用所有單流速率和所有雙流速率,則應(yīng)該修改算法以考慮單流速率和雙流速率之間的依賴性。例如,mcs11依賴于mcs10,mcs9,mcs3,mcs2,mcs1,但是不依賴于mcs4,mcs5,mcs6和mcs7。為了考慮這些依賴性,可以以下面的方式修改上述關(guān)系。
q7k(n)=q4k(n)對(duì)于k=1,
q7k(n)=min[q4k(n),q7k-1(n)+rk-rk-1]
對(duì)于任意2≤k≤7,
q7k(n)=min[q4k(n),q7k-8(n)+rk-rk-8]f
或者k=9,
q7k(n)=min[q4k(n),q7k-1(n)+rk-rk-1,q7k-8(n)+rk-rk-8]
對(duì)于任意10≤k≤15。
這個(gè)關(guān)系不是為k=0,k=8定義的。如果希望擴(kuò)展這些值的算法,則k的限制可修改如下:
q7k(n)=q4k(n)
對(duì)于k=0,
q7k(n)=min[q4k(n),q7k-1(n)+rk-rk-1]
對(duì)于任意1≤k≤7,
q7k(n)=min[q4k(n),q7k-8(n)+rk-rk-8]
對(duì)于k=8,
q7k(n)=min[q4k(n),q7k-1(n)+rk-rk-1,q7k-8(n)+rk-rk-8]
對(duì)于任意9≤k≤15.
階段7,部分2:老化速度(較低速率應(yīng)該比較高速率老化更快)。如階段2所提出的,q2k(n)值通過引入老化來調(diào)整。但是值q2k(n)仍然取決于rk值,因此更高的速率或mcs水平將比更低的速率老化更快。這是不期望的,因?yàn)樵谙嗤那闆r下當(dāng)存在許多不可接受的mcs等級(jí)時(shí),mcs15將比任何其它速率老化得更快。因此,算法將選擇mcs15,發(fā)送一些探測(cè),返回,稍后選擇mcs14,發(fā)送一些探測(cè)等。相反,期望的是從最低速率開始探測(cè),并且如果可能的話在較高速率上不重復(fù)探測(cè),如階段7,部分1中所述。
因此,應(yīng)當(dāng)確保在相同條件下,對(duì)于較低速率的老化將比對(duì)于較高速率的老化更快。因此,引入老化系數(shù)以調(diào)整每個(gè)速率的年齡值。
該關(guān)系不變:
但是參數(shù)c變?yōu)樽兞浚?/p>
其中c1是初始速率閾值。作為該閾值的默認(rèn)值的一個(gè)示例性值是100。
階段8,部分1:年齡太大和最小步驟機(jī)制。可能在延長的時(shí)間段期間沒有從無線電發(fā)送數(shù)據(jù)。在這種情況下,對(duì)于不同的速率或mcs等級(jí),幾個(gè)速率的老化可以產(chǎn)生類似的結(jié)果。但是,算法必須只選擇一個(gè)速率或mcs等級(jí),并以所選速率發(fā)送探測(cè)。但是如上文結(jié)合階段7,部分2所述,優(yōu)選在較高速率之前選擇較低的探測(cè)速率。
考慮以下邊角情況。在一段時(shí)間內(nèi),讓per1=0%,per2=100%,per3=100%,per4=100%,per5=50%。如果無線電選擇mcs5并且經(jīng)歷大量的重試,則階段4將周期性地操作以降低速率??赡馨l(fā)生的是,對(duì)于給定的per值,由于這些速率的高歷史per,無線電不能選擇mcs2、mcs3或mcs4。結(jié)果,無線電將選擇mcs1。但是如果無線電在mcs1上操作并且經(jīng)歷較少的重試次數(shù),q5肯定會(huì)高于q2,而不管mcs2是否老化??赡躴4高于q5,因此發(fā)送無線電可在其被老化的情況下選擇mcs4而不是mcs5,但是無線電不能選擇mcs2。結(jié)果,每當(dāng)無線電需要從mcs5降低速率時(shí),無線電將選擇mcs1,并且將永遠(yuǎn)不嘗試mcs2。但是可能是信道條件已經(jīng)改變,并且mcs2已經(jīng)變得可以接受。因此,期望在mcs2上進(jìn)行探測(cè)。當(dāng)重試次數(shù)高時(shí),算法不應(yīng)探測(cè)。無線電在跳下時(shí)不應(yīng)探測(cè)。因此,在一些實(shí)施例中,通過在mcs2上強(qiáng)制探測(cè)而不是選擇更高的mcs等級(jí)來完成探測(cè)。
因此,引入“min_stepping”機(jī)制來強(qiáng)制探測(cè),而不是跳到更高的速率。該機(jī)制描述如下。如果argmaxkq7k(n)選擇的新速率k(n)高于當(dāng)前速率k(n-1),則無線電應(yīng)檢查k(n)和k(n-1)之間的所有速率或mcs等級(jí)。如果這些速率中的至少一個(gè)具有過高的年齡,則算法應(yīng)該選擇該速率而不是k(n)。
為了嚴(yán)格地定義這個(gè)階段,有必要定義什么是“太老年齡”。一些實(shí)施例可以以下面的方式定義它:
如果agek(n)>too_old_age,則設(shè)置agek(n)=too_old_age
對(duì)于too_old_age,一個(gè)可能的值是2000。
此外,有必要在上面的提案中定義“更高”和“之間”的含義。為此,算法可通過比特率對(duì)所有速率進(jìn)行排序,以便基于排序順序?yàn)槊總€(gè)速率分配臨時(shí)索引,并且將具有較高臨時(shí)索引的速率考慮為高于具有較低臨時(shí)索引的速率。
如果兩個(gè)速率具有相同的比特率(例如,mcs3具有每個(gè)符號(hào)104個(gè)比特,并且mcs9也具有每個(gè)符號(hào)104個(gè)比特),則該算法可認(rèn)為單流速率高于雙流速率,因?yàn)殡p流速率的前同步碼比單流速率的前同步碼長,使得一般來說,雙流速率比具有相同比特率的單流速率更貴一點(diǎn)。
以下顯示了排序的結(jié)果:
0,8,1,2,9,3,10,4,11,5,6,7,12,13,14,15
在一個(gè)實(shí)例中,如果當(dāng)前速率是mcs9,則新選擇的速率是mcs14。但是,mcs4和mcs10都具有年紀(jì)2000。在該實(shí)例中,算法應(yīng)該選擇mcs10,因?yàn)樗谏厦娴谋碇芯哂斜萴cs4更小的索引。
階段8,部分2:探測(cè)頻率的限制。如階段6所定義,每個(gè)速率具有其自己的老化公式,因此理論上可能幾個(gè)速率同時(shí)老化或具有小的延遲。在這種情況下,算法嘗試同時(shí)進(jìn)行多個(gè)探測(cè)。如果所有老化速率都不好,則算法增加重新發(fā)送的次數(shù)。這具有增加總延遲的效果。
為了避免延遲的增加,算法引入一個(gè)或多個(gè)限制。該算法確保min_stepping機(jī)制不會(huì)太頻繁地操作。為此,該算法在從上一個(gè)min_step開始min_step_limit調(diào)度幀所定義的時(shí)間段內(nèi)禁用min_stepping機(jī)制。min_step_limit的一個(gè)實(shí)例值為10調(diào)度幀。
階段9:在第一次重試時(shí)使用per
在一些情況下,觀察到的分組錯(cuò)誤率可能在短時(shí)間段內(nèi)突然增加。在這種情況下,實(shí)現(xiàn)本方法的發(fā)送無線電將嘗試選擇另一個(gè)速率。發(fā)送無線電可能會(huì)降低速率。發(fā)送無線電將不會(huì)返回到當(dāng)前速率,直到老化機(jī)制決定在先前的速率上探測(cè)。但是,老化時(shí)間可能比干擾存在時(shí)間長得多,結(jié)果可能降低吞吐量。
為了避免吞吐量下降,減少速率的決定應(yīng)該被延遲一段時(shí)間,以首先確定觀察到的per變化持續(xù)時(shí)間是短還是長。如果觀察到的per速率變化是相對(duì)短的持續(xù)時(shí)間,則不需要降低速率。但是,如果觀察到的per變化具有相對(duì)長的持續(xù)時(shí)間,則可降低該速率。速率適配算法的階段9引入了用于解決這樣的問題的處理。階段9對(duì)于每個(gè)可能的重試次數(shù)具有不同的per值:
perretrk(n,r)=perretrk(m,r)·kold+instantperretr(r)·knew,
其中,
其中n是最大允許重試次數(shù)。
利用給定的公式perretrk(n,r),我們可以重新定義perk(n)如下:
其中,k(m)是在第m個(gè)調(diào)度周期期間被選擇用于傳輸?shù)乃俾实膍cs索引,prev_rate為先前傳輸選擇的mcs索引,m是調(diào)度循環(huán)數(shù),使得n-m≤stage9_limit,r(n)是調(diào)度循環(huán)n上的重試索引,stage9_limit是任意合適的值,例如10。
換句話說,當(dāng)(1)算法計(jì)算per的速率不是與為先前傳輸所選擇的速率相同的速率,或者(2)速率最近增加,或者(3)重試索引大于1時(shí)算法可使用perk(n)=perretrk(n,0)。否則,我們使用
perk(n)=perretrk(n,1)
可替代地,算法可對(duì)最近成功使用的速率做出偏好。
注意,對(duì)于雙流速率(或?qū)τ诜莔cs速率),可以以更復(fù)雜的形式重寫條件k(m)﹤prev_rate,以對(duì)任何給定次序的速率順序而不是mcs索引進(jìn)行比較。例如,可使用上面在階段8中定義的mcs索引的順序:0,8,1,2,9,3,10,4,11,5,6,7,12,13,14,15。使用這個(gè)順序,當(dāng)具有較低索引的項(xiàng)目被認(rèn)為小于具有較高索引的項(xiàng)目,即0<8<1<2<9等時(shí),我們假設(shè)特殊比較。
圖5是示出無線電設(shè)備中的速率選擇的方法500的流程圖。方法500可在任意合適的無線電設(shè)備中實(shí)現(xiàn)。典型的實(shí)例包括在ieee802.11nwifi系統(tǒng)中操作的無線電。這種典型的無線電包括諸如圖1中所示的ap102的接入點(diǎn)和諸如圖1中所示的sm104和sm106的訂戶模塊。方法500在示例性實(shí)施例中包括要由無線電設(shè)備執(zhí)行的一系列處理步驟。處理步驟可由執(zhí)行存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)和指令的一個(gè)或多個(gè)處理器來執(zhí)行,諸如圖2中所示的ap202的網(wǎng)絡(luò)接口208和客戶端設(shè)備204的網(wǎng)絡(luò)接口。方法步驟可依賴于相關(guān)聯(lián)的數(shù)據(jù)收集和處理活動(dòng),諸如確定接收信號(hào)強(qiáng)度指示(rssi),載波與干擾和噪聲比(cinr)和分組錯(cuò)誤率(per)。這種相關(guān)聯(lián)的數(shù)據(jù)收集可通過從遠(yuǎn)程無線電或網(wǎng)絡(luò)設(shè)備接收相關(guān)數(shù)據(jù)和信息,或通過測(cè)量無線電設(shè)備本身的信號(hào)水平或跟蹤數(shù)據(jù)來完成。例如,無線電設(shè)備可從遠(yuǎn)程無線電發(fā)送探測(cè)并接收ack和nack消息。處理ack和nack消息以產(chǎn)生統(tǒng)計(jì)。這樣的統(tǒng)計(jì)數(shù)字可能是per的指標(biāo)。
該方法開始于框502。該方法可響應(yīng)于任何合適的條件或變化而開始。例如,該方法可在無線電設(shè)備開啟并且在網(wǎng)絡(luò)上變?yōu)榛顒?dòng)時(shí)開始??商娲?,該方法可在無線電設(shè)備試圖發(fā)送分組并且需要選擇用于傳輸?shù)乃俾驶騧cs等級(jí)時(shí)開始。此外,可隨著諸如分組錯(cuò)誤率、rssi和cinr的信息被更新而連續(xù)地處理該方法。
在框505處,該方法將當(dāng)前最佳速率確定為上文所描述的變量q7k的最大值。在一個(gè)實(shí)施例中,對(duì)于任意k﹥1,q7k可推導(dǎo)為q7k(n)=min[q4k(n),q7k-1(n)-rk-rk-1]。下面討論的圖6示出了q7k計(jì)算的簡化實(shí)例。q7k值可存儲(chǔ)在陣列或矩陣中,以便于由處理器以速率值k作為索引來進(jìn)行處理。在一個(gè)實(shí)施例中,速率k對(duì)應(yīng)于ieee802.11n的mcs等級(jí)。當(dāng)該方法擴(kuò)展到其它應(yīng)用和其他技術(shù)時(shí),可使用其它速率。
在框506,執(zhí)行邏輯測(cè)試。首先,確定在框504中建立的best_rate的值是否超過正在使用的當(dāng)前速率。例如,當(dāng)前速率可以是mcs9,其可從存儲(chǔ)的數(shù)據(jù)位置讀取,并且在框504處確定的best_rate可被確定為mcs10。在框506處執(zhí)行第二邏輯測(cè)試以確定最近的探測(cè)年齡是否超過最小步長限制。
如果框506的兩個(gè)邏輯測(cè)試通過,則控制進(jìn)行到框508。在那里,將best_rate的值設(shè)置為函數(shù)min_stepping的結(jié)果,該函數(shù)min_stepping以當(dāng)前速率和在框504確定的best_rate作為自變量。上面描述了最小步進(jìn)操作以強(qiáng)制在本來可能避免的速率上進(jìn)行探測(cè)傳輸,基于老化per數(shù)據(jù)。然后控制進(jìn)行到框510。
如果框506的邏輯測(cè)試中的一個(gè)或兩個(gè)失敗,則控制直接從框506進(jìn)行到框510。在框510,用于下一個(gè)分組傳輸?shù)乃x速率是變量best_rate的值。該方法在框512結(jié)束,并且返回選擇的速率用于進(jìn)一步處理。
圖6是示出用于計(jì)算變量q7k的方法600的示例性實(shí)施例的流程圖。如上所述,該值對(duì)應(yīng)于由mcs索引k指定的特定速率或mcs等級(jí)的質(zhì)量的指示。該方法開始于框602。由于任何合適的發(fā)起事件,諸如接收到關(guān)于rssi或cinr的新的或更新的信息或者諸如需要發(fā)送分組的事件的發(fā)生,該方法可以開始操作。該方法可被實(shí)現(xiàn)為可由例如在ieee802.11n無線電通信網(wǎng)絡(luò)中操作的無線電設(shè)備的處理器訪問的一組指令和數(shù)據(jù)。但是,結(jié)合附圖示出和描述的技術(shù)也可以擴(kuò)展到其他設(shè)備和系統(tǒng)。
在框604,該方法通過檢索關(guān)于由無線電設(shè)備經(jīng)歷的分組錯(cuò)誤率的所存儲(chǔ)的歷史數(shù)據(jù)而開始。在操作的一個(gè)方面,無線電設(shè)備例行地確定正在使用的每個(gè)數(shù)據(jù)速率k的分組錯(cuò)誤率。如所指出的,數(shù)據(jù)速率k可指在802.11n系統(tǒng)中使用的mcs索引。因此,存儲(chǔ)的per數(shù)據(jù)可包括由時(shí)間戳或數(shù)據(jù)的年齡的其他指示存儲(chǔ)的數(shù)據(jù)的陣列并且以速率k存儲(chǔ)??墒褂萌魏魏线m的技術(shù)來確定per數(shù)據(jù)。在一個(gè)示例性技術(shù)中,無線電設(shè)備發(fā)送探測(cè)傳輸并且確定探測(cè)傳輸是否被可靠地接收。在一個(gè)具體的實(shí)施例中,使用自動(dòng)重復(fù)請(qǐng)求(arq)機(jī)制,其中可監(jiān)視由無線電設(shè)備通過無線介質(zhì)發(fā)送的分組以用于接收。預(yù)期的接收機(jī)以ack傳輸、nack傳輸或根本沒有傳輸進(jìn)行響應(yīng),提供接收成功的指示,并因此提供分組錯(cuò)誤率的指示。
在框606,該方法針對(duì)每個(gè)相應(yīng)速率k檢索關(guān)于per數(shù)據(jù)的年齡的所存儲(chǔ)的歷史數(shù)據(jù)。數(shù)據(jù)定義自從更新每個(gè)速率或mcs索引的per數(shù)據(jù)以來的時(shí)間。可以以任何合適的方式存儲(chǔ)和檢索數(shù)據(jù)。
在框608,對(duì)于每個(gè)速率k進(jìn)行關(guān)于per數(shù)據(jù)的年齡的邏輯確定。在第一邏輯測(cè)試中,確定在框606檢索的年齡數(shù)據(jù)是否被認(rèn)為太老。將每個(gè)速率k的年齡值與標(biāo)記為too_old_age的閾值進(jìn)行比較。任何值都可以用于該閾值。實(shí)例值為2000。
進(jìn)一步地,在框608,進(jìn)行關(guān)于最小步進(jìn)過程的邏輯確定。如上所述,為了消除延遲的問題,該方法的實(shí)施例確保不太頻繁地執(zhí)行最小步進(jìn)過程。因此,將標(biāo)記為last_probe_age的任何速率的最近探測(cè)的年齡的值與標(biāo)記為min_step_limit的閾值進(jìn)行比較。任何合適的值,諸如10個(gè)調(diào)度幀可用于min_step_limit。
如果滿足框608的兩個(gè)邏輯確定,則控制前進(jìn)到框610。對(duì)于給定速率k,如果其per數(shù)據(jù)匹配過老的閾值,并且如果對(duì)任何速率的最近探測(cè)比最小步進(jìn)限制更近,這將為真。如果這些條件都為真,則在框610,將q7k的值設(shè)置為值0或確保不選擇速率的其他值。
如果框608的邏輯確定失敗,則控制進(jìn)行到框612。在框612,評(píng)估函數(shù)fa以基于速率k的per數(shù)據(jù)的老化來確定給予速率k的權(quán)重。以上指定了fa的示例性關(guān)系。也可以使用其他關(guān)系。
在框614,針對(duì)速率k確定函數(shù)fr。函數(shù)fr使用重試索引來確定在發(fā)送給定幀時(shí)已進(jìn)行了多少次重試。上面指定了fr的示例性關(guān)系。
在框616處,確定值q4k。該項(xiàng)表示由mcs索引k指定的mcs等級(jí)或特定速率的權(quán)重的指示,考慮速率k的老化和重試數(shù)據(jù)。以上提供了用于確定值q4k的示例性關(guān)系。
隨后,使用值q4k,在框618處確定值q7k。這可使用圖6中所示的公式來確定。因此,基于在速率k上評(píng)估的速率的值、所評(píng)估的速率以及表示當(dāng)前速率k0和速率k之間的所有速率的速率i以及在框616中確定的q4k來選擇q7k的值。返回q7k的值,并且圖6的方法600在框620結(jié)束。
圖7是示出用于確定與圖5的速率選擇方法一起使用的最小步進(jìn)過程的方法700的示例性實(shí)施例的流程圖。在per數(shù)據(jù)老化并且可能不再可靠的情況下,最小步進(jìn)過程可能是有用的。在某些條件下,存儲(chǔ)的per數(shù)據(jù)將提示速率適配算法選擇更高的速率。由于per數(shù)據(jù)老化,可能期望選擇具有老化數(shù)據(jù)和探測(cè)的速率以確定當(dāng)前per信息。但是,如上所述,探測(cè)較低數(shù)據(jù)速率可能優(yōu)于探測(cè)較高數(shù)據(jù)速率。最小步進(jìn)程序操作用于以較低速率而不是選擇較高速率進(jìn)行強(qiáng)制探測(cè)。
方法700在框702處開始。方法700可實(shí)現(xiàn)為可由例如在ieee802.11n無線電通信網(wǎng)絡(luò)中操作的無線電設(shè)備的處理器訪問的一組指令和數(shù)據(jù)。但是,結(jié)合附圖示出和描述的技術(shù)也可以擴(kuò)展到其他設(shè)備和系統(tǒng)。該方法可由于任何適當(dāng)?shù)那闆r而開始。一個(gè)實(shí)例可以是存儲(chǔ)在無線電設(shè)備處的分組錯(cuò)誤率數(shù)據(jù)的老化以及探測(cè)新的per數(shù)據(jù)的確定的需要。
在框704,將可變temp_rate設(shè)置為等于當(dāng)前數(shù)據(jù)速率,其可以是當(dāng)前mcs索引值。在框706,變量temp_rate用于檢索關(guān)于當(dāng)前速率的關(guān)于per數(shù)據(jù)的年齡的存儲(chǔ)的歷史數(shù)據(jù)。存儲(chǔ)的數(shù)據(jù)定義從值temp_rate定義的速率或mcs索引的per數(shù)據(jù)的上次更新以來的時(shí)間??梢砸匀魏魏线m的方式存儲(chǔ)和檢索數(shù)據(jù)。
在框708,對(duì)在框706檢索的年齡數(shù)據(jù)的per數(shù)據(jù)的年齡進(jìn)行邏輯確定。確定在框706檢索的年齡數(shù)據(jù)是否被認(rèn)為太老。將當(dāng)前速率的年齡值與標(biāo)記為too_old_age的閾值進(jìn)行比較。任何值都可用于該閾值。實(shí)例值為2000。
如果框708的邏輯確定推斷年齡值不是閾值too_old_age,則在框710處,確定變量temp_rate的當(dāng)前值是否被設(shè)置為等于變量best_rate的值。如果否,則控制進(jìn)行到框714,其中,將變量temp_rate設(shè)置為過程nextrate的結(jié)果,過程nextrate使用temp_rate的當(dāng)前值作為自變量。過程nextrate需要有序列表或多個(gè)速率,并操作為從列表中選擇下一個(gè)速率。在具有單流和雙流mcs速率的系統(tǒng)中,它可使用上面結(jié)合單流速率和雙流速率描述的數(shù)據(jù)陣列。在一個(gè)實(shí)例中,nextrate(4)=11,nextrate(7)=12,nextrate(12)=13。在僅具有單流速率的系統(tǒng)中,該過程可僅選擇下一mcs索引。例如,nextrate(4)=5,nextrate(6)=7。在具有另一組速率的系統(tǒng)中,例如非802.11n系統(tǒng),它應(yīng)該使用自己的速率列表來確定nextrate是什么。然后,控制返回到框706,其中檢索temp_rate的新值的年齡數(shù)據(jù)。
如果在框708處得出結(jié)論,所檢索的年齡數(shù)據(jù)被設(shè)置為等于閾值too_old_age,則在框716,將變量best_rate的值被設(shè)置為等于temp_rate的當(dāng)前值。返回該值,并且過程在框720處結(jié)束。如上所述,如果由argmaxkq7k(n)選擇的新速率k(n)高于當(dāng)前速率,則無線電設(shè)備應(yīng)該檢查所選擇的新速率k(n)和當(dāng)前速率k(n-1)之間的所有速率或mcs等級(jí),其中n標(biāo)識(shí)幀。如果這些中間速率中的至少一個(gè)具有過高的年齡,則算法應(yīng)該選擇該速率而不是k(n)作為使用的最佳速率。
另一方面,如果在框710處,如果確定變量temp_rate的當(dāng)前值已經(jīng)等于變量best_rate的值,則返回值best_rate,并且過程在框720處結(jié)束。
從前述內(nèi)容可以看出,當(dāng)前公開的實(shí)施例提供了用于無線電設(shè)備中的改進(jìn)的速率掃描算法的方法和裝置。用于速率適配算法的方法探測(cè)不同的數(shù)據(jù)速率或mcs等級(jí),以了解在特定時(shí)間使用什么最佳mcs等級(jí)。該方法包括基于對(duì)探測(cè)的響應(yīng)來確定mcs等級(jí)的成功百分比??商綔y(cè)所有mcs等級(jí),或者可探測(cè)mcs等級(jí)的子集。該方法還包括確定每個(gè)mcs的估計(jì)吞吐量。進(jìn)一步地,該方法包括選擇給出鏈路的最大吞吐量的mcs等級(jí)。
所公開的方法和裝置允許針對(duì)無線電設(shè)備可在其中操作的任何類型的環(huán)境(諸如僅鏈路預(yù)算約束、僅干擾源約束或鏈路預(yù)算和干擾源的某種組合)確定正確的mcs。使用老化機(jī)制來增加對(duì)于長時(shí)間沒有使用的那些mcs等級(jí)的速率權(quán)重。
所公開的速率適配算法可在未傳遞的分組的數(shù)量開始增長的情況下采用強(qiáng)制更穩(wěn)健的mcs速率(即,具有最低per的mcs速率)的機(jī)制。這允許損耗敏感和延遲敏感的協(xié)議(例如傳輸控制協(xié)議tcp)在高干擾條件下更可靠地工作。此外,所公開的速率適配算法包含當(dāng)長時(shí)間沒有流量時(shí)的情況的特殊處理。
上述方法、設(shè)備、處理和邏輯可以以許多不同的方式以及硬件和軟件的許多不同組合來實(shí)現(xiàn)。例如,全部或部分實(shí)現(xiàn)可以是包括指令處理器(諸如中央處理單元(cpu)、微控制器或微處理器)的電路;專用集成電路(asic)、可編程邏輯器件(pld)或現(xiàn)場(chǎng)可編程門陣列(fpga);或包括離散邏輯或其它電路組件(包括模擬電路組件、數(shù)字電路組件或兩者)的電路;或其任何組合。該電路可包括離散的互連硬件組件和/或可組合在單個(gè)集成電路管芯上,分布在多個(gè)集成電路管芯中,或者在共同封裝中的多個(gè)集成電路管芯的多芯片模塊(mcm)中實(shí)現(xiàn),作為實(shí)例。
電路可進(jìn)一步包括或訪問用于由電路執(zhí)行的指令。指令可存儲(chǔ)在諸如閃存、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦除可編程只讀存儲(chǔ)器(eprom)之類的除暫時(shí)信號(hào)之外的有形存儲(chǔ)介質(zhì)中;或在諸如壓縮盤只讀存儲(chǔ)器(cdrom)、硬盤驅(qū)動(dòng)器(hdd)或其他磁盤或光盤的磁盤或光盤上;或在另一機(jī)器可讀介質(zhì)中或上。諸如計(jì)算機(jī)程序產(chǎn)品的產(chǎn)品可包括存儲(chǔ)介質(zhì)和存儲(chǔ)在介質(zhì)中或介質(zhì)上的指令,并且當(dāng)由設(shè)備中的電路執(zhí)行時(shí),指令可使得設(shè)備實(shí)現(xiàn)上述或圖中所示的任何處理。
實(shí)施方式可以作為多個(gè)系統(tǒng)組件之間的電路分布,諸如在多個(gè)處理器和存儲(chǔ)器之間,可選地包括多個(gè)分布式處理系統(tǒng)。參數(shù)、數(shù)據(jù)庫和其他數(shù)據(jù)結(jié)構(gòu)可被單獨(dú)存儲(chǔ)和管理,可合并到單個(gè)存儲(chǔ)器或數(shù)據(jù)庫中,可以以許多不同的方式在邏輯上和物理上組織,并且可以以許多不同的方式實(shí)現(xiàn),包括作為數(shù)據(jù)結(jié)構(gòu),諸如鏈接列表、哈希表、陣列、記錄、對(duì)象或隱式存儲(chǔ)機(jī)制。程序可以是單個(gè)程序的部分(例如,子程序),單獨(dú)的程序,分布在多個(gè)存儲(chǔ)器和處理器上,或以許多不同的方式實(shí)現(xiàn),諸如在庫中,諸如共享庫(例如,動(dòng)態(tài)鏈接庫dll)。例如,當(dāng)由電路執(zhí)行時(shí),dll可存儲(chǔ)執(zhí)行上述或附圖中所示的任何處理的指令。
已經(jīng)具體描述了各種實(shí)施方式。但是,許多其他實(shí)施方式也是可能的。進(jìn)一步地,所公開的方法和裝置的各個(gè)方面已經(jīng)被描述為具有指定數(shù)量的階段。應(yīng)當(dāng)注意,這些描述性方面僅被包括用于討論,并且不應(yīng)當(dāng)?shù)贸鲞M(jìn)一步的結(jié)論。與每個(gè)階段或其他描述性方面相關(guān)聯(lián)的操作可以以任何合適的順序執(zhí)行,并且不意圖或暗示其他順序。因此,前述詳細(xì)描述被認(rèn)為是說明性的而不是限制性的,并且應(yīng)當(dāng)理解,旨在限定本發(fā)明的精神和范圍的是所附權(quán)利要求,包括所有等同物。