# 依照公共筆記安裝SIm5G ## 之後會將實作push到github ### 使用standalone_multicell去修改 新建資料夾CHO ### 程式修改 #### 1. CHO 中的omnetpp.ini - 新增基站、位置以及X2App數量![image](https://hackmd.io/_uploads/SyZSgFfdp.png) - UE的位置以及Mobility方式![image](https://hackmd.io/_uploads/rkYc-KM_a.png) - 為了加入mobility亦須修改在inet4.5/src/inet/mobility/single。 LinearMobility.ned。在第29行,此為出發角度,預設為隨機,更改為固定180度,向左水平移動 ![image](https://hackmd.io/_uploads/SJpqGtzOa.png) - 在NR/networks/MultiCell_Standalone.ned,修改X2的連接口以及連上iupf ![image](https://hackmd.io/_uploads/By0KNFf_6.png) - 每新增基站就必須幫她上圖片 ![image](https://hackmd.io/_uploads/rkWRVYzOa.png) - 即可執行 ./run 選擇1UE DL模式![image](https://hackmd.io/_uploads/H1gRrFzOp.png) - 可以去result看結果(正在理解輸出) - HO相關/home/shao/5G/omnetpp-6.0/Simu5G/src/stack/han ## HO 相關 - Simu5G/src/common/binder/Binder.cc 這裡有初始化結點跟一些相關的要讀 ![image](https://hackmd.io/_uploads/r1lvYUYu6.png) - handovertrigger ![image](https://hackmd.io/_uploads/ByS75Ut_p.png) - 1115 算SINR的程式碼 - Simu5G/src/stack/phy/layer/LtePhyUe.cc 處理是否HO - 函式handoverHandler 主要功能和邏輯: 設置控制信息: 將接收到的廣播訊框(frame)中的目的地ID設置為本地節點ID(nodeId_)。 判斷手動切換是否啟用: 如果未啟用手動切換(enableHandover_為假),則進行必要的報告集計算後直接返回。 計算RSSI: 如果收到的廣播來自當前主eNodeB(masterId_),則調用das_>receiveBroadcast計算RSSI。 如果廣播來自非主eNodeB,則通過primaryChannelModel_->getSINR計算RSSI。 RSSI評估和手動切換邏輯: 如果收到的信號來自當前主eNodeB且RSSI強於候選主eNodeB,則更新當前主eNodeB的RSSI。 如果收到的信號來自其他eNodeB且RSSI足夠強,則將該eNodeB設置為新的候選主eNodeB,並安排handoverStarter_消息,以在所有廣播消息到達後評估手動切換參數。 處理信號過弱或失去連接的情況: 如果信號過弱或失去與當前主eNodeB的連接,則觸發與候選主eNodeB的分離和(如果有)新的連接。 清理: 最後刪除接收到的訊框和控制信息。