Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG-RAN
Commits
c846f16e
Commit
c846f16e
authored
Jan 27, 2022
by
Sagar Parsawar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changing printf to LOG_I
parent
ea8d27a2
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
19 additions
and
25 deletions
+19
-25
openair1/PHY/NR_TRANSPORT/nr_prs.c
openair1/PHY/NR_TRANSPORT/nr_prs.c
+8
-14
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+9
-9
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+1
-1
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+1
-1
No files found.
openair1/PHY/NR_TRANSPORT/nr_prs.c
View file @
c846f16e
...
...
@@ -4,8 +4,8 @@
#include "PHY/NR_REFSIG/nr_refsig.h"
#include "PHY/sse_intrin.h"
#define DEBUG_PRS_MOD
#define DEBUG_PRS_MAP
//
#define DEBUG_PRS_MOD
//
#define DEBUG_PRS_MAP
extern
short
nr_qpsk_mod_table
[
8
];
...
...
@@ -29,10 +29,8 @@ int nr_generate_prs(uint32_t **nr_gold_prs,
int16_t
mod_prs
[
NR_MAX_PRS_LENGTH
<<
1
];
uint8_t
idx
=
prs_data
->
NPRSID
;
// PRS resource mapping with combsize=k which means PRS symbols exist in every k-th subcarrier in frequency domain
// According to ts138.211 sec.7.4.1.7.2
for
(
int
l
=
prs_data
->
SymbolStart
;
l
<
prs_data
->
SymbolStart
+
prs_data
->
NumPRSSymbols
;
l
++
)
{
int
symInd
=
l
-
prs_data
->
SymbolStart
;
...
...
@@ -51,30 +49,27 @@ int nr_generate_prs(uint32_t **nr_gold_prs,
k
=
(
prs_data
->
REOffset
+
k_prime
)
%
prs_data
->
CombSize
+
frame_parms
->
first_carrier_offset
;
// QPSK modulation
for
(
int
m
=
0
;
m
<
(
12
/
prs_data
->
CombSize
)
*
prs_data
->
NumRB
;
m
++
)
{
idx
=
(((
nr_gold_prs
[
l
][(
m
<<
1
)
>>
5
])
>>
((
m
<<
1
)
&
0x1f
))
&
3
);
mod_prs
[
m
<<
1
]
=
nr_qpsk_mod_table
[
idx
<<
1
];
mod_prs
[(
m
<<
1
)
+
1
]
=
nr_qpsk_mod_table
[(
idx
<<
1
)
+
1
];
#ifdef DEBUG_PRS_MOD
printf
(
"m %d idx %d gold seq %d mod_prs %d %d
\n
"
,
m
,
idx
,
nr_gold_prs
[
l
][(
m
<<
1
)
>>
5
],
mod_prs
[
m
<<
1
],
mod_prs
[(
m
<<
1
)
+
1
]);
LOG_D
(
"m %d idx %d gold seq %d mod_prs %d %d
\n
"
,
m
,
idx
,
nr_gold_prs
[
l
][(
m
<<
1
)
>>
5
],
mod_prs
[
m
<<
1
],
mod_prs
[(
m
<<
1
)
+
1
]);
#endif
#ifdef DEBUG_PRS_MAP
printf
(
"m %d at k %d of l %d reIdx %d
\n
"
,
m
,
k
,
l
,
(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
);
LOG_D
(
"m %d at k %d of l %d reIdx %d
\n
"
,
m
,
k
,
l
,
(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
);
#endif
((
int16_t
*
)
txdataF
)[(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
]
=
(
amp
*
mod_prs
[
m
<<
1
])
>>
15
;
((
int16_t
*
)
txdataF
)[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
1
]
=
(
amp
*
mod_prs
[(
m
<<
1
)
+
1
])
>>
15
;
#ifdef DEBUG_PRS_MAP
printf
(
"(%d,%d)
\n
"
,
((
int16_t
*
)
txdataF
)[(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
],
((
int16_t
*
)
txdataF
)[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
1
]);
LOG_D
(
"(%d,%d)
\n
"
,
((
int16_t
*
)
txdataF
)[(
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
],
((
int16_t
*
)
txdataF
)[((
l
*
frame_parms
->
ofdm_symbol_size
+
k
)
<<
1
)
+
1
]);
#endif
k
=
k
+
prs_data
->
CombSize
;
...
...
@@ -83,8 +78,7 @@ printf("(%d,%d)\n",
k
-=
frame_parms
->
ofdm_symbol_size
;
}
}
LOG_M
(
"nr_prs.m"
,
"prs"
,(
int16_t
*
)
&
txdataF
[
0
],
frame_parms
->
samples_per_slot_wCP
,
1
,
1
);
printf
(
"first carrier offset: %d
\n
"
,
frame_parms
->
first_carrier_offset
);
LOG_M
(
"nr_prs.m"
,
"prs"
,(
int16_t
*
)
&
txdataF
[
0
],
frame_parms
->
samples_per_slot_wCP
,
1
,
1
);
return
0
;
}
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
c846f16e
...
...
@@ -81,7 +81,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
//re_offset
k
=
re_offset
=
(
prs_cfg
->
REOffset
+
k_prime
)
%
prs_cfg
->
CombSize
+
frame_params
->
first_carrier_offset
;
printf
(
"PRS config l %d k_prime %d, re_offset %d :
\n
prs_cfg->SymbolStart %d
\n
prs_cfg->NumPRSSymbols %d
\n
prs_cfg->NumRB %d
\n
prs_cfg->CombSize %d
\n
"
,
l
,
k_prime
,
re_offset
,
prs_cfg
->
SymbolStart
,
prs_cfg
->
NumPRSSymbols
,
prs_cfg
->
NumRB
,
prs_cfg
->
CombSize
);
LOG_D
(
"PRS config l %d k_prime %d, re_offset %d :
\n
prs_cfg->SymbolStart %d
\n
prs_cfg->NumPRSSymbols %d
\n
prs_cfg->NumRB %d
\n
prs_cfg->CombSize %d
\n
"
,
l
,
k_prime
,
re_offset
,
prs_cfg
->
SymbolStart
,
prs_cfg
->
NumPRSSymbols
,
prs_cfg
->
NumRB
,
prs_cfg
->
CombSize
);
// Pilots generation and modulation
for
(
int
m
=
0
;
m
<
(
12
/
prs_cfg
->
CombSize
)
*
prs_cfg
->
NumRB
;
m
++
)
...
...
@@ -121,7 +121,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
break
;
default:
printf
(
"nr=prs channel_estimation: k_prime=%d -> ERROR
\n
"
,
k_prime
);
LOG_I
(
"nr=prs channel_estimation: k_prime=%d -> ERROR
\n
"
,
k_prime
);
return
(
-
1
);
break
;
}
...
...
@@ -236,7 +236,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
break
;
default:
printf
(
"nr=prs channel_estimation: k_prime=%d -> ERROR
\n
"
,
k_prime
);
LOG_I
(
"nr=prs channel_estimation: k_prime=%d -> ERROR
\n
"
,
k_prime
);
return
(
-
1
);
break
;
}
...
...
@@ -307,7 +307,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
}
else
{
printf
(
"NR_PRS UE Channel EStimation: CombSize other than 2 and 4 are NOT supported currently! Returning"
);
LOG_I
(
"NR_PRS UE Channel EStimation: CombSize other than 2 and 4 are NOT supported currently! Returning"
);
return
(
0
);
}
...
...
@@ -316,7 +316,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
{
prs_chest
[
re_offset
]
=
ch_intrp
[
re
<<
1
];
prs_chest
[
re_offset
+
1
]
=
ch_intrp
[(
re
<<
1
)
+
1
];
printf
(
"prs_ch[%d] %d %d
\n
"
,
re_offset
,
ch_intrp
[
re
<<
1
],
ch_intrp
[(
re
<<
1
)
+
1
]);
LOG_D
(
"prs_ch[%d] %d %d
\n
"
,
re_offset
,
ch_intrp
[
re
<<
1
],
ch_intrp
[(
re
<<
1
)
+
1
]);
re_offset
=
(
re_offset
+
1
)
%
frame_params
->
ofdm_symbol_size
;
}
...
...
@@ -357,7 +357,7 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
break
;
default:
printf
(
"unsupported ofdm symbol size
\n
"
);
LOG_I
(
"unsupported ofdm symbol size
\n
"
);
assert
(
0
);
}
...
...
@@ -369,9 +369,9 @@ int nr_prs_channel_estimation(PHY_VARS_NR_UE *ue,
memcpy
((
int16_t
*
)
&
ue
->
prs_ch_estimates_time
[
rxAnt
][
l
*
frame_params
->
ofdm_symbol_size
+
(
frame_params
->
ofdm_symbol_size
>>
1
)],
&
ch_time
[
0
],
(
frame_params
->
ofdm_symbol_size
>>
1
)
*
sizeof
(
int32_t
));
}
//for l
LOG_M
(
"rxSigF.m"
,
"rxF"
,
&
rxdataF
[
rxAnt
][
prs_cfg
->
SymbolStart
*
frame_params
->
ofdm_symbol_size
],
prs_cfg
->
NumPRSSymbols
*
frame_params
->
ofdm_symbol_size
,
1
,
1
);
LOG_M
(
"prsEstF.m"
,
"prs_chest"
,
&
ue
->
prs_ch_estimates
[
rxAnt
][
prs_cfg
->
SymbolStart
*
frame_params
->
ofdm_symbol_size
],
prs_cfg
->
NumPRSSymbols
*
frame_params
->
ofdm_symbol_size
,
1
,
1
);
LOG_M
(
"prsEstT.m"
,
"prs_chest
_time
"
,
&
ue
->
prs_ch_estimates_time
[
rxAnt
][
prs_cfg
->
SymbolStart
*
frame_params
->
ofdm_symbol_size
],
prs_cfg
->
NumPRSSymbols
*
frame_params
->
ofdm_symbol_size
,
1
,
1
);
LOG_M
(
"rxSigF.m"
,
"rxF"
,
&
rxdataF
[
rxAnt
][
0
],
frame_params
->
symbols_per_slot
*
frame_params
->
ofdm_symbol_size
,
1
,
1
);
LOG_M
(
"prsEstF.m"
,
"prs_chest
F
"
,
&
ue
->
prs_ch_estimates
[
rxAnt
][
prs_cfg
->
SymbolStart
*
frame_params
->
ofdm_symbol_size
],
prs_cfg
->
NumPRSSymbols
*
frame_params
->
ofdm_symbol_size
,
1
,
1
);
LOG_M
(
"prsEstT.m"
,
"prs_chest
T
"
,
&
ue
->
prs_ch_estimates_time
[
rxAnt
][
prs_cfg
->
SymbolStart
*
frame_params
->
ofdm_symbol_size
],
prs_cfg
->
NumPRSSymbols
*
frame_params
->
ofdm_symbol_size
,
1
,
1
);
T
(
T_UE_PHY_DL_CHANNEL_ESTIMATE
,
T_INT
(
0
),
T_INT
(
proc
->
frame_rx
),
T_INT
(
proc
->
nr_slot_rx
),
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
c846f16e
...
...
@@ -141,7 +141,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame,int slot,nfapi_nr_
ssb_start_symbol
,
n_hf
,
frame
,
cfg
,
fp
);
LOG_M
(
"txsigF0.m"
,
"txsF0"
,
gNB
->
common_vars
.
txdataF
[
0
],
fp
->
samples_per_subframe_wCP
,
1
,
1
);
LOG_M
(
"txsigF0.m"
,
"txsF0"
,
gNB
->
common_vars
.
txdataF
[
txdataF_offset
],
fp
->
samples_per_subframe_wCP
,
1
,
1
);
}
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
c846f16e
...
...
@@ -1758,7 +1758,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
{
nr_slot_fep
(
ue
,
proc
,
j
,
(
j
%
fp
->
symbols_per_slot
)
,
nr_slot_rx
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment