孫中杰
(南京矽力微電子技術(shù)有限公司,江蘇 南京 210042)
近幾十年,隨著互聯(lián)網(wǎng)應(yīng)用的爆炸式增長,新興的小型化互聯(lián)網(wǎng)設(shè)備也越來越多。這些小型化互聯(lián)網(wǎng)設(shè)備,大多具備云端通信、語音識(shí)別、自組網(wǎng)等功能,進(jìn)一步提高了人們的生活質(zhì)量。物聯(lián)網(wǎng)應(yīng)用需要多種通信技術(shù),其中低功耗藍(lán)牙(Bluetooth Low Energy, BLE)作為一種重要的短程無線電技術(shù),在物聯(lián)網(wǎng)中發(fā)揮著不可或缺的作用。
BLE是一種節(jié)能、低功耗、低成本、不太復(fù)雜的短程無線電技術(shù),設(shè)計(jì)之初被用于輕量級的短程數(shù)據(jù)交換。BLE在各個(gè)應(yīng)用領(lǐng)域具有適用性,因此獲得了很大范圍的普及。2006年,BLE由諾基亞首次引入,并在2010年被添加到藍(lán)牙4.0核心規(guī)范中。此后多個(gè)版本被標(biāo)準(zhǔn)化,BLE的整體性能也在版本的升級中得到優(yōu)化。Bluetooth Special Interest Group(SIG)于2016年發(fā)布了BLE 5.0版本,并于2021年發(fā)布了BLE 5.3版本,以滿足即將到來的物聯(lián)網(wǎng)應(yīng)用浪潮的多功能需求。BLE 5.0藍(lán)牙規(guī)范不像以前的版本(藍(lán)牙規(guī)范4.2)只提供1 Mb/s的數(shù)據(jù)速率,而是新增了三個(gè)速率選項(xiàng):2 Mb/s、500 Kb/s和125 Kb/s。其中后兩者與物理層編碼相結(jié)合,雖然犧牲了數(shù)據(jù)通信的吞吐量,但是提高了通信可靠性。此外,BLE 5.0藍(lán)牙規(guī)范還將最大傳輸功率從10 dBm提高到20 dBm。實(shí)際應(yīng)用中,由于BLE 5.0的通信速率和傳輸功率有了更多選擇,可以對這兩個(gè)參數(shù)進(jìn)行自適應(yīng)控制,能夠在不犧牲通信質(zhì)量的情況下進(jìn)一步提高系統(tǒng)的整體性能,同時(shí)降低系統(tǒng)的功耗。
然而,目前關(guān)于BLE 5.0的速率自適應(yīng)控制算法的研究較少。Badihi等人研究了BLE 5.0中的多個(gè)速率在實(shí)際辦公環(huán)境中的傳輸效率,包括通信的吞吐量和功耗等性能。Bocker等人從跳頻算法等方面,論證了BLE 5.0對復(fù)雜通信場合的適用性。Karvonen等人通過nRF52840實(shí)物測試,得出了BLE 5.0與BLE 4.0的性能評估數(shù)據(jù)。Pau等人提出了一種基于模糊邏輯的優(yōu)化方案,通過使用模糊邏輯控制器改變傳輸功率來管理BLE 5.0中的功耗。Sheikh等人著重分析了BLE 5.0中不同PHY模式速率之間的權(quán)衡及其對功耗和吞吐量的影響。以上研究重點(diǎn)論證了BLE 5.0新的突出性能,并沒有針對其新特性進(jìn)行過多的優(yōu)化研究。尤其在BLE 5.0數(shù)據(jù)速率有更多選擇的情況下,關(guān)于如何利用速率和功率進(jìn)行自適應(yīng)控制的研究并不多。
本文提出一種基于RSSI門限的BLE速率自適應(yīng)算法,通過RSSI門限動(dòng)態(tài)選擇BLE的發(fā)射功率和速率,自適應(yīng)地選擇最優(yōu)速率進(jìn)行通信,從而提高系統(tǒng)的吞吐量。同時(shí)在高吞吐量區(qū)域使用發(fā)射功率控制,以此來降低BLE的功耗。
在BLE 4.0協(xié)議中,設(shè)備的傳輸速率恒定為1 Mb/s。在BLE 5.0協(xié)議中,設(shè)備的傳輸速率變?yōu)樗姆N:1 Mb/s、2 Mb/s、500 Kb/s、125 Kb/s。
根據(jù)香農(nóng)定理:
其中:是信道容量;是信道帶寬;SNR是信噪比。
由于部分新加的低速率(500 Kb/s、125 Kb/s)比原有的1 Mb/s速率低,根據(jù)香農(nóng)定理得出,原有設(shè)備的發(fā)射功率會(huì)低于低速率設(shè)備的發(fā)射功率。
在BLE 5.0藍(lán)牙規(guī)范中,提出了速率切換的基本方式,即通過PHY Update Procedure進(jìn)行速率切換?;镜那袚Q流程如圖1所示,兩個(gè)設(shè)備進(jìn)入連接狀態(tài)后,由其中的一個(gè)設(shè)備發(fā)起PHY Update Procedure流程,首先發(fā)送LL_PHY_REQ包,用來告知對方其希望切換的通信速率;接收方通過回復(fù)LL_PHY_RSP包告知是否支持該通信速率;最后通過LL_PHY_UPDATE_IND完成雙方的速率切換,使得雙方設(shè)備能夠順利切換到新的通信速率。
圖1 PHY Update Procedure速率切換流程
PHY Update Procedure能夠完成多種速率的切換,但是在切換之前必須保證雙方設(shè)備都能夠支持即將切換到的通信速率。在不同的環(huán)境中,例如雙方設(shè)備距離不同時(shí),可以動(dòng)態(tài)地使用該流程進(jìn)行速率切換,保證通信雙方擁有最優(yōu)的通信吞吐率。
在BLE 5.0藍(lán)牙規(guī)范中,還提出了功率控制的基本方式,即通過Power Control Request Procedure進(jìn)行功率控制。流程如圖2所示,即通過LL_POWER_CONTROL_REQ和LL_POWER_CONTROL_RSP的交互,讓設(shè)備雙方在保證通信質(zhì)量的前提下,盡可能減小發(fā)射功率。
圖2 Power Control Request Procedure流程
本文在上述兩種流程的基礎(chǔ)上,提出了一種基于RSSI門限的BLE速率自適應(yīng)算法,具體流程如圖3所示。該算法首先獲取處于連接狀態(tài)的對方設(shè)備RSSI值,然后根據(jù)設(shè)置好的RSSI門限值進(jìn)行速率的選擇。如果當(dāng)前RSSI值在RSSI_500K的門限之下,則選擇125 Kb/s的傳輸速率;如果當(dāng)前RSSI值在RSSI_500K的門限和RSSI_1M門限之間,則選擇500 Kb/s的傳輸速率;如果當(dāng)前RSSI值在RSSI_1M的門限和RSSI_2M門限之間,則選擇1 Mb/s的傳輸速率;如果當(dāng)前RSSI值在RSSI_2M的門限之上,則選擇2 Mb/s的傳輸速率,同時(shí)進(jìn)行設(shè)備之間的功率控制。需要注意的是,每個(gè)速率選擇前應(yīng)該維持當(dāng)前速率一段時(shí)間,確保RSSI值在這段時(shí)間內(nèi)沒有區(qū)域的變化。該速率自適應(yīng)算法能夠保證在RSSI值的變化中,達(dá)到連接設(shè)備之間通信吞吐量的最大化。
圖3 基于RSSI門限的BLE速率自適應(yīng)算法流程
本算法在RSSI_2M門限選擇的基礎(chǔ)之上,添加了功率控制的算法,即在設(shè)備之間距離較近時(shí),此時(shí)設(shè)備通信的吞吐量基本趨于極限。此時(shí)可以適當(dāng)降低設(shè)備的發(fā)射功率,只要能夠維持吞吐量極限即可。通過降低設(shè)備的發(fā)射功率,能夠降低設(shè)備的功耗,同時(shí)也能降低對周圍設(shè)備的干擾。
本文選用nRF52840芯片作為實(shí)驗(yàn)芯片,nRF52840符合BLE 5.0標(biāo)準(zhǔn),能夠完成PHY Update Procedure等多個(gè)流程的實(shí)施。表1給出了實(shí)驗(yàn)時(shí)nRF52840的基本參數(shù)配置。
表1 nRF52840實(shí)驗(yàn)參數(shù)一覽表
圖4反映了nRF52840芯片在不同的速率下, 其傳輸功率和功耗的關(guān)系。在同樣的傳輸功率下,采用2 Mb/s的速率進(jìn)行通信時(shí),具備最低的功耗;而采用125 Kb/s的速率進(jìn)行通信時(shí),具備最高的功耗。同時(shí)在傳輸速率固定的情況下,傳輸功率越大,其消耗的能量也越大。
圖4 nRF52840芯片傳輸功率和功耗的關(guān)系
圖5給出了傳統(tǒng)單一速率下RSSI值與吞吐量的關(guān)系。由圖可以看出,在RSSI大于-83 dBm時(shí),2 Mb/s的吞吐量最優(yōu);在RSSI位于-83~-90 dBm時(shí),1 Mb/s的吞吐量最優(yōu);在RSSI位于-90~-98 dBm時(shí),500 Kb/s的吞吐量最優(yōu);在RSSI小于-98 dBm時(shí),125 Kb/s的吞吐量最優(yōu)。同時(shí),在RSSI大于-55 dBm時(shí),設(shè)備吞吐量變化也不大,即使RSSI變大,也不會(huì)大幅度提高設(shè)備的吐吞量。
圖5 單一速率下RSSI與吞吐量的關(guān)系
根據(jù)圖5,本文算法選取RSSI_2M值為-83 dBm,RSSI_1M值 為-90 dBm,RSSI_500K值 為-98 dBm,RSSI_2M_POWER值為-55 dBm。
圖6為采用本文算法在nRF52840芯片上測試出的 RSSI與吞吐量的關(guān)系。從圖中可以看出,RSSI值在RSSI_500K的門限之下,則選擇125 Kb/s的傳輸速率;如果當(dāng)前RSSI值在RSSI_500K的門限和RSSI_1M門限之間,則選擇500 Kb/s的傳輸速率;如果當(dāng)前RSSI值在RSSI_1M的門限和RSSI_2M門限之間,則選擇1 Mb/s的傳輸速率;如果當(dāng)前RSSI值在RSSI_2M的門限之上,則選擇2 Mb/s的傳輸速率,同時(shí)進(jìn)行設(shè)備之間的功率控制。功率控制的門限為-55 dBm,此時(shí)設(shè)備進(jìn)行發(fā)射功率調(diào)整,只要能夠維持吞吐量極限即可。從圖中還可以看出,最高的吞吐量可達(dá)318 Kb/s。
圖6 速率自適應(yīng)算法下 RSSI和吞吐量的關(guān)系
通過測試數(shù)據(jù)可知,本文提出的速率自適應(yīng)算法能夠在RSSI變化的情況下,動(dòng)態(tài)選擇最優(yōu)的速率進(jìn)行通信,以此保證通信的吞吐量最大。
本文在目前傳統(tǒng)單一速率通信的基礎(chǔ)上,提出一種基于RSSI門限的BLE速率自適應(yīng)算法,通過RSSI門限動(dòng)態(tài)選擇BLE的發(fā)射功率和速率,自適應(yīng)地選擇最優(yōu)速率進(jìn)行通信,從而提高系統(tǒng)的吞吐量。同時(shí)在高吞吐量區(qū)域使用功率控制,能夠降低BLE的功耗;并且通過nRF52840芯片進(jìn)行實(shí)際測試。通過測試數(shù)據(jù)來看,算法能夠達(dá)到預(yù)期效果,在-40 dBm情況下保持318 Kb/s的吞吐量。