LTE-LAA NS-3 Code Tracing 國立中山大學 電機系 許蒼嶺教授 研究生: 陳洋升
Layers Data Flow lte-enb-rrc.cc lte-pdcp.cc lte-rlc.cc lte-enb-mac.cc lte-enb-phy.cc 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
RRC (Radio Resource Control) Layer lte-enb-rrc.cc Fig. LTE radio protocol stack architecture for the eNB on the data plane 參考資料: https://www.nsnam.org/docs/models/html/lte-design.html
PDCP (Packet Data Convergence Control) Layer (1/3) PDCP層是處理Header的壓縮及加密 lte-pdcp.cc Fig. LTE radio protocol stack architecture for the eNB on the data plane 參考資料: https://www.nsnam.org/docs/models/html/lte-design.html
PDCP (Packet Data Convergence Control) Layer (2/3) lte-pdcp.cc 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
PDCP (Packet Data Convergence Control) Layer (3/3) lte-pdcp.cc 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
RLC (Radio Link Control) Layer (1/2) RLC層包含了 ARQ 及 HARQ 等重傳機制,以及為了配合下層 MAC 的各個 frame 大小進行封包的分割與重組 lte-rlc.cc Fig. LTE radio protocol stack architecture for the eNB on the data plane 參考資料: https://www.nsnam.org/docs/models/html/lte-design.html
RLC (Radio Link Control) Layer (2/2) lte-rlc.cc 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
MAC Layer (1/2) MAC層則主要做 QoS (Quality of Service) 的排程 lte-enb-mac.cc Fig. LTE radio protocol stack architecture for the eNB on the data plane 參考資料: https://www.nsnam.org/docs/models/html/lte-design.html
MAC Layer (2/2) lte-enb-mac.cc 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
建立DL PHY PDU 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
PHY Layer (1/2) PHY層將資料轉為實體訊號發送 lte-enb-phy.cc Fig. LTE radio protocol stack architecture for the eNB on the data plane 參考資料: https://www.nsnam.org/docs/models/html/lte-design.html
PHY Layer (2/2) lte-enb-phy.cc 參考來源: https://www.tutorialspoint.com/lte/lte_layers_data_flow.htm
LAA traced code (NS-3)
Block diagram of coexistence simulator https://www.nsnam.org/~tomh/ns-3-lbt-presentations/LAA-Wi-Fi-Coexistence-May2016.pdf
LBT Algorithm
NS3 traced code (1/11) LBT Channel Access Manager lbt-access-manager-ed-threshold-test.cc 檔
NS3 traced code (2/11) RNTI (Radio Network Temporary Identifier) eNB用來辨識UE身分的ID
NS3 traced code (3/11) LBT Channel Access Manager lbt-access-manager-ed-threshold-test.cc 檔
NS3 traced code (4/11) 監聽 Wi-Fi PHY 的事件, 再回報LbtAccessManager 監聽內容如下: lbt-access-manager.cc 檔 監聽 Wi-Fi PHY 的事件, 再回報LbtAccessManager 監聽內容如下: Rx Tx CCA Busy Sleep Wakeup
NS3 traced code (5/11) 監聽NAV的事件,再回報 LbtAccessManager 監聽內容如下: NAV開始與重置 lbt-access-manager.cc 檔 監聽NAV的事件,再回報 LbtAccessManager 監聽內容如下: NAV開始與重置 ACK Timeout開始與重置 CTS Timeout開始與重置
Slot time 設為 9us CCA時間設為 43us contention window最小值設為15 contention window最大值設為63 TxOP的channel access grant時間設為 8ms 使用Reservation Signal 當資料還沒有準備好傳輸時使用預留訊號 根據他的定義來更新CW的大小 更改CW記錄
NS3 traced code (7/11)
NS3 traced code (8/11)
NS3 traced code (9/11) 延遲後請求訪問 如果有延遲事件,則等待多個backoff time slots來查看它是否保持idle狀態 如果backoff計數為0 ,代表延遲成功,backoff計數已經為0 ,可授予訪問權限 若backoff計數不為0,則等待backoff事件,並在backoff後請求訪問 backoff時間 = slot time * backoff Count(多少backoff) 如果沒有延遲,把延遲時間加入排程,並在延遲後請求訪問 設定LBT的狀態為等待延遲
NS3 traced code (10/11)
NS3 traced code (11/11) Channel state 是 busy的情形,取消等待 Backoff Event Backoff Count=Backoff Count - 1