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
lizhongxiao
OpenXG-RAN
Commits
31cd3182
Commit
31cd3182
authored
Feb 28, 2022
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move get_dft() and get_idft() from pss_nr.c to tools_defs.h
parent
d104ef73
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
122 additions
and
164 deletions
+122
-164
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/MODULATION/slot_fep_nr.c
+3
-44
openair1/PHY/NR_REFSIG/pss_nr.h
openair1/PHY/NR_REFSIG/pss_nr.h
+0
-2
openair1/PHY/NR_UE_TRANSPORT/pss_nr.c
openair1/PHY/NR_UE_TRANSPORT/pss_nr.c
+0
-118
openair1/PHY/TOOLS/tools_defs.h
openair1/PHY/TOOLS/tools_defs.h
+119
-0
No files found.
openair1/PHY/MODULATION/slot_fep_nr.c
View file @
31cd3182
...
...
@@ -34,47 +34,6 @@
#define LOG_I(A,B...) printf(A)
#endif*/
dft_size_idx_t
get_dft_size_idx
(
uint16_t
ofdm_symbol_size
)
{
switch
(
ofdm_symbol_size
)
{
case
128
:
return
DFT_128
;
case
256
:
return
DFT_256
;
case
512
:
return
DFT_512
;
case
1024
:
return
DFT_1024
;
case
1536
:
return
DFT_1536
;
case
2048
:
return
DFT_2048
;
case
3072
:
return
DFT_3072
;
case
4096
:
return
DFT_4096
;
case
6144
:
return
DFT_6144
;
case
8192
:
return
DFT_8192
;
default:
printf
(
"unsupported ofdm symbol size
\n
"
);
assert
(
0
);
}
return
DFT_SIZE_IDXTABLESIZE
;
}
int
nr_slot_fep
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
unsigned
char
symbol
,
...
...
@@ -96,7 +55,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
nb_prefix_samples0
=
frame_parms
->
nb_prefix_samples
;
}
dft_size_idx_t
dftsize
=
get_dft
_size_idx
(
frame_parms
->
ofdm_symbol_size
);
dft_size_idx_t
dftsize
=
get_dft
(
frame_parms
->
ofdm_symbol_size
);
// This is for misalignment issues
int32_t
tmp_dft_in
[
8192
]
__attribute__
((
aligned
(
32
)));
...
...
@@ -195,7 +154,7 @@ int nr_slot_fep_init_sync(PHY_VARS_NR_UE *ue,
}
unsigned
int
frame_length_samples
=
frame_parms
->
samples_per_frame
;
dft_size_idx_t
dftsize
=
get_dft
_size_idx
(
frame_parms
->
ofdm_symbol_size
);
dft_size_idx_t
dftsize
=
get_dft
(
frame_parms
->
ofdm_symbol_size
);
// This is for misalignment issues
int32_t
tmp_dft_in
[
8192
]
__attribute__
((
aligned
(
32
)));
...
...
@@ -289,7 +248,7 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
unsigned
int
nb_prefix_samples
=
frame_parms
->
nb_prefix_samples
;
unsigned
int
nb_prefix_samples0
=
frame_parms
->
nb_prefix_samples0
;
dft_size_idx_t
dftsize
=
get_dft
_size_idx
(
frame_parms
->
ofdm_symbol_size
);
dft_size_idx_t
dftsize
=
get_dft
(
frame_parms
->
ofdm_symbol_size
);
// This is for misalignment issues
int32_t
tmp_dft_in
[
8192
]
__attribute__
((
aligned
(
32
)));
...
...
openair1/PHY/NR_REFSIG/pss_nr.h
View file @
31cd3182
...
...
@@ -126,8 +126,6 @@ EXTERN time_stats_t generic_time[TIME_LAST];
/************** FUNCTION ******************************************/
idft_size_idx_t
get_idft
(
int
ofdm_symbol_size
);
dft_size_idx_t
get_dft
(
int
ofdm_symbol_size
);
void
init_context_synchro_nr
(
NR_DL_FRAME_PARMS
*
frame_parms_ue
);
void
free_context_synchro_nr
(
void
);
void
init_context_pss_nr
(
NR_DL_FRAME_PARMS
*
frame_parms_ue
);
...
...
openair1/PHY/NR_UE_TRANSPORT/pss_nr.c
View file @
31cd3182
...
...
@@ -48,126 +48,8 @@
#include "PHY/NR_REFSIG/sss_nr.h"
#include "PHY/NR_UE_TRANSPORT/cic_filter_nr.h"
/*******************************************************************
*
* NAME : get_idft
*
* PARAMETERS : size of ofdm symbol
*
* RETURN : index pointing to the dft func in the dft library
*
* DESCRIPTION : get idft function depending of ofdm size
*
*********************************************************************/
//#define DBG_PSS_NR
idft_size_idx_t
get_idft
(
int
ofdm_symbol_size
)
{
switch
(
ofdm_symbol_size
)
{
case
128
:
return
IDFT_128
;
break
;
case
256
:
return
IDFT_256
;
break
;
case
512
:
return
IDFT_512
;
break
;
case
1024
:
return
IDFT_1024
;
break
;
case
1536
:
return
IDFT_1536
;
break
;
case
2048
:
return
IDFT_2048
;
break
;
case
3072
:
return
IDFT_3072
;
break
;
case
4096
:
return
IDFT_4096
;
break
;
case
8192
:
return
IDFT_8192
;
break
;
default:
printf
(
"function get_idft : unsupported ofdm symbol size
\n
"
);
assert
(
0
);
break
;
}
return
IDFT_SIZE_IDXTABLESIZE
;
// never reached and will trigger assertion in idft function
}
/*******************************************************************
*
* NAME : get_dft
*
* PARAMETERS : size of ofdm symbol
*
* RETURN : function for discrete fourier transform
*
* DESCRIPTION : get dft function depending of ofdm size
*
*********************************************************************/
dft_size_idx_t
get_dft
(
int
ofdm_symbol_size
)
{
switch
(
ofdm_symbol_size
)
{
case
128
:
return
DFT_128
;
break
;
case
256
:
return
DFT_256
;
break
;
case
512
:
return
DFT_512
;
break
;
case
1024
:
return
DFT_1024
;
break
;
case
1536
:
return
DFT_1536
;
break
;
case
2048
:
return
DFT_2048
;
break
;
case
4096
:
return
DFT_4096
;
break
;
case
8192
:
return
DFT_8192
;
break
;
default:
printf
(
"function get_dft : unsupported ofdm symbol size
\n
"
);
assert
(
0
);
break
;
}
return
DFT_SIZE_IDXTABLESIZE
;
// never reached and will trigger assertion in idft function;
}
/*******************************************************************
*
* NAME : generate_pss_nr
...
...
openair1/PHY/TOOLS/tools_defs.h
View file @
31cd3182
...
...
@@ -33,7 +33,9 @@
extern
"C"
{
#endif
#include <stdio.h>
#include <stdint.h>
#include <assert.h>
#include "PHY/sse_intrin.h"
#define CEILIDIV(a,b) ((a+b-1)/b)
...
...
@@ -322,6 +324,65 @@ adftfunc_t dft_ftab[]={
};
#endif
/*******************************************************************
*
* NAME : get_dft
*
* PARAMETERS : size of ofdm symbol
*
* RETURN : function for discrete fourier transform
*
* DESCRIPTION : get dft function depending of ofdm size
*
*********************************************************************/
static
inline
dft_size_idx_t
get_dft
(
int
ofdm_symbol_size
)
{
switch
(
ofdm_symbol_size
)
{
case
128
:
return
DFT_128
;
case
256
:
return
DFT_256
;
case
512
:
return
DFT_512
;
case
1024
:
return
DFT_1024
;
case
1536
:
return
DFT_1536
;
case
2048
:
return
DFT_2048
;
case
3072
:
return
DFT_3072
;
case
4096
:
return
DFT_4096
;
case
6144
:
return
DFT_6144
;
case
8192
:
return
DFT_8192
;
case
9216
:
return
DFT_9216
;
case
12288
:
return
DFT_12288
;
case
18432
:
return
DFT_18432
;
case
24576
:
return
DFT_24576
;
case
36864
:
return
DFT_36864
;
case
49152
:
return
DFT_49152
;
case
73728
:
return
DFT_73728
;
case
98304
:
return
DFT_98304
;
default:
printf
(
"function get_dft : unsupported ofdm symbol size
\n
"
);
assert
(
0
);
break
;
}
return
DFT_SIZE_IDXTABLESIZE
;
// never reached and will trigger assertion in idft function;
}
typedef
enum
idft_size_idx
{
IDFT_128
,
IDFT_256
,
IDFT_512
,
IDFT_1024
,
IDFT_1536
,
IDFT_2048
,
IDFT_3072
,
IDFT_4096
,
IDFT_6144
,
IDFT_8192
,
IDFT_9216
,
IDFT_12288
,
IDFT_18432
,
IDFT_24576
,
IDFT_36864
,
IDFT_49152
,
...
...
@@ -336,6 +397,64 @@ aidftfunc_t idft_ftab[]={
};
#endif
/*******************************************************************
*
* NAME : get_idft
*
* PARAMETERS : size of ofdm symbol
*
* RETURN : index pointing to the dft func in the dft library
*
* DESCRIPTION : get idft function depending of ofdm size
*
*********************************************************************/
static
inline
idft_size_idx_t
get_idft
(
int
ofdm_symbol_size
)
{
switch
(
ofdm_symbol_size
)
{
case
128
:
return
IDFT_128
;
case
256
:
return
IDFT_256
;
case
512
:
return
IDFT_512
;
case
1024
:
return
IDFT_1024
;
case
1536
:
return
IDFT_1536
;
case
2048
:
return
IDFT_2048
;
case
3072
:
return
IDFT_3072
;
case
4096
:
return
IDFT_4096
;
case
6144
:
return
IDFT_6144
;
case
8192
:
return
IDFT_8192
;
case
9216
:
return
IDFT_9216
;
case
12288
:
return
IDFT_12288
;
case
18432
:
return
IDFT_18432
;
case
24576
:
return
IDFT_24576
;
case
36864
:
return
IDFT_36864
;
case
49152
:
return
IDFT_49152
;
case
73728
:
return
IDFT_73728
;
case
98304
:
return
IDFT_98304
;
default:
printf
(
"function get_idft : unsupported ofdm symbol size
\n
"
);
assert
(
0
);
break
;
}
return
IDFT_SIZE_IDXTABLESIZE
;
// never reached and will trigger assertion in idft function
}
/*!\fn int32_t rotate_cpx_vector(int16_t *x,int16_t *alpha,int16_t *y,uint32_t N,uint16_t output_shift)
...
...
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