基于載波檢測的認知無線電方案設計與實現
為了避免停等協議中數據幀重發冗余的問題,發送方為每幀數據編上了一個序號。接收方通過對數據序號的判斷,以確保只接收當前想要的數據幀。
為了提高收發數據的正確率,除了nRF905的CRC校驗碼之外,設計中還將非授權用戶之間收發的數據塊第一個字符標志為‘R’。接收方接收數據時只在第一個字符‘R’ 校驗正確時才保存該數據。數據幀格式如圖3所示。本文引用地址:http://www.104case.com/article/157313.htm
2.2 發送方的數據發送和協議解析
非授權用戶的發送方具有感知能力,該認知網絡中的智能接入功能即由其來實現。在初始化完成之后,發送方需要對當前設置的頻率段進行頻譜檢測[3-5],將處于忙碌狀態與閑置狀態下的頻點分開,進而在閑置的頻點中找出一個最佳的頻點。最佳頻點找到后,發送方接著發送握手信息。在沒有收到對方應答信號之前,發送方會一直處在握手狀態。收到對方的應答信號之后,發送方才進入數據發送階段。在這個階段中,發送方每發完一幀數據后都要對當前使用的中心頻率進行檢測。若檢測到授權用戶仍然沒有使用該頻率,則發送方繼續發送剩余數據,直到數據傳送完畢。若發送方檢測到當前中心頻率正被授權用戶使用,則應及時避開這個頻點,重新尋找新的頻譜空隙建立起通信系統。如圖4所示。
2.3 接收方的數據接收和協議解析
接收方的基本任務是接收數據并將接收到的數據進行保存。其狀態轉換圖如圖5所示。在沒有等到非授權用戶握手信號之前,接收方會在各個頻率點上進行循環掃描檢測。若在某個頻點上檢測到有載波存在,接收方就試著去握手。如果握手失敗,接收方就變換頻點繼續檢測。一旦握手成功,接收方就開始進行數據的接收。在數據接收階段,如果發送方頻率保持不變,接收方就可以在無需變頻的情況下完成所有數據的接收。但如果發送方在傳輸數據的過程中切換了頻率,那么接收方在原來的頻率上已經收不到數據信息,需要退出數據接收狀態重新進行循環掃描檢測,再次握手成功后繼續接收剩下的數據。如果發現數據序號錯位,理論上發送方與接收方使用的頻率相同,則只需要調整步伐。經測試,非授權用戶接收方工作穩定。出現數據錯位時,程序可以根據自定義的協議自動調整步伐,確保每幀數據被正確地接收。
3 軟件設計
3.1 程序流程圖
系統軟件設計采用標準C語言在IAR開發環境下編寫調試。圖 6為非授權用戶發送方與接收方從頻率選擇到發送數據的程序流程圖,省略了液晶顯示器部分。
評論