mirror of https://github.com/PentHertz/srsLTE.git
fixed radio set/get freq precision
This commit is contained in:
parent
8661503d59
commit
7b854476a2
|
@ -98,16 +98,16 @@ namespace srslte {
|
|||
void set_tx_rx_gain_offset(float offset);
|
||||
double set_rx_gain_th(float gain);
|
||||
|
||||
void set_freq_offset(float freq);
|
||||
void set_tx_freq(float freq);
|
||||
void set_rx_freq(float freq);
|
||||
void set_freq_offset(double freq);
|
||||
void set_tx_freq(double freq);
|
||||
void set_rx_freq(double freq);
|
||||
|
||||
float get_tx_freq();
|
||||
float get_rx_freq();
|
||||
double get_tx_freq();
|
||||
double get_rx_freq();
|
||||
|
||||
void set_master_clock_rate(float rate);
|
||||
void set_tx_srate(float srate);
|
||||
void set_rx_srate(float srate);
|
||||
void set_master_clock_rate(double rate);
|
||||
void set_tx_srate(double srate);
|
||||
void set_rx_srate(double srate);
|
||||
|
||||
float get_tx_gain();
|
||||
float get_rx_gain();
|
||||
|
@ -157,9 +157,9 @@ namespace srslte {
|
|||
|
||||
const static double blade_default_burst_preamble_sec = 0.0;
|
||||
const static double blade_default_tx_adv_samples = 27;
|
||||
const static double blade_default_tx_adv_offset_sec = 1e-6;
|
||||
|
||||
float tx_freq, rx_freq, freq_offset;
|
||||
const static double blade_default_tx_adv_offset_sec = 1e-6;
|
||||
|
||||
double tx_freq, rx_freq, freq_offset;
|
||||
|
||||
trace<uint32_t> tr_local_time;
|
||||
trace<uint32_t> tr_usrp_time;
|
||||
|
|
|
@ -250,11 +250,11 @@ void radio::save_trace(uint32_t is_eob, srslte_timestamp_t *tx_time) {
|
|||
}
|
||||
}
|
||||
|
||||
void radio::set_freq_offset(float freq) {
|
||||
void radio::set_freq_offset(double freq) {
|
||||
freq_offset = freq;
|
||||
}
|
||||
|
||||
void radio::set_rx_freq(float freq)
|
||||
void radio::set_rx_freq(double freq)
|
||||
{
|
||||
rx_freq = srslte_rf_set_rx_freq(&rf_device, freq+freq_offset);
|
||||
}
|
||||
|
@ -269,17 +269,17 @@ double radio::set_rx_gain_th(float gain)
|
|||
return srslte_rf_set_rx_gain_th(&rf_device, gain);
|
||||
}
|
||||
|
||||
void radio::set_master_clock_rate(float rate)
|
||||
void radio::set_master_clock_rate(double rate)
|
||||
{
|
||||
srslte_rf_set_master_clock_rate(&rf_device, rate);
|
||||
}
|
||||
|
||||
void radio::set_rx_srate(float srate)
|
||||
void radio::set_rx_srate(double srate)
|
||||
{
|
||||
srslte_rf_set_rx_srate(&rf_device, srate);
|
||||
}
|
||||
|
||||
void radio::set_tx_freq(float freq)
|
||||
void radio::set_tx_freq(double freq)
|
||||
{
|
||||
tx_freq = srslte_rf_set_tx_freq(&rf_device, freq+freq_offset);
|
||||
}
|
||||
|
@ -289,12 +289,12 @@ void radio::set_tx_gain(float gain)
|
|||
srslte_rf_set_tx_gain(&rf_device, gain);
|
||||
}
|
||||
|
||||
float radio::get_rx_freq()
|
||||
double radio::get_rx_freq()
|
||||
{
|
||||
return rx_freq;
|
||||
}
|
||||
|
||||
float radio::get_tx_freq()
|
||||
double radio::get_tx_freq()
|
||||
{
|
||||
return tx_freq;
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ float radio::get_rx_gain()
|
|||
return srslte_rf_get_rx_gain(&rf_device);
|
||||
}
|
||||
|
||||
void radio::set_tx_srate(float srate)
|
||||
void radio::set_tx_srate(double srate)
|
||||
{
|
||||
cur_tx_srate = srslte_rf_set_tx_srate(&rf_device, srate);
|
||||
burst_preamble_samples = (uint32_t) (cur_tx_srate * burst_preamble_sec);
|
||||
|
|
|
@ -169,9 +169,7 @@ void phch_recv::set_ue_sync_opts(srslte_ue_sync_t *q) {
|
|||
srslte_ue_sync_cfo_i_detec_en(q, true);
|
||||
}
|
||||
|
||||
float cfo_tol = worker_com->args->cfo_correct_tol_hz;
|
||||
srslte_cfo_set_tol(&q->strack.cfocorr, cfo_tol / (15000 * q->fft_size));
|
||||
srslte_cfo_set_tol(&q->sfind.cfocorr, cfo_tol / (15000 * q->fft_size));
|
||||
srslte_ue_sync_set_cfo_tol(q, worker_com->args->cfo_correct_tol_hz);
|
||||
|
||||
int time_correct_period = worker_com->args->time_correct_period;
|
||||
if (time_correct_period > 0) {
|
||||
|
@ -499,8 +497,8 @@ bool phch_recv::cell_select(uint32_t earfcn, srslte_cell_t cell) {
|
|||
|
||||
bool phch_recv::set_frequency()
|
||||
{
|
||||
float dl_freq = 1e6*srslte_band_fd(current_earfcn);
|
||||
float ul_freq = 1e6*srslte_band_fu(srslte_band_ul_earfcn(current_earfcn));
|
||||
double dl_freq = 1e6*srslte_band_fd(current_earfcn);
|
||||
double ul_freq = 1e6*srslte_band_fu(srslte_band_ul_earfcn(current_earfcn));
|
||||
if (dl_freq > 0 && ul_freq > 0) {
|
||||
log_h->info("SYNC: Set DL EARFCN=%d, f_dl=%.1f MHz, f_ul=%.1f MHz\n",
|
||||
current_earfcn, dl_freq / 1e6, ul_freq / 1e6);
|
||||
|
@ -510,7 +508,7 @@ bool phch_recv::set_frequency()
|
|||
|
||||
radio_h->set_rx_freq(dl_freq);
|
||||
radio_h->set_tx_freq(ul_freq);
|
||||
ul_dl_factor = ul_freq / dl_freq;
|
||||
ul_dl_factor = radio_h->get_tx_freq()/radio_h->get_rx_freq();
|
||||
|
||||
srslte_ue_sync_reset(&ue_sync);
|
||||
|
||||
|
|
Loading…
Reference in New Issue