rfsimulator: correctly set center frequency
This commit is contained in:
@@ -2281,7 +2281,7 @@ void init_channelmod(void) {
|
|||||||
} /* init_channelmod */
|
} /* init_channelmod */
|
||||||
|
|
||||||
|
|
||||||
int load_channellist(uint8_t nb_tx, uint8_t nb_rx, double sampling_rate, double channel_bandwidth) {
|
int load_channellist(uint8_t nb_tx, uint8_t nb_rx, double sampling_rate, uint64_t center_freq, double channel_bandwidth) {
|
||||||
paramdef_t achannel_params[] = CHANNELMOD_MODEL_PARAMS_DESC;
|
paramdef_t achannel_params[] = CHANNELMOD_MODEL_PARAMS_DESC;
|
||||||
paramlist_def_t channel_list;
|
paramlist_def_t channel_list;
|
||||||
memset(&channel_list,0,sizeof(paramlist_def_t));
|
memset(&channel_list,0,sizeof(paramlist_def_t));
|
||||||
@@ -2314,7 +2314,7 @@ int load_channellist(uint8_t nb_tx, uint8_t nb_rx, double sampling_rate, double
|
|||||||
nb_rx,
|
nb_rx,
|
||||||
modid,
|
modid,
|
||||||
sampling_rate,
|
sampling_rate,
|
||||||
0,
|
center_freq,
|
||||||
channel_bandwidth,
|
channel_bandwidth,
|
||||||
*(channel_list.paramarray[i][pindex_DT].dblptr),
|
*(channel_list.paramarray[i][pindex_DT].dblptr),
|
||||||
0.0,
|
0.0,
|
||||||
|
|||||||
@@ -543,7 +543,7 @@ int modelid_fromstrtype(char *modeltype);
|
|||||||
double channelmod_get_snr_dB(void);
|
double channelmod_get_snr_dB(void);
|
||||||
double channelmod_get_sinr_dB(void);
|
double channelmod_get_sinr_dB(void);
|
||||||
void init_channelmod(void) ;
|
void init_channelmod(void) ;
|
||||||
int load_channellist(uint8_t nb_tx, uint8_t nb_rx, double sampling_rate, double channel_bandwidth) ;
|
int load_channellist(uint8_t nb_tx, uint8_t nb_rx, double sampling_rate, uint64_t center_freq, double channel_bandwidth) ;
|
||||||
double N_RB2sampling_rate(uint16_t N_RB);
|
double N_RB2sampling_rate(uint16_t N_RB);
|
||||||
double N_RB2channel_bandwidth(uint16_t N_RB);
|
double N_RB2channel_bandwidth(uint16_t N_RB);
|
||||||
|
|
||||||
|
|||||||
@@ -167,6 +167,7 @@ typedef struct {
|
|||||||
int rx_num_channels;
|
int rx_num_channels;
|
||||||
int tx_num_channels;
|
int tx_num_channels;
|
||||||
double sample_rate;
|
double sample_rate;
|
||||||
|
double rx_freq;
|
||||||
double tx_bw;
|
double tx_bw;
|
||||||
int channelmod;
|
int channelmod;
|
||||||
double chan_pathloss;
|
double chan_pathloss;
|
||||||
@@ -342,7 +343,7 @@ static void rfsimulator_readconfig(rfsimulator_state_t *rfsimulator) {
|
|||||||
break;
|
break;
|
||||||
} else if (strcmp(rfsimu_params[p].strlistptr[i],"chanmod") == 0) {
|
} else if (strcmp(rfsimu_params[p].strlistptr[i],"chanmod") == 0) {
|
||||||
init_channelmod();
|
init_channelmod();
|
||||||
load_channellist(rfsimulator->tx_num_channels, rfsimulator->rx_num_channels, rfsimulator->sample_rate, rfsimulator->tx_bw);
|
load_channellist(rfsimulator->tx_num_channels, rfsimulator->rx_num_channels, rfsimulator->sample_rate, rfsimulator->rx_freq, rfsimulator->tx_bw);
|
||||||
rfsimulator->channelmod=true;
|
rfsimulator->channelmod=true;
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "unknown rfsimulator option: %s\n", rfsimu_params[p].strlistptr[i]);
|
fprintf(stderr, "unknown rfsimulator option: %s\n", rfsimu_params[p].strlistptr[i]);
|
||||||
@@ -400,7 +401,7 @@ static int rfsimu_setchanmod_cmd(char *buff, int debug, telnet_printfunc_t prnt,
|
|||||||
t->rx_num_channels,
|
t->rx_num_channels,
|
||||||
channelmod,
|
channelmod,
|
||||||
t->sample_rate,
|
t->sample_rate,
|
||||||
0,
|
t->rx_freq,
|
||||||
t->tx_bw,
|
t->tx_bw,
|
||||||
30e-9, // TDL delay-spread parameter
|
30e-9, // TDL delay-spread parameter
|
||||||
0.0,
|
0.0,
|
||||||
@@ -963,6 +964,8 @@ static int rfsimulator_stop(openair0_device *device) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static int rfsimulator_set_freq(openair0_device *device, openair0_config_t *openair0_cfg) {
|
static int rfsimulator_set_freq(openair0_device *device, openair0_config_t *openair0_cfg) {
|
||||||
|
rfsimulator_state_t* s = device->priv;
|
||||||
|
s->rx_freq = openair0_cfg->rx_freq[0];
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_cfg) {
|
static int rfsimulator_set_gains(openair0_device *device, openair0_config_t *openair0_cfg) {
|
||||||
@@ -980,6 +983,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
|
|||||||
rfsimulator->tx_num_channels=openair0_cfg->tx_num_channels;
|
rfsimulator->tx_num_channels=openair0_cfg->tx_num_channels;
|
||||||
rfsimulator->rx_num_channels=openair0_cfg->rx_num_channels;
|
rfsimulator->rx_num_channels=openair0_cfg->rx_num_channels;
|
||||||
rfsimulator->sample_rate=openair0_cfg->sample_rate;
|
rfsimulator->sample_rate=openair0_cfg->sample_rate;
|
||||||
|
rfsimulator->rx_freq=openair0_cfg->rx_freq[0];
|
||||||
rfsimulator->tx_bw=openair0_cfg->tx_bw;
|
rfsimulator->tx_bw=openair0_cfg->tx_bw;
|
||||||
rfsimulator_readconfig(rfsimulator);
|
rfsimulator_readconfig(rfsimulator);
|
||||||
if (rfsimulator->prop_delay_ms > 0.0)
|
if (rfsimulator->prop_delay_ms > 0.0)
|
||||||
|
|||||||
Reference in New Issue
Block a user