Commit c2460cc4 authored by yilmazt's avatar yilmazt

executables are compiling

parent 94cf7de8
...@@ -280,10 +280,9 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -280,10 +280,9 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
uint8_t harq_pid, uint8_t harq_pid,
uint8_t is_crnti) uint8_t is_crnti)
{ {
uint32_t A,E; uint32_t A,E;
uint32_t G; uint32_t G;
uint32_t ret,offset; uint32_t ret, offset;
int32_t no_iteration_ldpc, length_dec; int32_t no_iteration_ldpc, length_dec;
uint32_t r,r_offset=0,Kr=8424,Kr_bytes,K_bytes_F,err_flag=0; uint32_t r,r_offset=0,Kr=8424,Kr_bytes,K_bytes_F,err_flag=0;
uint8_t crc_type; uint8_t crc_type;
...@@ -301,7 +300,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -301,7 +300,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
int16_t z [68*384]; int16_t z [68*384];
int8_t l [68*384]; int8_t l [68*384];
uint8_t kc; uint8_t kc = 0;
uint8_t Ilbrm = 0; uint8_t Ilbrm = 0;
uint32_t Tbslbrm = 950984; uint32_t Tbslbrm = 950984;
double Coderate = 0.0; double Coderate = 0.0;
...@@ -521,7 +520,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -521,7 +520,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
write_output("decoder_in.m","dec",&harq_process->d[0][0],(3*8*Kr_bytes)+12,1,0); write_output("decoder_in.m","dec",&harq_process->d[0][0],(3*8*Kr_bytes)+12,1,0);
} }
printf("decoder input(segment %d) :",r); printf("decoder input(segment %u) :", r);
int i; int i;
for (i=0;i<(3*8*Kr_bytes)+12;i++) for (i=0;i<(3*8*Kr_bytes)+12;i++)
printf("%d : %d\n",i,harq_process->d[r][i]); printf("%d : %d\n",i,harq_process->d[r][i]);
...@@ -607,7 +606,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -607,7 +606,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
//printf("output decoder %d %d %d %d %d \n", harq_process->c[r][0], harq_process->c[r][1], harq_process->c[r][2],harq_process->c[r][3], harq_process->c[r][4]); //printf("output decoder %d %d %d %d %d \n", harq_process->c[r][0], harq_process->c[r][1], harq_process->c[r][2],harq_process->c[r][3], harq_process->c[r][4]);
for (int k=0;k<A>>3;k++) for (int k=0;k<A>>3;k++)
printf("output decoder [%d] = 0x%02x \n", k, harq_process->c[r][k]); printf("output decoder [%d] = 0x%02x \n", k, harq_process->c[r][k]);
printf("no_iterations_ldpc %d (ret %d)\n",no_iteration_ldpc,ret); printf("no_iterations_ldpc %d (ret %u)\n",no_iteration_ldpc,ret);
//write_output("dec_output.m","dec0",harq_process->c[0],Kr_bytes,1,4); //write_output("dec_output.m","dec0",harq_process->c[0],Kr_bytes,1,4);
#endif #endif
...@@ -695,7 +694,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB, ...@@ -695,7 +694,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
offset += (Kr_bytes - (harq_process->F>>3) - ((harq_process->C>1)?3:0)); offset += (Kr_bytes - (harq_process->F>>3) - ((harq_process->C>1)?3:0));
#ifdef DEBUG_ULSCH_DECODING #ifdef DEBUG_ULSCH_DECODING
printf("Segment %d : Kr= %d bytes\n",r,Kr_bytes); printf("Segment %u : Kr = %u bytes\n", r, Kr_bytes);
printf("copied %d bytes to b sequence (harq_pid %d)\n", printf("copied %d bytes to b sequence (harq_pid %d)\n",
(Kr_bytes - (harq_process->F>>3)-((harq_process->C>1)?3:0)),harq_pid); (Kr_bytes - (harq_process->F>>3)-((harq_process->C>1)?3:0)),harq_pid);
printf("b[0] = %x,c[%d] = %x\n", printf("b[0] = %x,c[%d] = %x\n",
......
...@@ -212,10 +212,10 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue, ...@@ -212,10 +212,10 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
unsigned int pilot_cnt; unsigned int pilot_cnt;
int16_t ch[2],*pil,*rxF,*dl_ch,*fl,*fm,*fr; int16_t ch[2],*pil,*rxF,*dl_ch,*fl,*fm,*fr;
int ch_offset,symbol_offset; int ch_offset,symbol_offset;
int slot_pbch; //int slot_pbch;
fapi_nr_pbch_config_t *pbch_config = &ue->nrUE_config.pbch_config; //fapi_nr_pbch_config_t *pbch_config = &ue->nrUE_config.pbch_config;
// initialized to 5ms in nr_init_ue for scenarios where UE is not configured (otherwise acquired by cell configuration from gNB or LTE) // initialized to 5ms in nr_init_ue for scenarios where UE is not configured (otherwise acquired by cell configuration from gNB or LTE)
uint8_t ssb_periodicity = 10;// ue->ssb_periodicity; //uint8_t ssb_periodicity = 10;// ue->ssb_periodicity;
//uint16_t Nid_cell = (eNB_offset == 0) ? ue->frame_parms.Nid_cell : ue->measurements.adj_cell_id[eNB_offset-1]; //uint16_t Nid_cell = (eNB_offset == 0) ? ue->frame_parms.Nid_cell : ue->measurements.adj_cell_id[eNB_offset-1];
......
...@@ -84,7 +84,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind( const module_id_t module_idP, co ...@@ -84,7 +84,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind( const module_id_t module_idP, co
,const uint32_t sourceL2Id ,const uint32_t sourceL2Id
,const uint32_t destinationL2Id ,const uint32_t destinationL2Id
#endif #endif
){mac_rlc_status_resp_t mac_rlc_status_resp; return mac_rlc_status_resp;} ){mac_rlc_status_resp_t mac_rlc_status_resp = {0}; return mac_rlc_status_resp;}
tbs_size_t mac_rlc_data_req( tbs_size_t mac_rlc_data_req(
const module_id_t module_idP, const module_id_t module_idP,
const rnti_t rntiP, const rnti_t rntiP,
...@@ -862,7 +862,7 @@ int main(int argc, char **argv) ...@@ -862,7 +862,7 @@ int main(int argc, char **argv)
if (errors_scrambling > 0) { if (errors_scrambling > 0) {
if (n_trials == 1) if (n_trials == 1)
printf("errors_scrambling = %d (trial %d)\n", errors_scrambling, trial); printf("errors_scrambling = %u (trial %d)\n", errors_scrambling, trial);
} }
if (errors_bit > 0) { if (errors_bit > 0) {
......
...@@ -33,30 +33,23 @@ ...@@ -33,30 +33,23 @@
#ifndef __LAYER2_NR_MAC_DEFS_H__ #ifndef __LAYER2_NR_MAC_DEFS_H__
#define __LAYER2_NR_MAC_DEFS_H__ #define __LAYER2_NR_MAC_DEFS_H__
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "platform_types.h" #include "platform_types.h"
#include "NR_DRX-Config.h" #include "NR_DRX-Config.h"
#include "NR_SchedulingRequestConfig.h" #include "NR_SchedulingRequestConfig.h"
#include "NR_BSR-Config.h" #include "NR_BSR-Config.h"
#include "NR_TAG-Config.h" #include "NR_TAG-Config.h"
#include "NR_PHR-Config.h" #include "NR_PHR-Config.h"
#include "NR_RNTI-Value.h" #include "NR_RNTI-Value.h"
#include "NR_MIB.h" #include "NR_MIB.h"
#include "NR_MAC-CellGroupConfig.h" #include "NR_MAC-CellGroupConfig.h"
#include "NR_PhysicalCellGroupConfig.h" #include "NR_PhysicalCellGroupConfig.h"
#include "NR_SpCellConfig.h" #include "NR_SpCellConfig.h"
#include "NR_ServingCellConfig.h" #include "NR_ServingCellConfig.h"
#include "fapi_nr_ue_interface.h" #include "fapi_nr_ue_interface.h"
#include "NR_IF_Module.h" #include "NR_IF_Module.h"
#include "PHY/defs_nr_common.h" #include "PHY/defs_nr_common.h"
#define NB_NR_UE_MAC_INST 1 #define NB_NR_UE_MAC_INST 1
......
...@@ -82,6 +82,8 @@ uint8_t table_9_2_2_1[16][8]={ ...@@ -82,6 +82,8 @@ uint8_t table_9_2_2_1[16][8]={
{1,0, 14,4, 0,3,6,9}, {1,0, 14,4, 0,3,6,9},
{1,0, 14,26,0,3,0,0} {1,0, 14,26,0,3,0,0}
}; };
int8_t nr_ue_process_dlsch(module_id_t module_id, int8_t nr_ue_process_dlsch(module_id_t module_id,
int cc_id, int cc_id,
uint8_t gNB_index, uint8_t gNB_index,
...@@ -217,8 +219,8 @@ int8_t nr_ue_process_dlsch(module_id_t module_id, ...@@ -217,8 +219,8 @@ int8_t nr_ue_process_dlsch(module_id_t module_id,
return 0; return 0;
} }
int8_t nr_ue_decode_mib(
UE_nr_rxtx_proc_t *proc, int8_t nr_ue_decode_mib(UE_nr_rxtx_proc_t *proc,
module_id_t module_id, module_id_t module_id,
int cc_id, int cc_id,
uint8_t gNB_index, uint8_t gNB_index,
...@@ -226,8 +228,8 @@ int8_t nr_ue_decode_mib( ...@@ -226,8 +228,8 @@ int8_t nr_ue_decode_mib(
uint32_t ssb_length, uint32_t ssb_length,
uint32_t ssb_index, uint32_t ssb_index,
void *pduP, void *pduP,
uint16_t cell_id ){ uint16_t cell_id)
{
LOG_I(MAC,"[L2][MAC] decode mib\n"); LOG_I(MAC,"[L2][MAC] decode mib\n");
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
...@@ -435,16 +437,14 @@ int8_t nr_ue_decode_mib( ...@@ -435,16 +437,14 @@ int8_t nr_ue_decode_mib(
mac->type0_pdcch_dci_config.coreset.precoder_granularity = PRECODER_GRANULARITY_SAME_AS_REG_BUNDLE; mac->type0_pdcch_dci_config.coreset.precoder_granularity = PRECODER_GRANULARITY_SAME_AS_REG_BUNDLE;
mac->type0_pdcch_dci_config.coreset.pdcch_dmrs_scrambling_id = cell_id; mac->type0_pdcch_dci_config.coreset.pdcch_dmrs_scrambling_id = cell_id;
// type0-pdcch search space // type0-pdcch search space
float big_o; float big_o;
float big_m; float big_m;
uint32_t temp; uint32_t temp;
SFN_C_TYPE sfn_c; // only valid for mux=1 SFN_C_TYPE sfn_c = SFN_C_MOD_2_EQ_0; // only valid for mux=1
uint32_t n_c; uint32_t n_c = 0;
uint32_t number_of_search_space_per_slot; uint32_t number_of_search_space_per_slot = 0;
uint32_t first_symbol_index; uint32_t first_symbol_index = 0;
uint32_t search_space_duration; // element of search space uint32_t search_space_duration; // element of search space
uint32_t coreset_duration; // element of coreset uint32_t coreset_duration; // element of coreset
...@@ -496,7 +496,7 @@ int8_t nr_ue_decode_mib( ...@@ -496,7 +496,7 @@ int8_t nr_ue_decode_mib(
// 38.213 Table 13-13 // 38.213 Table 13-13
AssertFatal(index_4lsb == 0, "38.213 Table 13-13 4 LSB out of range\n"); AssertFatal(index_4lsb == 0, "38.213 Table 13-13 4 LSB out of range\n");
// PDCCH monitoring occasions (SFN and slot number) same as SSB frame-slot // PDCCH monitoring occasions (SFN and slot number) same as SSB frame-slot
// sfn_c = SFN_C_EQ_SFN_SSB; //sfn_c = SFN_C_EQ_SFN_SSB;
n_c = get_ssb_slot(ssb_index); n_c = get_ssb_slot(ssb_index);
switch(ssb_index & 0x3){ // ssb_index(i) mod 4 switch(ssb_index & 0x3){ // ssb_index(i) mod 4
case 0: case 0:
...@@ -518,7 +518,7 @@ int8_t nr_ue_decode_mib( ...@@ -518,7 +518,7 @@ int8_t nr_ue_decode_mib(
// 38.213 Table 13-14 // 38.213 Table 13-14
AssertFatal(index_4lsb == 0, "38.213 Table 13-14 4 LSB out of range\n"); AssertFatal(index_4lsb == 0, "38.213 Table 13-14 4 LSB out of range\n");
// PDCCH monitoring occasions (SFN and slot number) same as SSB frame-slot // PDCCH monitoring occasions (SFN and slot number) same as SSB frame-slot
// sfn_c = SFN_C_EQ_SFN_SSB; //sfn_c = SFN_C_EQ_SFN_SSB;
n_c = get_ssb_slot(ssb_index); n_c = get_ssb_slot(ssb_index);
switch(ssb_index & 0x7){ // ssb_index(i) mod 8 switch(ssb_index & 0x7){ // ssb_index(i) mod 8
case 0: case 0:
...@@ -560,7 +560,7 @@ int8_t nr_ue_decode_mib( ...@@ -560,7 +560,7 @@ int8_t nr_ue_decode_mib(
// 38.213 Table 13-15 // 38.213 Table 13-15
AssertFatal(index_4lsb == 0, "38.213 Table 13-15 4 LSB out of range\n"); AssertFatal(index_4lsb == 0, "38.213 Table 13-15 4 LSB out of range\n");
// PDCCH monitoring occasions (SFN and slot number) same as SSB frame-slot // PDCCH monitoring occasions (SFN and slot number) same as SSB frame-slot
// sfn_c = SFN_C_EQ_SFN_SSB; //sfn_c = SFN_C_EQ_SFN_SSB;
n_c = get_ssb_slot(ssb_index); n_c = get_ssb_slot(ssb_index);
switch(ssb_index & 0x3){ // ssb_index(i) mod 4 switch(ssb_index & 0x3){ // ssb_index(i) mod 4
case 0: case 0:
...@@ -620,7 +620,6 @@ int8_t nr_ue_decode_mib( ...@@ -620,7 +620,6 @@ int8_t nr_ue_decode_mib(
} }
// TODO: change to UE parameter, scs: 15KHz, slot duration: 1ms // TODO: change to UE parameter, scs: 15KHz, slot duration: 1ms
uint32_t get_ssb_frame(uint32_t test){ uint32_t get_ssb_frame(uint32_t test){
return test; return test;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment