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
spbro
OpenXG-RAN
Commits
675c0dff
Commit
675c0dff
authored
5 years ago
by
Ahmed Hussein
Committed by
Thomas Schlichter
5 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Providing time domain channel estimates
parent
b28d0068
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
7 deletions
+69
-7
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
+69
-7
No files found.
openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
View file @
675c0dff
...
...
@@ -30,12 +30,12 @@
int
nr_pusch_channel_estimation
(
PHY_VARS_gNB
*
gNB
,
uint8_t
gNB_offset
,
unsigned
char
Ns
,
unsigned
short
p
,
unsigned
char
symbol
,
unsigned
short
bwp_start_subcarrier
,
unsigned
short
nb_rb_pusch
)
uint8_t
gNB_offset
,
unsigned
char
Ns
,
unsigned
short
p
,
unsigned
char
symbol
,
unsigned
short
bwp_start_subcarrier
,
unsigned
short
nb_rb_pusch
)
{
int
pilot
[
1320
]
__attribute__
((
aligned
(
16
)));
unsigned
char
aarx
;
...
...
@@ -44,6 +44,8 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
int16_t
ch
[
2
],
*
pil
,
*
rxF
,
*
ul_ch
,
*
fl
,
*
fm
,
*
fr
,
*
fml
,
*
fmr
,
*
fmm
;
int
ch_offset
,
symbol_offset
,
length_dmrs
,
UE_id
=
0
;
unsigned
short
n_idDMRS
[
2
]
=
{
0
,
1
};
//to update from pusch config
int32_t
temp_in_ifft_0
[
8192
*
2
]
__attribute__
((
aligned
(
32
)));
int32_t
**
ul_ch_estimates_time
=
gNB
->
pusch_vars
[
UE_id
]
->
ul_ch_estimates_time
;
#ifdef DEBUG_CH
FILE
*
debug_ch_est
;
...
...
@@ -253,8 +255,68 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
ch
,
ul_ch
,
8
);
//}
// Convert to time domain
memset
(
temp_in_ifft_0
,
0
,
gNB
->
frame_parms
.
ofdm_symbol_size
*
sizeof
(
int32_t
));
for
(
int
ii
=
0
;
ii
<
nb_rb_pusch
*
12
;
ii
++
)
((
int32_t
*
)
temp_in_ifft_0
)[
ii
]
=
ul_ch_estimates
[
aarx
][
symbol_offset
+
ii
];
switch
(
gNB
->
frame_parms
.
ofdm_symbol_size
)
{
case
128
:
idft128
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
256
:
idft256
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
512
:
idft512
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
1024
:
idft1024
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
1536
:
idft1536
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
2048
:
idft2048
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
4096
:
idft4096
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
case
8192
:
idft8192
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
default:
idft512
((
int16_t
*
)
temp_in_ifft_0
,
(
int16_t
*
)
ul_ch_estimates_time
[
aarx
],
1
);
break
;
}
}
#ifdef DEBUG_CH
...
...
This diff is collapsed.
Click to expand it.
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