Commit 8c16f16c authored by laurent's avatar laurent

add channel simulator in rfsimulator

parent cba07363
...@@ -106,7 +106,6 @@ void rxAddInput( struct complex16 *input_sig, struct complex16 *after_channel_si ...@@ -106,7 +106,6 @@ void rxAddInput( struct complex16 *input_sig, struct complex16 *after_channel_si
// −132.24 dBm is a LTE subcarrier noise, that was used in origin code (15KHz BW thermal noise) // −132.24 dBm is a LTE subcarrier noise, that was used in origin code (15KHz BW thermal noise)
const double rxGain= 132.24 - snr_dB; const double rxGain= 132.24 - snr_dB;
const double noise_per_sample = sqrt(0.5*noise_figure_watt) * pow(10,rxGain/20); const double noise_per_sample = sqrt(0.5*noise_figure_watt) * pow(10,rxGain/20);
// Fixme: we don't fill the offset length samples at begining ? // Fixme: we don't fill the offset length samples at begining ?
// anyway, in today code, channel_offset=0 // anyway, in today code, channel_offset=0
const int dd = abs(channelDesc->channel_offset); const int dd = abs(channelDesc->channel_offset);
...@@ -145,9 +144,9 @@ void rxAddInput( struct complex16 *input_sig, struct complex16 *after_channel_si ...@@ -145,9 +144,9 @@ void rxAddInput( struct complex16 *input_sig, struct complex16 *after_channel_si
if ( (TS*nbTx)%CirSize+nbSamples <= CirSize ) if ( (TS*nbTx)%CirSize+nbSamples <= CirSize )
// Cast to a wrong type for compatibility ! // Cast to a wrong type for compatibility !
LOG_I(HW,"Input power %f, output power: %f, channel path loss %f, noise coeff: %f \n", LOG_D(HW,"Input power %f, output power: %f, channel path loss %f, noise coeff: %f \n",
10*log10((double)signal_energy((int32_t*)&input_sig[(TS*nbTx)%CirSize], nbSamples)), 10*log10((double)signal_energy((int32_t *)&input_sig[(TS*nbTx)%CirSize], nbSamples)),
10*log10((double)signal_energy((int32_t*)after_channel_sig, nbSamples)), 10*log10((double)signal_energy((int32_t *)after_channel_sig, nbSamples)),
channelDesc->path_loss_dB, channelDesc->path_loss_dB,
10*log10(noise_per_sample)); 10*log10(noise_per_sample));
} }
...@@ -548,7 +547,6 @@ int rfsimulator_read(openair0_device *device, openair0_timestamp *ptimestamp, vo ...@@ -548,7 +547,6 @@ int rfsimulator_read(openair0_device *device, openair0_timestamp *ptimestamp, vo
nsamps, nsamps,
t->nextTimestamp t->nextTimestamp
); );
} }
} }
...@@ -587,9 +585,9 @@ int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_c ...@@ -587,9 +585,9 @@ int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_c
} }
__attribute__((__visibility__("default"))) __attribute__((__visibility__("default")))
int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
//set_log(HW,OAILOG_DEBUG); // to change the log level, use this on command line
set_log(TMR,OAILOG_DEBUG); // --log_config.hw_log_level debug
//set_log(PHY,OAILOG_DEBUG); // (for phy layer, replace "hw" by "phy"
rfsimulator_state_t *rfsimulator = (rfsimulator_state_t *)calloc(sizeof(rfsimulator_state_t),1); rfsimulator_state_t *rfsimulator = (rfsimulator_state_t *)calloc(sizeof(rfsimulator_state_t),1);
if ((rfsimulator->ip=getenv("RFSIMULATOR")) == NULL ) { if ((rfsimulator->ip=getenv("RFSIMULATOR")) == NULL ) {
......
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