余 婷,顧 浩,胡 靜,宋鐵成,沈連豐
(東南大學(xué)信息科學(xué)與工程學(xué)院,江蘇南京 2100096)
由于通信行業(yè)的迅速發(fā)展,頻譜資源緊張的問(wèn)題日益嚴(yán)重,如何提高頻譜利用率成為人們非常關(guān)注的技術(shù)問(wèn)題。J.Mitola博士提出的認(rèn)知無(wú)線電CR(Cognitive Radio)作為一種新型的頻譜共享技術(shù),通過(guò)智能感知并機(jī)會(huì)式利用授權(quán)頻段中的頻譜空穴(即已分配給授權(quán)用戶但未被其占用的空閑頻譜),實(shí)現(xiàn)了不可再生頻譜資源的再次利用。為有效解決當(dāng)今無(wú)線網(wǎng)絡(luò)資源緊張與頻譜利用率不高這一矛盾開辟了新的領(lǐng)域[1-3]。
頻譜感知是認(rèn)知無(wú)線電系統(tǒng)采用機(jī)會(huì)頻譜接入方式與主用戶共享的基礎(chǔ)。通過(guò)頻譜感知,認(rèn)知設(shè)備可以判斷特定頻段內(nèi)的信號(hào)是有效信號(hào)還是隨機(jī)波動(dòng)的噪聲,從而確定這一頻段是否正在被主用戶或其他次用戶使用。只有授權(quán)頻段處于空閑狀態(tài)時(shí),次用戶才可以動(dòng)態(tài)接入該頻段。通過(guò)頻譜感知獲得信息,保證了次用戶無(wú)沖突地接入授權(quán)空閑頻段。
在電磁頻譜感知的教學(xué)中,學(xué)生主要做仿真研究,集中在認(rèn)知無(wú)線電物理層和MAC層的關(guān)鍵技術(shù)、協(xié)議體系結(jié)構(gòu)、應(yīng)用場(chǎng)景分析等方面,沒(méi)有應(yīng)用化的教學(xué)實(shí)驗(yàn)系統(tǒng)出現(xiàn)。因此,在以往的教學(xué)中,學(xué)生無(wú)法獲得對(duì)頻譜感知過(guò)程的直觀認(rèn)識(shí)。為了提高教學(xué)效果,本文應(yīng)用認(rèn)知無(wú)線電的思想設(shè)計(jì)了一個(gè)教學(xué)實(shí)驗(yàn)平臺(tái),動(dòng)態(tài)演示無(wú)線網(wǎng)絡(luò)中非授權(quán)用戶的智能接入過(guò)程,并加入載波檢測(cè)和算法控制,使原理得以清晰完整的呈現(xiàn),有效輔助理論教學(xué)。
電磁頻譜感知教學(xué)實(shí)驗(yàn)系統(tǒng)總體方案框圖如圖1所示。圖中F1是授權(quán)用戶的授權(quán)頻率;CR表示非授權(quán)用戶,CR-TX為非授權(quán)用戶的發(fā)送方,網(wǎng)絡(luò)中非授權(quán)用戶的智能接入功能由其完成;CR-RX為非授權(quán)用戶的接收方,其主要任務(wù)是準(zhǔn)確接收來(lái)自發(fā)送方的數(shù)據(jù)。圖中Fn為可變頻率,在授權(quán)用戶沒(méi)有使用F1時(shí),CR用戶可以使用F1,否則,CR用戶應(yīng)避開這個(gè)頻率。
圖1 電磁頻譜感知教學(xué)實(shí)驗(yàn)系統(tǒng)總體方案框圖
CR-TX與CR-RX為本實(shí)驗(yàn)系統(tǒng)的硬件平臺(tái),它們的內(nèi)部結(jié)構(gòu)相同,都是由PC、LCD、控制器及射頻模塊組成。LCD用于顯示當(dāng)前射頻模塊的天線狀況和工作頻道等信息。PC用于將數(shù)據(jù)分成小的數(shù)據(jù)包,并將數(shù)據(jù)發(fā)送至控制器中或?qū)⑸漕l模塊接收到的數(shù)據(jù)包整合成原始數(shù)據(jù)。另外,PC的上位機(jī)軟件可以直觀的演示頻譜感知及頻譜的動(dòng)態(tài)分配過(guò)程。控制器負(fù)責(zé)控制射頻模塊的工作狀態(tài),并完成頻譜感知算法的實(shí)現(xiàn)。射頻模塊完成數(shù)據(jù)的發(fā)送、接收及各頻道的能量感知。
硬件平臺(tái)由 PC、LCD、控制器(STC89C516)及射頻模塊(CC2500)組建而成,如圖2所示。由于本次研究的頻率是2.4GHz免許可申請(qǐng)頻段,所以選用了低功耗、可工作在ISM頻段的CC2500射頻發(fā)射模塊。為了直觀非授權(quán)用戶的工作狀態(tài),硬件上添加了LCD液晶顯示器,同時(shí)與PC機(jī)結(jié)合形成良好的人機(jī)交互界面。非授權(quán)用戶智能接入的功能需要一個(gè)微處理器進(jìn)行處理和控制,課題中選用了STC89C516型號(hào)單片機(jī)。該型號(hào)單片機(jī)龐大的內(nèi)存空間為以后系統(tǒng)擴(kuò)展提供了方便,滿足了設(shè)計(jì)的需要。
STC89C516主要通過(guò)P2口來(lái)操作CC2500內(nèi)部寄存器,使其工作于不同的工作狀態(tài)下。STC89C516與CC2500物理接口由兩個(gè)通用輸出口(GDO0和GDO2)和1個(gè)四線制的SPI接口(SI、SO、SCLK和CSN)組成。通用輸出口GD0配置為發(fā)送/接收狀態(tài)輸出,用來(lái)指示數(shù)據(jù)發(fā)送/接收的開始和結(jié)束。GDO2配置為對(duì)當(dāng)前設(shè)置的頻率段進(jìn)行頻譜檢測(cè),以確定頻譜空洞和選擇最佳載波頻率。SPI口實(shí)現(xiàn)CC2500的配置和數(shù)據(jù)傳輸,其中SCLK由STC89C516提供,作為串行數(shù)據(jù)傳輸?shù)耐綍r(shí)鐘,SI和SO分別為CC2500的數(shù)據(jù)輸入和輸出接口,CSN是片選信號(hào),在SPI接口數(shù)據(jù)傳輸中,CSN必須保持低電平[4]。
圖2 頻譜感知教學(xué)實(shí)驗(yàn)系統(tǒng)的硬件框圖
本實(shí)驗(yàn)系統(tǒng)的軟件平臺(tái)由通信協(xié)議及頻譜感知順序優(yōu)化算法構(gòu)成。
通信協(xié)議主要包括數(shù)據(jù)幀格式的設(shè)計(jì)、數(shù)據(jù)發(fā)送協(xié)議及數(shù)據(jù)接收協(xié)議,如圖3所示。
頻譜感知順序優(yōu)化算法是基于固定感知順序的感知不能夠動(dòng)態(tài)適應(yīng)無(wú)線信道動(dòng)態(tài)變化的特性,為了有效地減少切換延遲而提出的一種確定較為合理的信道感知順序的算法。
1)自定義數(shù)據(jù)通信協(xié)議
由于認(rèn)知無(wú)線電技術(shù)具有動(dòng)態(tài)智能的特點(diǎn),因而要求通信協(xié)議能自適應(yīng)終端變動(dòng)和無(wú)線環(huán)境變動(dòng)而帶來(lái)的可用頻譜資源的動(dòng)態(tài)變化。尤其是不能因?yàn)榭捎妙l譜資源的改變而長(zhǎng)時(shí)間中斷非授權(quán)用戶的正常通信,讓非授權(quán)用戶在授權(quán)用戶的頻率空隙間選擇一個(gè)頻率作為自己的通信頻率。為了保證其通信的可靠性,我們采用了數(shù)據(jù)通信協(xié)議中最基本的停等協(xié)議,即每發(fā)送一幀數(shù)據(jù)都要在等到應(yīng)答幀之后才能發(fā)送下一幀數(shù)據(jù),數(shù)據(jù)幀格式如圖4所示。為了避免停等協(xié)議中數(shù)據(jù)幀重發(fā)冗余的問(wèn)題,發(fā)送方為每幀數(shù)據(jù)編上一個(gè)序號(hào)。接收方通過(guò)數(shù)據(jù)序號(hào)的判斷,以確保接收當(dāng)前的數(shù)據(jù)幀[5]。
圖3 電磁頻譜感知實(shí)驗(yàn)系統(tǒng)的軟件模塊
圖4 數(shù)據(jù)幀格式
2)發(fā)送方的數(shù)據(jù)發(fā)送和協(xié)議解析
在初始化完成之后,發(fā)送方需要對(duì)各個(gè)頻道依次進(jìn)行頻譜感知,建立信道狀態(tài)圖。CC2500芯片內(nèi)部對(duì)信道的估計(jì)通過(guò)對(duì)RSSI和門限值進(jìn)行比較來(lái)實(shí)現(xiàn)。一旦RSSI高于門限值,CC2500就認(rèn)為信道忙,載波偵聽輸出引腳GDO2就會(huì)由低電平變?yōu)楦唠娖健iT限可以通過(guò)相應(yīng)的寄存器進(jìn)行配置,選擇一個(gè)合適的門限值至關(guān)重要。本文綜合考慮了發(fā)送功率、傳輸距離和數(shù)據(jù)速率等因素,通過(guò)測(cè)試調(diào)整確定了合適的門限。
信道狀態(tài)圖建立好以后,根據(jù)感知順序確定一個(gè)最佳空閑信道。最佳空閑信道找到后,發(fā)送方接著發(fā)送握手信息。在沒(méi)有收到對(duì)方應(yīng)答信號(hào)之前,發(fā)送方會(huì)一直處在握手狀態(tài)。收到對(duì)方的應(yīng)答信號(hào)之后,發(fā)送方才進(jìn)入數(shù)據(jù)發(fā)送階段。在這個(gè)階段中,發(fā)送方通過(guò)GDO0引腳監(jiān)測(cè)發(fā)送狀態(tài),當(dāng)同步字節(jié)發(fā)送完畢,GDO0引腳由低電平變?yōu)楦唠娖?,一幀?shù)據(jù)發(fā)送完畢又變?yōu)榈碗娖剑?]。另外,發(fā)送方每發(fā)完一幀數(shù)據(jù)后都要對(duì)當(dāng)前使用的中心頻率進(jìn)行檢測(cè)。若檢測(cè)到授權(quán)用戶仍然沒(méi)有使用該頻率,則發(fā)送方繼續(xù)發(fā)送剩余數(shù)據(jù),直到數(shù)據(jù)傳送完畢。若發(fā)送方檢測(cè)到當(dāng)前中心頻率正被授權(quán)用戶使用,則應(yīng)及時(shí)避開這個(gè)頻點(diǎn),根據(jù)頻譜感知順序優(yōu)化算法重新尋找新的頻譜空隙建立起通信系統(tǒng)。發(fā)送方狀態(tài)轉(zhuǎn)換如圖5所示。
CC2500的發(fā)送緩沖區(qū)只有64字節(jié),如果待發(fā)送數(shù)據(jù)幀長(zhǎng)度超過(guò)了64字節(jié),發(fā)送方就要將數(shù)據(jù)分多次寫入發(fā)送緩沖區(qū)。為了防止溢出或發(fā)空,要實(shí)時(shí)監(jiān)測(cè)發(fā)送緩存區(qū)的狀態(tài)。當(dāng)發(fā)送緩存區(qū)的數(shù)據(jù)量低于某個(gè)門限值時(shí),發(fā)送方應(yīng)及時(shí)向發(fā)送緩沖區(qū)補(bǔ)充數(shù)據(jù)避免發(fā)空(寫數(shù)據(jù)速率比發(fā)送速率快),為了防止溢出,應(yīng)限制每次寫入的數(shù)據(jù)量。
圖5 發(fā)送方狀態(tài)轉(zhuǎn)換圖
3)接收方的數(shù)據(jù)接收和協(xié)議解析
在沒(méi)有等到非授權(quán)用戶握手信號(hào)之前,接收方會(huì)在各個(gè)頻道上進(jìn)行循環(huán)掃描檢測(cè)。若在某個(gè)頻道上檢測(cè)到有載波存在,接收方就試著去握手。如果握手失敗,接收方就變換頻道繼續(xù)檢測(cè)。一旦握手成功,接收方就開始進(jìn)行數(shù)據(jù)的接收。其狀態(tài)轉(zhuǎn)換圖如圖6所示。
圖6 接收方狀態(tài)轉(zhuǎn)換圖
在數(shù)據(jù)接收階段,CC2500根據(jù)數(shù)據(jù)幀的前導(dǎo)和同步字實(shí)現(xiàn)同步,從而進(jìn)行正確的接收,數(shù)據(jù)自動(dòng)存入其接收緩存區(qū)。CC2500自動(dòng)對(duì)數(shù)據(jù)進(jìn)行CRC,并在數(shù)據(jù)尾部添加一個(gè)校驗(yàn)結(jié)果字節(jié)。通過(guò)這個(gè)字節(jié)就可以判斷數(shù)據(jù)是否通過(guò)校驗(yàn),并采取相應(yīng)動(dòng)作。接收方仍然通過(guò)GDO0引腳監(jiān)測(cè)接收狀態(tài)。如果發(fā)送方頻率保持不變,接收方就可以在無(wú)需變頻的情況下完成所有數(shù)據(jù)的接收[6]。但如果發(fā)送方在傳輸數(shù)據(jù)的過(guò)程中切換了頻率,那么接收方在原來(lái)的頻率上已經(jīng)收不到數(shù)據(jù)信息,需要退出數(shù)據(jù)接收狀態(tài)重新進(jìn)行循環(huán)掃描檢測(cè),再次握手成功后繼續(xù)接收剩下的數(shù)據(jù)。
64字節(jié)的接收緩沖區(qū)也存在和發(fā)送緩沖區(qū)同樣的問(wèn)題。為了防止溢出和讀空,也要實(shí)時(shí)監(jiān)測(cè)接收緩存區(qū)狀態(tài)。當(dāng)接收緩存區(qū)的數(shù)據(jù)量高于某個(gè)門限值,單片機(jī)應(yīng)及時(shí)從緩存區(qū)讀取數(shù)據(jù)避免溢出(讀數(shù)據(jù)速率比接收速率快)。為了防止讀空,應(yīng)限制每次讀出的數(shù)據(jù)量。
次用戶在進(jìn)行信道切換時(shí),需要盡可能快地找到空閑信道進(jìn)行接入。但是從統(tǒng)計(jì)的角度考慮,每次都按照固定的信道編號(hào)依次進(jìn)行感知是一種非常低效的方法,并不能有效地減小切換時(shí)間。因?yàn)闊o(wú)線信道是不斷變化的,具有隨機(jī)性,因此在信道切換時(shí),這種基于固定感知順序的感知不能夠動(dòng)態(tài)適應(yīng)無(wú)線信道動(dòng)態(tài)變化的特性。于是在每個(gè)次用戶節(jié)點(diǎn)內(nèi)部建立一張信道狀態(tài)圖,用來(lái)保存信道的狀態(tài)。當(dāng)次用戶不得不進(jìn)行信道切換時(shí),就可以根據(jù)該信道狀態(tài)圖,確定較為合理的信道感知順序,從而有效地減小切換延遲。
我們對(duì)S個(gè)授權(quán)信道依次進(jìn)行編號(hào),分別編號(hào)為1,2…S。信道狀態(tài)圖是在次用戶節(jié)點(diǎn)內(nèi)建立的用于保存頻譜感知結(jié)果的狀態(tài)圖,主要作用是推斷信道在下一刻的可能狀態(tài),從而確定較為合理的感知順序。
對(duì)任意信道i,每當(dāng)進(jìn)行一次頻譜感知之后,都要更新信道狀態(tài)圖中的相應(yīng)項(xiàng),使信道狀態(tài)圖中所保存的信道i的相關(guān)項(xiàng)是信道i的最近N次頻譜感知的結(jié)果。為了要建立一張完整的信道狀態(tài)圖,需要在初始化時(shí)進(jìn)行N次頻譜感知。有了信道狀態(tài)圖,次用戶將能夠掌握更多的信道狀態(tài)信息,在信道切換這一環(huán)節(jié)上能節(jié)省大量的時(shí)間。
如果對(duì)所有信道遍歷感知后沒(méi)有找到空閑頻道,我們將在Tretry秒后重新感知信道,Tretry是優(yōu)化算法的設(shè)計(jì)參數(shù),不是本文重點(diǎn)研究的內(nèi)容。最終,我們將發(fā)現(xiàn)新的空閑信道。一旦檢測(cè)到空閑信道,信道切換過(guò)程結(jié)束,次用戶在新的空閑信道上繼續(xù)進(jìn)行數(shù)據(jù)傳輸。
1)給實(shí)驗(yàn)系統(tǒng)的TX和RX上電,并打開各自相連的PC中的上位機(jī)軟件,觀察各頻道能量值。上電后,TX和RX開始初始化,初始化過(guò)程包括射頻模塊的初始化及頻譜感知過(guò)程。初始化時(shí),TX和RX默認(rèn)處在接收狀態(tài),通過(guò)感知各頻道的能量值,建立信道狀態(tài)圖。此時(shí),各頻道狀態(tài)、能量值等都能在PC上直觀的顯示。
2)TX要傳送圖片時(shí),先從PC導(dǎo)入要傳送的圖片,上位機(jī)軟件將圖片分拆成適合射頻模塊傳輸?shù)臄?shù)據(jù)包,然后通過(guò)串口發(fā)送至TX。一旦TX接收到數(shù)據(jù)后,便切換至發(fā)送狀態(tài),此時(shí)在PC中觀察當(dāng)前的傳輸頻道狀態(tài)及圖片拆成數(shù)據(jù)包的過(guò)程。
3)對(duì)當(dāng)前數(shù)據(jù)傳輸頻道加射頻干擾信號(hào)模擬主用戶信道占用。當(dāng)主用戶使用授權(quán)信道時(shí),次用戶應(yīng)及時(shí)避開此頻道,切換至其它頻道以完成圖片的正常傳輸。因此,在PC中能觀察各頻道能量值及當(dāng)前傳輸頻道的變化。
4)使用實(shí)驗(yàn)系統(tǒng)的RX接收傳輸來(lái)的數(shù)據(jù),在TX頻道切換后,RX應(yīng)該相應(yīng)變換頻道與TX握手,建立連接后繼續(xù)完成數(shù)據(jù)的傳輸。此時(shí),在PC中能觀察到當(dāng)前傳輸頻道的改變,同時(shí)接收完畢后通過(guò)在PC上觀察圖片的完整性來(lái)測(cè)試該頻譜感知系統(tǒng)的抗干擾程度。
本實(shí)驗(yàn)演示了一幅圖片從發(fā)送端傳輸?shù)浇邮斩说倪^(guò)程,其中包含發(fā)送端在PC機(jī)上將圖片拆成數(shù)據(jù)包、各頻道感知建立信道狀態(tài)圖、傳輸信道被占用切換頻道繼續(xù)傳輸和接收端接收數(shù)據(jù)包整合幾個(gè)部分,經(jīng)過(guò)測(cè)試可以在接收端顯示一幅完整的圖片。通過(guò)以上實(shí)驗(yàn)步驟,學(xué)生清晰地看到頻譜感知機(jī)制的流程及在干擾環(huán)境中動(dòng)態(tài)使用頻譜收發(fā)數(shù)據(jù)的過(guò)程,有助于學(xué)生更好地理解頻譜感知及其動(dòng)態(tài)分配。
本文以CC2500射頻收發(fā)芯片作為物理層模塊,針對(duì)該芯片的特點(diǎn)設(shè)計(jì)了頻譜感知算法以及通信協(xié)議,最終在硬件平臺(tái)上初步實(shí)現(xiàn)了感知空閑頻道、數(shù)據(jù)傳輸、頻道切換等非授權(quán)用戶智能接入的基本功能。此硬件平臺(tái)既可以適用于教學(xué)實(shí)驗(yàn),也可以拓展作為頻譜感知研究項(xiàng)目的開發(fā)平臺(tái)。
[1] SIMON H,Cognitive radio:brain - empowered wireless communications[J].IEEE Journal on Selected Area
[2] PEH E,LIANG Ying Chang.Optimization for cooperative sensing in cognJitive radio networks[C].IEEE Wireless Communications and Networking Conference.2007:27-32
[3] M1TOI.A m,MAGUIRE G Q J.Cognitive radio:making software radios more personal[J].IEEE Personal Communications,1999,6(4):13-18
[4] 李立,習(xí)勇,魏急波,黃圣春.基于CC2500的Ad Hoc開發(fā)平臺(tái)MAC 協(xié)議接口設(shè)計(jì)[J].南京:電子工程師,2010,34(7):60-64
[5] 趙雄鷹,汪一鳴.基于載波檢測(cè)的認(rèn)知無(wú)線電方案設(shè)計(jì)與實(shí)現(xiàn)[J].北京:微型機(jī)與應(yīng)用[J],2008,29(10):53 -59
[6] 劉佳,宋鐵成,張權(quán),丁順寧.一種新型教學(xué)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].南京:電氣電子教學(xué)學(xué)報(bào),2010,32(5):39-43
[7] CC2500 datasheet[DB/OL].http://focus.ti.com.cn,May.2009