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
wangwenhui
OpenXG-RAN
Commits
51ffa4f6
Commit
51ffa4f6
authored
Jun 26, 2018
by
Hongzhi Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ue removing logs
parent
d091e846
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
92 deletions
+18
-92
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+2
-50
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
+16
-42
No files found.
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
51ffa4f6
...
@@ -107,11 +107,8 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -107,11 +107,8 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
ue
->
high_speed_flag
,
ue
->
high_speed_flag
,
frame_mod4
);
frame_mod4
);
if
((
pbch_tx_ant
>
0
)
&&
(
pbch_tx_ant
<=
2
))
{
pbch_decoded
=
1
;
pbch_decoded
=
1
;
// break;
// break;
}
//}
//}
...
@@ -129,43 +126,6 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -129,43 +126,6 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
// ue->pbch_vars[0]->decoded_output[0] = ue->pbch_vars[0]->decoded_output[2];
// ue->pbch_vars[0]->decoded_output[0] = ue->pbch_vars[0]->decoded_output[2];
// ue->pbch_vars[0]->decoded_output[2] = dummy;
// ue->pbch_vars[0]->decoded_output[2] = dummy;
// now check for Bandwidth of Cell
dummy
=
(
ue
->
pbch_vars
[
0
]
->
decoded_output
[
2
]
>>
5
)
&
7
;
switch
(
dummy
)
{
case
0
:
frame_parms
->
N_RB_DL
=
6
;
break
;
case
1
:
frame_parms
->
N_RB_DL
=
15
;
break
;
case
2
:
frame_parms
->
N_RB_DL
=
25
;
break
;
case
3
:
frame_parms
->
N_RB_DL
=
50
;
break
;
case
4
:
frame_parms
->
N_RB_DL
=
75
;
break
;
case
5
:
frame_parms
->
N_RB_DL
=
100
;
break
;
default:
LOG_E
(
PHY
,
"[UE%d] Initial sync: PBCH decoding: Unknown N_RB_DL
\n
"
,
ue
->
Mod_id
);
return
-
1
;
break
;
}
for
(
int
i
=
0
;
i
<
RX_NB_TH
;
i
++
)
for
(
int
i
=
0
;
i
<
RX_NB_TH
;
i
++
)
{
{
ue
->
proc
.
proc_rxtx
[
i
].
frame_rx
=
(((
ue
->
pbch_vars
[
0
]
->
decoded_output
[
2
]
&
3
)
<<
6
)
+
(
ue
->
pbch_vars
[
0
]
->
decoded_output
[
1
]
>>
2
))
<<
2
;
ue
->
proc
.
proc_rxtx
[
i
].
frame_rx
=
(((
ue
->
pbch_vars
[
0
]
->
decoded_output
[
2
]
&
3
)
<<
6
)
+
(
ue
->
pbch_vars
[
0
]
->
decoded_output
[
1
]
>>
2
))
<<
2
;
...
@@ -178,14 +138,11 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -178,14 +138,11 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
ue
->
proc
.
proc_rxtx
[
i
].
frame_tx
=
ue
->
proc
.
proc_rxtx
[
0
].
frame_rx
;
ue
->
proc
.
proc_rxtx
[
i
].
frame_tx
=
ue
->
proc
.
proc_rxtx
[
0
].
frame_rx
;
}
}
#ifdef DEBUG_INITIAL_SYNCH
#ifdef DEBUG_INITIAL_SYNCH
LOG_I
(
PHY
,
"[UE%d] Initial sync: pbch decoded sucessfully mode1_flag %d, tx_ant %d, frame %d
, N_RB_DL %d, phich_duration %d, phich_resource %s!
\n
"
,
LOG_I
(
PHY
,
"[UE%d] Initial sync: pbch decoded sucessfully mode1_flag %d, tx_ant %d, frame %d
\n
"
,
ue
->
Mod_id
,
ue
->
Mod_id
,
frame_parms
->
mode1_flag
,
frame_parms
->
mode1_flag
,
pbch_tx_ant
,
pbch_tx_ant
,
ue
->
proc
.
proc_rxtx
[
0
].
frame_rx
,
ue
->
proc
.
proc_rxtx
[
0
].
frame_rx
,);
frame_parms
->
N_RB_DL
,
frame_parms
->
phich_config_common
.
phich_duration
,
phich_resource
);
//frame_parms->phich_config_common.phich_resource);
#endif
#endif
return
(
0
);
return
(
0
);
}
else
{
}
else
{
...
@@ -194,7 +151,6 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -194,7 +151,6 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
}
}
char
phich_string
[
13
][
4
]
=
{
""
,
"1/6"
,
""
,
"1/2"
,
""
,
""
,
"one"
,
""
,
""
,
""
,
""
,
""
,
"two"
};
char
duplex_string
[
2
][
4
]
=
{
"FDD"
,
"TDD"
};
char
duplex_string
[
2
][
4
]
=
{
"FDD"
,
"TDD"
};
char
prefix_string
[
2
][
9
]
=
{
"NORMAL"
,
"EXTENDED"
};
char
prefix_string
[
2
][
9
]
=
{
"NORMAL"
,
"EXTENDED"
};
...
@@ -325,10 +281,6 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -325,10 +281,6 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
}
}
#endif
#endif
generate_pcfich_reg_mapping
(
frame_parms
);
generate_phich_reg_mapping
(
frame_parms
);
ue
->
pbch_vars
[
0
]
->
pdu_errors_conseq
=
0
;
ue
->
pbch_vars
[
0
]
->
pdu_errors_conseq
=
0
;
}
}
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
View file @
51ffa4f6
...
@@ -394,21 +394,20 @@ void nr_pbch_unscrambling(NR_DL_FRAME_PARMS *frame_parms,
...
@@ -394,21 +394,20 @@ void nr_pbch_unscrambling(NR_DL_FRAME_PARMS *frame_parms,
uint8_t
reset
;
uint8_t
reset
;
uint32_t
x1
,
x2
,
s
=
0
;
uint32_t
x1
,
x2
,
s
=
0
;
printf
(
"unscramb nid_cell %d
\n
"
,
frame_parms
->
Nid_cell
);
//
printf("unscramb nid_cell %d\n",frame_parms->Nid_cell);
reset
=
1
;
reset
=
1
;
// x1 is set in first call to lte_gold_generic
// x1 is set in first call to lte_gold_generic
x2
=
frame_parms
->
Nid_cell
;
//this is c_init in 36.211 Sec 6.6.1
x2
=
frame_parms
->
Nid_cell
;
//this is c_init in 36.211 Sec 6.6.1
// msg("pbch_unscrambling: Nid_cell = %d\n",x2);
for
(
i
=
0
;
i
<
length
;
i
++
)
{
for
(
i
=
0
;
i
<
length
;
i
++
)
{
if
(
i
%
32
==
0
)
{
if
(
i
%
32
==
0
)
{
s
=
lte_gold_generic
(
&
x1
,
&
x2
,
reset
);
s
=
lte_gold_generic
(
&
x1
,
&
x2
,
reset
);
printf
(
"lte_gold[%d]=%x
\n
"
,
i
,
s
);
//
printf("lte_gold[%d]=%x\n",i,s);
reset
=
0
;
reset
=
0
;
}
}
printf
(
"s = %d
\n
"
,((
s
>>
(
i
%
32
))
&
1
)
);
//
printf("s = %d\n",((s>>(i%32))&1) );
if
(((
s
>>
(
i
%
32
))
&
1
)
==
1
)
if
(((
s
>>
(
i
%
32
))
&
1
)
==
1
)
pbch_a
[
i
]
=
1
-
pbch_a
[
i
];
pbch_a
[
i
]
=
1
-
pbch_a
[
i
];
}
}
...
@@ -503,15 +502,10 @@ uint16_t nr_rx_pbch( PHY_VARS_NR_UE *ue,
...
@@ -503,15 +502,10 @@ uint16_t nr_rx_pbch( PHY_VARS_NR_UE *ue,
int8_t
decoderState
=
0
;
int8_t
decoderState
=
0
;
uint8_t
decoderListSize
=
8
,
pathMetricAppr
=
0
;
uint8_t
decoderListSize
=
8
,
pathMetricAppr
=
0
;
double
aPrioriArray
[
frame_parms
->
pbch_polar_params
.
payloadBits
];
// assume no a priori knowledge available about the payload.
double
aPrioriArray
[
frame_parms
->
pbch_polar_params
.
payloadBits
];
// assume no a priori knowledge available about the payload.
double
*
channelOutput
=
malloc
(
sizeof
(
double
)
*
864
);
//add noise
uint8_t
*
estimatedOutput
=
malloc
(
sizeof
(
uint8_t
)
*
32
);
//decoder output
memset
(
&
channelOutput
[
0
],
0
,
sizeof
(
double
)
*
864
);
memset
(
&
estimatedOutput
[
0
],
0
,
sizeof
(
uint8_t
)
*
32
);
memset
(
&
pbch_a
[
0
],
0
,
sizeof
(
uint8_t
)
*
32
);
memset
(
&
pbch_a
[
0
],
0
,
sizeof
(
uint8_t
)
*
NR_POLAR_PBCH_PAYLOAD_BITS
);
frame_parms
->
Nid_cell
=
100
;
printf
(
"nr_pbch_ue nid_cell %d
\n
"
,
frame_parms
->
Nid_cell
);
//
printf("nr_pbch_ue nid_cell %d\n",frame_parms->Nid_cell);
for
(
int
i
=
0
;
i
<
frame_parms
->
pbch_polar_params
.
payloadBits
;
i
++
)
aPrioriArray
[
i
]
=
NAN
;
for
(
int
i
=
0
;
i
<
frame_parms
->
pbch_polar_params
.
payloadBits
;
i
++
)
aPrioriArray
[
i
]
=
NAN
;
...
@@ -597,57 +591,37 @@ uint16_t nr_rx_pbch( PHY_VARS_NR_UE *ue,
...
@@ -597,57 +591,37 @@ uint16_t nr_rx_pbch( PHY_VARS_NR_UE *ue,
printf
(
"pbch rx llr %d rxdata_comp %d addr %p
\n
"
,
*
(
pbch_e_rx
+
cnt
),
p
[
cnt
],
&
p
[
0
]);
printf
(
"pbch rx llr %d rxdata_comp %d addr %p
\n
"
,
*
(
pbch_e_rx
+
cnt
),
p
[
cnt
],
&
p
[
0
]);
//#endif
//#endif
for
(
i
nt
i
=
0
;
i
<
NR_POLAR_PBCH_E
/
2
;
i
++
){
for
(
i
=
0
;
i
<
NR_POLAR_PBCH_E
/
2
;
i
++
){
idx_demod
=
(
sign
(
pbch_e_rx
[
i
<<
1
])
&
1
)
^
((
sign
(
pbch_e_rx
[(
i
<<
1
)
+
1
])
&
1
)
<<
1
);
idx_demod
=
(
sign
(
pbch_e_rx
[
i
<<
1
])
&
1
)
^
((
sign
(
pbch_e_rx
[(
i
<<
1
)
+
1
])
&
1
)
<<
1
);
demod_pbch_e
[
i
<<
1
]
=
nr_demod_table
[(
idx_demod
)
<<
1
];
demod_pbch_e
[
i
<<
1
]
=
nr_demod_table
[(
idx_demod
)
<<
1
];
demod_pbch_e
[(
i
<<
1
)
+
1
]
=
nr_demod_table
[((
idx_demod
)
<<
1
)
+
1
];
demod_pbch_e
[(
i
<<
1
)
+
1
]
=
nr_demod_table
[((
idx_demod
)
<<
1
)
+
1
];
#ifdef DEBUG_PBCH
if
(
i
<
16
){
if
(
i
<
16
){
printf
(
"idx[%d]= %d
\n
"
,
i
,
idx_demod
);
printf
(
"idx[%d]= %d
\n
"
,
i
,
idx_demod
);
printf
(
"sign[%d]= %d sign[%d]= %d
\n
"
,
i
<<
1
,
sign
(
pbch_e_rx
[
i
<<
1
]),
(
i
<<
1
)
+
1
,
sign
(
pbch_e_rx
[(
i
<<
1
)
+
1
]));
printf
(
"sign[%d]= %d sign[%d]= %d
\n
"
,
i
<<
1
,
sign
(
pbch_e_rx
[
i
<<
1
]),
(
i
<<
1
)
+
1
,
sign
(
pbch_e_rx
[(
i
<<
1
)
+
1
]));
printf
(
"demod_pbch_e2[%d] r = %2.3f i = %2.3f
\n
"
,
i
<<
1
,
demod_pbch_e
[
i
<<
1
],
demod_pbch_e
[(
i
<<
1
)
+
1
]);}
printf
(
"demod_pbch_e2[%d] r = %2.3f i = %2.3f
\n
"
,
i
<<
1
,
demod_pbch_e
[
i
<<
1
],
demod_pbch_e
[(
i
<<
1
)
+
1
]);}
#endif
}
}
//polar decoding de-rate matching
//polar decoding de-rate matching
decoderState
=
polar_decoder
(
demod_pbch_e
,
pbch_a
,
&
frame_parms
->
pbch_polar_params
,
decoderListSize
,
aPrioriArray
,
pathMetricAppr
);
decoderState
=
polar_decoder
(
demod_pbch_e
,
pbch_a
,
&
frame_parms
->
pbch_polar_params
,
decoderListSize
,
aPrioriArray
,
pathMetricAppr
);
for
(
i
=
0
;
i
<
32
/*(NR_POLAR_PBCH_PAYLOAD_BITS>>3)*/
;
i
++
)
//for (i=0; i<NR_POLAR_PBCH_PAYLOAD_BITS
; i++)
printf
(
"pbch_a[%d] = %u
\n
"
,
i
,
pbch_a
[
i
]);
//
printf("pbch_a[%d] = %u \n", i,pbch_a[i]);
//un-scrambling
//un-scrambling
nr_pbch_unscrambling
(
frame_parms
,
pbch_a
,
NR_POLAR_PBCH_PAYLOAD_BITS
);
nr_pbch_unscrambling
(
frame_parms
,
pbch_a
,
NR_POLAR_PBCH_PAYLOAD_BITS
);
for
(
i
=
0
;
i
<
32
/*(NR_POLAR_PBCH_PAYLOAD_BITS>>3)*/
;
i
++
)
printf
(
"after unscrambling pbch_a[%d] = %d
\n
"
,
i
,
pbch_a
[
i
]);
// Fix byte endian
// Fix byte endian
//for (i=0; i<32 /*(NR_POLAR_PBCH_PAYLOAD_BITS>>3)*/; i++)
for
(
i
=
0
;
i
<
(
NR_POLAR_PBCH_PAYLOAD_BITS
);
i
++
)
// printf("estimated output[%d] = %d \n", i,estimatedOutput[i]);
decoded_output
[(
NR_POLAR_PBCH_PAYLOAD_BITS
)
-
i
-
1
]
=
pbch_a
[
i
];
//decoded_output[(NR_POLAR_PBCH_PAYLOAD_BITS>>3)-i-1] = pbch_a[i];
//#ifdef DEBUG_PBCH
// for (i=0; i<2; i++)
// printf("[PBCH] pbch_a[%d] = %x\n",i,decoded_output[i]);
//#endif
#ifdef DEBUG_PBCH
#ifdef DEBUG_PBCH
msg
(
"PBCH CRC %x : %x
\n
"
,
for
(
i
=
0
;
i
<
(
NR_POLAR_PBCH_PAYLOAD_BITS
);
i
++
)
crc16
(
pbch_a
,
PBCH_A
),
printf
(
"unscrambling pbch_a[%d] = %d
\n
"
,
i
,
pbch_a
[
i
]);
((
uint16_t
)
pbch_a
[
PBCH_A
>>
3
]
<<
8
)
+
pbch_a
[(
PBCH_A
>>
3
)
+
1
]);
for
(
i
=
0
;
i
<
NR_POLAR_PBCH_PAYLOAD_BITS
;
i
++
)
printf
(
"[PBCH] decoder_output[%d] = %x
\n
"
,
i
,
decoded_output
[
i
]);
#endif
#endif
crc
=
(
crc16
(
pbch_a
,
PBCH_A
)
>>
16
)
^
(((
uint16_t
)
pbch_a
[
PBCH_A
>>
3
]
<<
8
)
+
pbch_a
[(
PBCH_A
>>
3
)
+
1
]);
if
(
crc
==
0x0000
)
return
(
1
);
else
if
(
crc
==
0xffff
)
return
(
2
);
else
if
(
crc
==
0x5555
)
return
(
4
);
else
return
(
-
1
);
}
}
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