Commit 3fcf6433 authored by 111's avatar 111

cap data local

parent a9c8b1b6
......@@ -15,7 +15,12 @@ used to send PDSCH/PUSCH DMRS to client
sem_t ric_send_sem;
//uint8_t ric_test_data[]={0,1,2,3,4,5,6,7,8,9};
uint8_t *ric_send_buf;
uint8_t *ric_send_buf_tmp;
int ric_send_len;
extern int g_dmrs_cnt;
#define CAP_DATA_LOCAL
#define RIC_INTERFACE_PORT 7788
#define RIC_INTERFACE_SOCKET_MAX_LEN (100+4*273*12)*4 //52516
//#define RIC_INTERFACE_SOCKET_MAX_LEN 65536
......@@ -36,16 +41,22 @@ void *ric_interface_task(void *args_p)
char buf[4096] = {0}; //
struct sockaddr_in stLocalAddr = {0}; //本地地址信息结构图,下面有具体的属性赋值
struct sockaddr_in stRemoteAddr = {0}; //对方地址信息
socklen_t socklen = 0;
socklen_t socklen = 0;
int cnt = 0;
int outputdata = 1;
char c;
ric_send_buf_tmp = malloc(RIC_INTERFACE_SOCKET_MAX_LEN);
#ifdef RIC_TEST_SERVER
int gnb_flag = 0;
ric_send_buf = malloc(RIC_INTERFACE_SOCKET_MAX_LEN);
ric_send_buf[0] = 0x1E;
ric_send_buf[10] = 0x20;
ric_send_buf_tmp[0] = 0x1E;
ric_send_buf_tmp[10] = 0x20;
ric_send_len = RIC_INTERFACE_SOCKET_MAX_LEN;
#else
int gnb_flag = *(int*)args_p;
#endif
#ifndef CAP_DATA_LOCAL
iSocketFD = socket(AF_INET, SOCK_STREAM, 0); //建立socket
if(0 > iSocketFD)
{
......@@ -64,10 +75,11 @@ void *ric_interface_task(void *args_p)
perror("绑定失败!");
return;
}
#endif
while(1)
{
#ifndef CAP_DATA_LOCAL
//开启监听 ,第二个参数是最大监听数
if(0 > listen(iSocketFD, 1))
{
......@@ -95,8 +107,16 @@ void *ric_interface_task(void *args_p)
// }else{
// printf("buf: %s\n", buf);
// }
#else
printf("bigin to capture data\n");
#endif
int send_len;
int log_cnt=0;
char filename[1024];
FILE *output_fd = NULL;
sprintf(filename,"srs_data_4ant_freq_%d.am",0);
output_fd = fopen(filename,"w+");
fclose(output_fd);
while(1)
{
// printf ("wait for ric_send_sem \n");
......@@ -105,16 +125,66 @@ void *ric_interface_task(void *args_p)
#else
sem_wait (&ric_send_sem);
#endif
memcpy(ric_send_buf_tmp, ric_send_buf, ric_send_len);
printf ("got ric_send_sem ric_send_buf_tmp addr %p ric_send_buf %p\n", ric_send_buf_tmp, ric_send_buf);
#ifdef CAP_DATA_LOCAL
{
if (cnt % 4 == 0)
{
FILE *input_fd=NULL;
int readlen;
input_fd = fopen("output_flag.txt","r");
if (input_fd==NULL){
printf("Error opening0 \n");
}
else
{
c=fgetc(input_fd);
if ((outputdata == 0) && (c - '0' == 1))
{
log_cnt = 0;
}
outputdata = c - '0';
if(outputdata == 0)
printf("~~~~~~~~outputdata is %d, log_cnt %d", outputdata, log_cnt);
fclose(input_fd);
}
}
//if ((outputdata == 1) && (log_cnt < 10))
if ((outputdata == 1)&& ((cnt%2) == 1))
{
char filename[1024];
FILE *output_fd = NULL;
sprintf(filename,"srs_data_4ant_freq_%d.am",0);
output_fd = fopen(filename,"a+");
if (output_fd==NULL){
printf("Error opening1 \n");
}
if (output_fd) {
printf("log srs data, cnt %d, size(byte) %d, g_dmrs_cnt %d\n", cnt, ric_send_len,g_dmrs_cnt);
fwrite(ric_send_buf_tmp,sizeof(int16_t),ric_send_len/2,output_fd);
fclose(output_fd);
}
log_cnt++;
}
cnt++;
}
#else
struct tcp_info info;
int len=sizeof(info);
getsockopt(new_fd, IPPROTO_TCP, TCP_INFO, &info, (socklen_t *)&len);
if((info.tcpi_state==1))
{
send_len = send(new_fd, ric_send_buf, ric_send_len, 0);
send_len = send(new_fd, ric_send_buf_tmp, ric_send_len, 0);
printf ("send data %p, size %d to client. %d OK \n", ric_send_buf, ric_send_len, send_len);
}
else
break;
#endif
}
}
......
......@@ -260,10 +260,12 @@ int nr_cap_srs_signal(PHY_VARS_gNB *gNB,
}
#ifdef SEND_BY_SOCKET
ric_send_buf = ns_srs_cap;
ric_send_len = 40*2+273*12*ant_num*N_symb_SRS*4;//for test
//ric_send_buf = ns_srs_cap;
//ric_send_len = 40*2+273*12*ant_num*N_symb_SRS*4;//for test
ric_send_buf = ns_srs_cap->dmrsData;
ric_send_len = 273*12*ant_num*N_symb_SRS*4;//for test
sem_post(&ric_send_sem);
//LOG_I(PHY,"sem_post(&ric_send_sem) buf %p, size %d pos %d \n\n\n",ric_send_buf,ric_send_len, pos);
LOG_I(PHY,"sem_post(&ric_send_sem) buf %p, size %d, port %d, ant %d \n\n\n",ric_send_buf,ric_send_len, ns_srs_cap->num_ant_ports, ant_num);
g_dmrs_cnt++;
#else
......
......@@ -882,11 +882,12 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
int srs_est = nr_get_srs_signal(gNB, frame_rx, slot_rx, srs_pdu, gNB->nr_srs_info[i], srs_received_signal);
static int log_first = 0;
//if ((log_first == 0) && ((1<<srs_pdu->num_ant_ports)== 2))
if (log_first == 0)
if ((log_first %20 == 0) && ((1<<srs_pdu->num_ant_ports) <= 2))
{
nr_cap_srs_signal(gNB, frame_rx, slot_rx, srs_pdu, gNB->nr_srs_info[i]);
log_first++;
}
log_first++;
if (srs_est >= 0) {
nr_srs_channel_estimation(gNB,
frame_rx,
......
......@@ -56,7 +56,7 @@ int dl_rrc_message(module_id_t module_id, const f1ap_dl_rrc_message_t *dl_rrc)
break;
case NR_DL_CCCH_MessageType__c1_PR_rrcReject:
LOG_D(NR_MAC, "DL-CCCH/SRB0, received rrcReject for RNTI %04x\n", dl_rrc->rnti);
AssertFatal(0, "rrcReject not implemented yet\n");
//AssertFatal(0, "rrcReject not implemented yet\n");
break;
case NR_DL_CCCH_MessageType__c1_PR_rrcSetup:
LOG_I(NR_MAC, "DL-CCCH/SRB0, received rrcSetup for RNTI %04x\n", dl_rrc->rnti);
......
......@@ -543,6 +543,7 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc,
NR_SRS_Resource_t *srs_res0=calloc(1,sizeof(*srs_res0));
srs_res0->srs_ResourceId = res_id;
srs_res0->nrofSRS_Ports = NR_SRS_Resource__nrofSRS_Ports_port1;
//srs_res0->nrofSRS_Ports = NR_SRS_Resource__nrofSRS_Ports_ports2;
if (do_srs) {
long nrofSRS_Ports = 1;
if (uecap &&
......@@ -564,7 +565,10 @@ void config_srs(const NR_ServingCellConfigCommon_t *scc,
LOG_E(NR_RRC, "Max Number of SRS Ports Per Resource %ld is invalid!\n",
ul_feature_setup->supportedSRS_Resources->maxNumberSRS_Ports_PerResource);
}
LOG_I(NR_RRC, "change SRS configured with %d ports mimolayers %d\n", nrofSRS_Ports, maxMIMO_Layers);
nrofSRS_Ports = min(nrofSRS_Ports, maxMIMO_Layers);
//nrofSRS_Ports = 2;
switch (nrofSRS_Ports) {
case 1:
srs_res0->nrofSRS_Ports = NR_SRS_Resource__nrofSRS_Ports_port1;
......
......@@ -49,10 +49,10 @@ gNBs =
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
absoluteFrequencySSB = 623232; #652608;
absoluteFrequencySSB = 623232; #623232; #652608;
dl_frequencyBand = 78;
# this is 3300.24 MHz
dl_absoluteFrequencyPointA = 620016; #651280;
dl_absoluteFrequencyPointA = 620016; #620016; #651280;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
......@@ -95,7 +95,7 @@ gNBs =
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 12;
preambleReceivedTargetPower = -90;
preambleReceivedTargetPower = -80;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
......@@ -125,14 +125,14 @@ gNBs =
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
p0_NominalWithGrant =-80;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -70;
p0_nominal = -80;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
......@@ -238,8 +238,8 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 250;
pucch_TargetSNRx10 = 300;
pusch_TargetSNRx10 = 300;
pucch_TargetSNRx10 = 250;
pusch_FailureThres = 1000;
ulsch_max_frame_inactivity = 0;
}
......@@ -259,12 +259,12 @@ RUs = (
local_rf = "yes"
nb_tx = 1;
nb_rx = 4;
att_tx = 85;
att_tx = 89;
att_rx = 0;
bands = [78];
num_tp_cores = 8;
max_pdschReferenceSignalPower = -27;
max_rxgain = 15;
max_rxgain = 55;
eNB_instances = [0];
##beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x0000];
......
......@@ -30,7 +30,7 @@ gNBs =
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
do_CSIRS = 1;
do_SRS = 1;
#do_SRS = 1;
ul_prbblacklist = "135,136,137,138"
pdcch_ConfigSIB1 = (
......@@ -49,10 +49,10 @@ gNBs =
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741)
absoluteFrequencySSB = 623232;
absoluteFrequencySSB = 623232; #652608;
dl_frequencyBand = 78;
# this is 3300.24 MHz
dl_absoluteFrequencyPointA = 620016;
dl_absoluteFrequencyPointA = 620016; #651280;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
......@@ -238,8 +238,8 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 150;
pucch_TargetSNRx10 = 200;
pusch_TargetSNRx10 = 250;
pucch_TargetSNRx10 = 300;
pusch_FailureThres = 1000;
ulsch_max_frame_inactivity = 0;
}
......@@ -249,7 +249,7 @@ L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 120;
prach_dtx_threshold = 220;
pucch0_dtx_threshold = 80;
}
);
......@@ -262,13 +262,14 @@ RUs = (
att_tx = 85;
att_rx = 0;
bands = [78];
num_tp_cores = 2;
max_pdschReferenceSignalPower = -27;
max_rxgain = 25;
max_rxgain = 15;
eNB_instances = [0];
##beamforming 1x2 matrix: 1 layer x 2 antennas
#bf_weights = [0x00007fff, 0x0000];
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
sdr_addrs = "dev=pciex:0,auxdac1=315";
sdr_addrs = "dev=pciex:0,auxdac1=1660";
clock_src = "internal";
}
......
......@@ -83,7 +83,7 @@ gNBs =
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
preambleReceivedTargetPower = -86;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
......@@ -113,14 +113,14 @@ gNBs =
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
p0_NominalWithGrant =-80;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
p0_nominal = -80;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
......@@ -193,8 +193,8 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 150;
pucch_TargetSNRx10 = 200;
pusch_TargetSNRx10 = 250;
pucch_TargetSNRx10 = 300;
ulsch_max_frame_inactivity = 1;
}
);
......@@ -219,12 +219,12 @@ RUs = (
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 25;
max_rxgain = 45;
sf_extension = 0;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
sdr_addrs = "dev=pciex:0,auxdac1=340";
sdr_addrs = "dev=pciex:0,auxdac1=1660";
clock_src = "internal";
}
);
......
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