I am planning to implement a frequency hopping spread spectrum transmitter and receiver in GNU Radio. In my project, the bandwidth of the message signal is around 200 kHz and the maximum frequency hopping interval is around 80 MHz. On the other hand, the USRP that I use can only support 40 MSample/sec which can not cover all the frequency bands of interest. Therefore, the use of a numerically controlled oscillator (NCO) is not applicable. Instead (as far as I consider), I should manipulate the carrier frequency of the local oscillator in the RF stage for such high carrier-frequency jumps.

My questions are:

  1. Is it possible to change the carrier frequency of the local oscillator instantaneously?
  2. How can I provide the synchronization of the receiver? (I am assuming that the transmitter sends a sync-word over a predetermined frequency. When the receiver detects the sync-word, the receiver changes the local oscillator frequency according to the hopping rule)
  • $\begingroup$ There's no USRP model that supports at most 40 MS/s. Are perhaps confusing analog bandwidth and sampling rate or something? $\endgroup$ Nov 28, 2021 at 17:07
  • $\begingroup$ the other two questions kind of depend on your definition of "instantaneous" and on your USRP model. $\endgroup$ Nov 28, 2021 at 17:09

1 Answer 1


No you cannot change the carrier frequency of your local oscillator instantaneously. The RF local oscillator will be in a Phase-Lock Loop (PLL) circuit to a low frequency reference (to provide frequency stability and tunability) and the switching time can be approximated from the loop bandwidth of that PLL when operating within the linear range of the PLL (relatively small frequency changes). As a first approximation, you can use the relationship of 10% to 90% rise time to bandwidth for a first order system:

$$t_r = \frac{0.35}{B}$$

Where $t_r$ is the 10% to 90% rise (or fall) time, and $B$ is the bandwidth in Hz.

This is derived from $1-e^{-t/\tau}$ which you could also use for any degree of accuracy for the settled value. The PLL itself will inevitably be a higher order system than this first-order approximation, and having the actual PLL transfer function model would lead to higher accuracy, but this can give you an initial idea of the time required.

Receiver synchronization is done using a cross-correlation of the received sequence with the locally generated pattern as the delay between the two is varied. For spread-spectrum the data is typically modulated by a known pseudo-random pattern, so that pattern can be used directly for synchronization and demodulation (a sync word is typically used however for framing a complete data packet).

  • 1
    $\begingroup$ Also note that with some tuners, if done right, the phase after tuning can be known, but in general, the phase after each tune is random – which means that (unless the constellation used doesn't care about absolute phase, e.g. is OOK or D-PSK) you need a phase synchronization after each hop. (whether or not that's possible with OP's device depends on the USRP/daughterboard) $\endgroup$ Nov 28, 2021 at 19:23
  • $\begingroup$ So, in a practical scenario, what is the appropriate way of implementing a frequency hopping spread spectrum technique? Only option is using a NCO? For example Bluetooth uses FHSS as well. Is it utilizing NCO? $\endgroup$ Nov 29, 2021 at 7:00
  • $\begingroup$ practical aspects: what USRP model do you use? This will define the things you can and cannot do. $\endgroup$ Nov 29, 2021 at 12:03
  • $\begingroup$ My understanding (I am not an expert in Bluetooth) is that it only hops over 1 MHz of BW. To do this with an NCO would be trivial and make sense as a preferred approach. Since frequency is the change of phase with time, you can also embed the frequency changes in the baseband IQ modulation directly (imposing the appropriate slope on the baseband waveform). If using an external analog LO/PLL, you need to pay attention to switching time as I described in my answer, and if coherent demod is used (needn't be for all cases) then phase sync needs to be dealt with as Marcus described. $\endgroup$ Nov 29, 2021 at 12:05
  • $\begingroup$ @DanBoschen I actually think BT (not BT low energy) hops over 1 MHz-spaced channels within the full 80 MHz band $\endgroup$ Nov 29, 2021 at 15:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.