Commit ecee5edc authored by Florian Kaltenberger's avatar Florian Kaltenberger

enabling new modulation

parent ccba43e2
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
//#define DEBUG_DLSCH_MODULATION //#define DEBUG_DLSCH_MODULATION
#define NEW_ALLOC_RE
//#define is_not_pilot(pilots,re,nushift,use2ndpilots) ((pilots==0) || ((re!=nushift) && (re!=nushift+6)&&((re!=nushift+3)||(use2ndpilots==1))&&((re!=nushift+9)||(use2ndpilots==1)))?1:0) //#define is_not_pilot(pilots,re,nushift,use2ndpilots) ((pilots==0) || ((re!=nushift) && (re!=nushift+6)&&((re!=nushift+3)||(use2ndpilots==1))&&((re!=nushift+9)||(use2ndpilots==1)))?1:0)
...@@ -2015,7 +2016,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2015,7 +2016,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
int16_t qam16_table_a1[4],qam64_table_a1[8],qam16_table_b1[4],qam64_table_b1[8]; int16_t qam16_table_a1[4],qam64_table_a1[8],qam16_table_b1[4],qam64_table_b1[8];
int16_t *qam_table_s0=NULL,*qam_table_s1=NULL; int16_t *qam_table_s0=NULL,*qam_table_s1=NULL;
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: variable to be removed? */ /* TODO: variable to be removed? */
int (*allocate_REs)(PHY_VARS_eNB*, int (*allocate_REs)(PHY_VARS_eNB*,
int **, int **,
...@@ -2257,7 +2258,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2257,7 +2258,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
re_offset = frame_parms->first_carrier_offset; re_offset = frame_parms->first_carrier_offset;
symbol_offset = (uint32_t)frame_parms->ofdm_symbol_size*(l+(subframe_offset*nsymb)); symbol_offset = (uint32_t)frame_parms->ofdm_symbol_size*(l+(subframe_offset*nsymb));
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: remove this code? */ /* TODO: remove this code? */
allocate_REs = allocate_REs_in_RB; allocate_REs = allocate_REs_in_RB;
#endif #endif
...@@ -2269,7 +2270,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2269,7 +2270,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
case 4: case 4:
if (pilots) { if (pilots) {
qam_table_s0 = qam16_table_b0; qam_table_s0 = qam16_table_b0;
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: remove this code? */ /* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ? allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_pilots_16QAM_siso : allocate_REs_in_RB_pilots_16QAM_siso :
...@@ -2278,7 +2279,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2278,7 +2279,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
} }
else { else {
qam_table_s0 = qam16_table_a0; qam_table_s0 = qam16_table_a0;
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: remove this code? */ /* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ? allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_no_pilots_16QAM_siso : allocate_REs_in_RB_no_pilots_16QAM_siso :
...@@ -2291,7 +2292,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2291,7 +2292,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
case 6: case 6:
if (pilots) { if (pilots) {
qam_table_s0 = qam64_table_b0; qam_table_s0 = qam64_table_b0;
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: remove this code? */ /* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ? allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_pilots_64QAM_siso : allocate_REs_in_RB_pilots_64QAM_siso :
...@@ -2300,7 +2301,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2300,7 +2301,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
} }
else { else {
qam_table_s0 = qam64_table_a0; qam_table_s0 = qam64_table_a0;
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: remove this code? */ /* TODO: remove this code? */
allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ? allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
allocate_REs_in_RB_no_pilots_64QAM_siso : allocate_REs_in_RB_no_pilots_64QAM_siso :
...@@ -2314,7 +2315,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2314,7 +2315,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
switch (mod_order1) { switch (mod_order1) {
case 2: case 2:
qam_table_s1 = NULL; qam_table_s1 = NULL;
#if 0 #ifdef NEW_ALLOC_RE
/* TODO: remove this code? */ /* TODO: remove this code? */
allocate_REs = allocate_REs_in_RB; allocate_REs = allocate_REs_in_RB;
#endif #endif
...@@ -2393,7 +2394,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB, ...@@ -2393,7 +2394,7 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
rb); rb);
allocate_REs_in_RB(phy_vars_eNB, allocate_REs(phy_vars_eNB,
txdataF, txdataF,
&jj, &jj,
&jj2, &jj2,
......
[*] [*]
[*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI [*] GTKWave Analyzer v3.3.58 (w)1999-2014 BSI
[*] Tue Oct 24 08:41:51 2017 [*] Fri Oct 27 14:01:34 2017
[*] [*]
[dumpfile] "/tmp/openair_dump_eNB.vcd" [dumpfile] "/tmp/openair_dump_eNB.vcd"
[dumpfile_mtime] "Tue Oct 24 08:27:56 2017" [dumpfile_mtime] "Fri Oct 27 11:38:57 2017"
[dumpfile_size] 4053651 [dumpfile_size] 13854600
[savefile] "/homes/wangts/openairinterface5g/targets/RT/USER/eNB_usrp.gtkw" [savefile] "/homes/kaltenbe/Devel/openair/openairinterface5g/targets/RT/USER/eNB_usrp.gtkw"
[timestart] 15494750000 [timestart] 15494750000
[size] 1855 1056 [size] 1855 1056
[pos] 65 -10 [pos] 65 0
*-19.872988 15497443000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 *-19.872988 15495913242 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
[sst_width] 386 [sst_width] 386
[signals_width] 302 [signals_width] 302
[sst_expanded] 1 [sst_expanded] 1
...@@ -32,15 +32,13 @@ functions.mac_schedule_dlsch ...@@ -32,15 +32,13 @@ functions.mac_schedule_dlsch
functions.macxface_eNB_dlsch_ulsch_scheduler functions.macxface_eNB_dlsch_ulsch_scheduler
functions.macxface_ue_scheduler functions.macxface_ue_scheduler
functions.phy_eNB_ofdm_mod_l functions.phy_eNB_ofdm_mod_l
functions.phy_eNB_dlsch_encoding
functions.phy_eNB_dlsch_scrambling functions.phy_eNB_dlsch_scrambling
functions.phy_eNB_dlsch_modulation functions.phy_eNB_dlsch_modulation
functions.phy_eNB_dlsch_scrambling
functions.phy_eNB_beam_precoding functions.phy_eNB_beam_precoding
functions.phy_enb_pdcch_tx functions.phy_enb_pdcch_tx
functions.phy_enb_prach_rx functions.phy_enb_prach_rx
@29
functions.phy_procedures_ru_feprx0 functions.phy_procedures_ru_feprx0
@28
functions.phy_procedures_eNb_rx_uespec0 functions.phy_procedures_eNb_rx_uespec0
functions.phy_procedures_eNb_rx_uespec1 functions.phy_procedures_eNb_rx_uespec1
functions.phy_enb_sfgen functions.phy_enb_sfgen
......
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