On 03/06/2021 11:31 AM, Snehasish Kar via USRP-users wrote:

Hello everyone

I am trying to achieve frequency hopping in GSM using twinrx with usrp x310. Here I am using timed command for tuning a single port across a given frequency list. During hopping it stays in each frequency for 4msecs and till the time frequency hopping continues, I am able to identify FCCH using phase difference. But as soon as the hopping is over and it tunes back to the actual frequency containing the broadcast channel, I am not getting phase difference greater than 0 and thus not able to demodulate the GSM burst. Can anyone please help where I am going wrong below is the snippet of the code, responsible for hopping.

Function handling hopping:

uhd::tune_request_t tune_request(rf_freq);

tune_request.rf_freq_policy = uhd::tune_request_t::POLICY_MANUAL;

tune_request.dsp_freq_policy = uhd::tune_request_t::POLICY_MANUAL;

tune_request.rf_freq = rf_freq;

tune_request.dsp_freq = dsp_freq;

uhd_src->set_rx_freq(tune_request, chan_num);

              {

If(verbose_lvl==3){

char msg[100]={0x00};

sprintf(msg,"info: DSP freq: changed to channel %d: %fMHz offset %fMHz", chan_num, uhd_src->get_rx_freq(chan_num)/1e6, dsp_freq);

vipl_printf(msg,error_lvl, __FILE__, __LINE__);

}

              }

//uhd_src->clear_command_time();

usleep(110000); // allow LOs to lock

Module for setting back to original frequency with broadcast:

uhd_src->clear_command_time();

uhd::tune_request_t tune_request(rf_freq, 0x00); //considering LO-Offset to be zero

tune_request.rf_freq_policy = uhd::tune_request_t::POLICY_AUTO;

tune_request.dsp_freq_policy = uhd::tune_request_t::POLICY_AUTO;

tune_request.rf_freq = rf_freq;

//tune_request.dsp_freq = -dsp_freq;

uhd_src->set_rx_freq(tune_request, channel);

              {

char msg[100]={0x00};

sprintf(msg,"info: freq: set to channel %d: %fMHz requested freq %fMHz", channel, uhd_src->get_rx_freq(channel)/1e6, rf_freq/1e6);

vipl_printf(msg,error_lvl, __FILE__, __LINE__);

              }

usleep(110000);

My UHD version is 3.14.0.0

USRP: X310

Daughter board: 2 sets of Twinrx

OS: Debian 10

Interface: 10gig sfp+ ethernet

Thanks!!

Regards

Snehasish Kar


By "phase synchronization" you're describing the demodulator phase?

You're hoping that the LO phase would be the same as if you had not hopped away from the original frequency? I don't think that's even possible, but your description is not very precise, so perhaps that's not what you meant?


_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to