5G-OAI思维导图

OAI思维导图

说明:流程图中括号代表指针函数,从上至下代表顺序执行,从左至右为函数中调用其他函数

5G-OAI思维导图_第1张图片
openair123分别为层123的库函数,在main函数的各个线程中调用,初始化后执行ru_thread主线程,并且创建三个事件rx_func, tx_func和ru_tx_func,等待后续调度加入线程池,然后执行while循环。
每次循环将调用UHD驱动接口接收usrp板卡采集到的数据,对采集到的数据进行fft变换得到频域数据rxdataF,然后执行一些prach相关的处理,最后将rx_func函数加入线程池。
5G-OAI思维导图_第2张图片
上图为rx_func线程,rx_func函数首先将接收到的pucch和pusch数据进行解码,将解码得到的信息存入UL_INFO结构体中,作为参数交给NR_UL_indication函数处理,其中gNB_dlsch_ulsch_scheduler为mac层主要的调度器。
5G-OAI思维导图_第3张图片
上图为mac层调度器,会分别调度mib信息,sib信息,prach,sr,csi,ra等,nr_schedule_ulsch分为预处理和后处理,预处理会处理上行信息,然后将处理后的信息在后处理中放入DCI中,下行同理。
5G-OAI思维导图_第4张图片
其中预处理器为一个函数指针,为一个可替换模块,分为sa模式和phy-test模式,分别调用不同的函数,其中phy-test模式和其他模式的差分主要为:
1.phy-test模式为固定mcs(9),固定带宽(50rb)
2.phy-test缺少随机接入流程
3.phy-test调度固定单一ue,sa模式可根据比例公平(pf)算法,参考不同终端的历史流量按优先级进行调度

你可能感兴趣的:(OAI,数字通信,sdr,c语言)