mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-19 15:40:30 +00:00
Compare commits
3 Commits
2022.w50
...
NCTU_OpinC
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9ce172d5a | ||
|
|
36eb153185 | ||
|
|
1036d42d72 |
@@ -747,7 +747,7 @@ function main() {
|
||||
if [ "$SIMUS_PHY" = "1" ] ; then
|
||||
echo_info "Compiling physical unitary tests simulators"
|
||||
# TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim
|
||||
simlist="dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim"
|
||||
simlist="nr_dlsim nr_ulsim"
|
||||
# simlist="ldpctest"
|
||||
for f in $simlist ; do
|
||||
compilations \
|
||||
|
||||
17809
cmake_targets/chestF0.m
Normal file
17809
cmake_targets/chestF0.m
Normal file
File diff suppressed because it is too large
Load Diff
4
cmake_targets/dlsimStats.m
Normal file
4
cmake_targets/dlsimStats.m
Normal file
@@ -0,0 +1,4 @@
|
||||
SNR = [];
|
||||
BLER = [];
|
||||
BER = [];
|
||||
rounds = [];
|
||||
17809
cmake_targets/rxF_comp.m
Normal file
17809
cmake_targets/rxF_comp.m
Normal file
File diff suppressed because it is too large
Load Diff
29257
cmake_targets/rxF_llr.m
Normal file
29257
cmake_targets/rxF_llr.m
Normal file
File diff suppressed because it is too large
Load Diff
614401
cmake_targets/rxsig0.m
Normal file
614401
cmake_targets/rxsig0.m
Normal file
File diff suppressed because it is too large
Load Diff
13153
cmake_targets/txsig0.m
Normal file
13153
cmake_targets/txsig0.m
Normal file
File diff suppressed because it is too large
Load Diff
2049
cmake_targets/txsigF0.m
Normal file
2049
cmake_targets/txsigF0.m
Normal file
File diff suppressed because it is too large
Load Diff
@@ -14,6 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/*! \file /openairinterface5g/nfapi/open-nFAPI/nfapi/public_inc/nfapi_interface.h
|
||||
* \brief Create FAPI(P5/P7) message header
|
||||
* \author NCTU OpinConnect Terng-Yin Hsu, Sendren Xu, WEI-YING LIN, Hong-Ming Huang
|
||||
* \email a22490010@gmail.com
|
||||
* \date 31-10-2021
|
||||
* \version 2.0
|
||||
* \note
|
||||
* \warning
|
||||
*/
|
||||
|
||||
#ifndef _NFAPI_INTERFACE_H_
|
||||
#define _NFAPI_INTERFACE_H_
|
||||
@@ -105,6 +114,28 @@ typedef struct {
|
||||
uint32_t transmit_timestamp;
|
||||
} nfapi_p7_message_header_t;
|
||||
|
||||
// NR FAPI P5 and P7 message header
|
||||
typedef struct {
|
||||
uint16_t segment_length;
|
||||
uint16_t m_segment_sequence;
|
||||
uint32_t transmit_timestamp;
|
||||
uint8_t* termination_type;
|
||||
uint8_t* phy_id;
|
||||
uint16_t* message_id;
|
||||
uint32_t* message_lenght;
|
||||
}nfapi_nr_p5_message_header_t;
|
||||
|
||||
typedef struct{
|
||||
uint16_t sequence_number;
|
||||
uint32_t total_sdu_length;
|
||||
uint32_t byte_offset;
|
||||
uint32_t transmit_timestamp;
|
||||
uint8_t* termination_type;
|
||||
uint8_t* phy_id;
|
||||
uint16_t* message_id;
|
||||
uint32_t* message_lenght;
|
||||
}nfapi_nr_p7_message_header_t;
|
||||
|
||||
#define NFAPI_PHY_ID_NA 0
|
||||
|
||||
//#define NFAPI_P7_GET_MORE(_mss) ( ((_mss) & 0x80) >> 7 )
|
||||
|
||||
1600
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scfv2.h
Normal file
1600
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scfv2.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -29,6 +29,15 @@
|
||||
* \note
|
||||
* \warning
|
||||
*/
|
||||
/*! \file openair2/NR_PHY_INTERFACE/NR_IF_Module.c
|
||||
* \brief Allocate two pieces of FAPI memory
|
||||
* \author NCTU OpinConnect Terng-Yin Hsu, Sendren Xu, WEI-YING LIN, Hong-Ming Huang
|
||||
* \email a22490010@gmail.com
|
||||
* \date 2-10-2021
|
||||
* \version 1.0
|
||||
* \note
|
||||
* \warning
|
||||
*/
|
||||
|
||||
#include "openair1/SCHED_NR/fapi_nr_l1.h"
|
||||
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
|
||||
@@ -210,9 +219,17 @@ void NR_UL_indication(NR_UL_IND_t *UL_info) {
|
||||
#ifdef DUMP_FAPI
|
||||
dump_ul(UL_info);
|
||||
#endif
|
||||
NR_UL_IND_t *FAPI_UL_memory = (NR_UL_IND_t *) malloc(sizeof(NR_UL_IND_t));
|
||||
if(!FAPI_UL_memory){
|
||||
printf("[FAPI_UL_memory] failed to allocate memory\n");
|
||||
}
|
||||
memcpy(FAPI_UL_memory,UL_info,sizeof(NR_UL_IND_t));
|
||||
|
||||
module_id_t module_id = UL_info->module_id;
|
||||
int CC_id = UL_info->CC_id;
|
||||
NR_Sched_Rsp_t *FAPI_DL_memory = (NR_Sched_Rsp_t *) malloc(sizeof(NR_Sched_Rsp_t));
|
||||
NR_Sched_Rsp_t *sched_info = &NR_Sched_INFO[module_id][CC_id];
|
||||
memcpy(FAPI_DL_memory,sched_info,sizeof(NR_Sched_Rsp_t));
|
||||
NR_IF_Module_t *ifi = nr_if_inst[module_id];
|
||||
gNB_MAC_INST *mac = RC.nrmac[module_id];
|
||||
LOG_D(PHY,"SFN/SF:%d%d module_id:%d CC_id:%d UL_info[rach_pdus:%d rx_ind:%d crcs:%d]\n",
|
||||
@@ -257,11 +274,13 @@ void NR_UL_indication(NR_UL_IND_t *UL_info) {
|
||||
sched_info->frame = (UL_info->frame + ((UL_info->slot>(spf-1-sl_ahead)) ? 1 : 0)) % 1024;
|
||||
sched_info->slot = (UL_info->slot+sl_ahead)%spf;
|
||||
sched_info->DL_req = &mac->DL_req[CC_id];
|
||||
memcpy(FAPI_DL_memory->DL_req,sched_info->DL_req,sizeof(nfapi_nr_dl_tti_request_t));
|
||||
sched_info->UL_dci_req = &mac->UL_dci_req[CC_id];
|
||||
|
||||
memcpy(FAPI_DL_memory->UL_dci_req,sched_info->UL_dci_req,sizeof(nfapi_nr_ul_dci_request_t));
|
||||
sched_info->UL_tti_req = mac->UL_tti_req[CC_id];
|
||||
|
||||
memcpy(FAPI_DL_memory->UL_tti_req,sched_info->UL_tti_req,sizeof(nfapi_nr_ul_tti_request_t));
|
||||
sched_info->TX_req = &mac->TX_req[CC_id];
|
||||
memcpy(FAPI_DL_memory->TX_req,sched_info->TX_req,sizeof(nfapi_nr_tx_data_request_t));
|
||||
#ifdef DUMP_FAPI
|
||||
dump_dl(sched_info);
|
||||
#endif
|
||||
@@ -278,6 +297,8 @@ void NR_UL_indication(NR_UL_IND_t *UL_info) {
|
||||
sched_info->frame,
|
||||
sched_info->slot,
|
||||
sched_info->DL_req->dl_tti_request_body.nPDUs);
|
||||
free(FAPI_UL_memory);
|
||||
free(FAPI_DL_memory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user