1)配置:
gNB_config->ssb_table.ssb_period.value = 1; //10ms
mu: 0-> SCS15kHz, 1->SCS30kHz,默认30kHz
2)装填数据:
好像只装填了SSB的数据,共Lmax个可能的SSB,循环:
for (i=0; i<frame_parms->Lmax; i++) {
if((SSB_positions >> i) & 0x01) //有SSB就加入
3)生成OFDM:
调用PHY_ofdm_mod:
装填第1个符号:
PHY_ofdm_mod((int *)gNB->common_vars.txdataF[0][aa],
(int*)&txdata[aa][samp],
frame_parms->ofdm_symbol_size,
1,
frame_parms->nb_prefix_samples0,
CYCLIC_PREFIX);
装填后面13个符号:
PHY_ofdm_mod((int *)&gNB->common_vars.txdataF[0][aa][frame_parms->ofdm_symbol_size],
(int*)&txdata[aa][samp + frame_parms->nb_prefix_samples0 + frame_parms->ofdm_symbol_size],
frame_parms->ofdm_symbol_size,
13,
frame_parms->nb_prefix_samples,
CYCLIC_PREFIX);
输入跟gNB->common_vars有关
4)仿真流程:
装填一次,接收就是不同snr的仿真
for (SNR = snr0; SNR < snr1 && !stop; SNR+=.2) {
for (trial = 0; trial < n_trials && !stop; trial++) {
