enter image description hereI have designed a simple BPSK system which is operating in UHF band. My transmit data rate is chosen to be 500 kbps. My receiver has AGC, timing recovery and carrier recovery bocks.

I am using Gardner timing recovery with 2 samples/symbol. The loop bandwidth for 2nd order loop filter for timing and carrier recovery is chosen to be

My signal level varies from -30 to -10 dBm at the receiver. I am observing the lock in carrier and timing is not constant. Is it because of the loop parameters or signal level or the header bits chosen for the carrier and timing recovery?

  • $\begingroup$ Hi! That's pretty cool. Have you made sure your channel is flat? $\endgroup$ – Marcus Müller Jun 8 '20 at 14:34

I recommend that the OP confirm via testing each of the loop parameters separately in terms of convergence time and lock-in range. Step response testing is a good approach for convergence time and the range of the step can be increased to both evaluate lock-in range and close-in "linear" response that would affect tracking versus further-out "non-linear" response that would affect acquisition.

To do these one at a time I suggest for example the AGC: with the system locked in carrier and timing, introduce a very small step in amplitude and evaluate the time domain response and how long it takes to converge. Increase the range of this step and the response time should stay the same when in linear operation, and then start to increase or change as the operation becomes non-linear (if it does), and then eventually lose lock if the step is outside of the acquisition range (or more likely causes the carrier and timing to lose lock). Ideally this is done in simulation such that the other parameters can be forced to remain locked.

Carrier and Timing would follow the same approach: for carrier the level should remain constant and carrier and timing acquired and then introduce a small carrier offset, etc...

  • $\begingroup$ I have verified separately. It seems to be ok. I have kept the loop params same for timing and carrier which is S/10. S is symbol rate Should they be different? Or should params be different for acqisition and tracking for timing and carrier? $\endgroup$ – Susan Jun 8 '20 at 16:10
  • $\begingroup$ @Susan Can you show the details of your verification, specifically the response times. How many bits is in your header? What specifically is not working for you? $\endgroup$ – Dan Boschen Jun 8 '20 at 16:24
  • $\begingroup$ I am attaching the carrier recovery details as asked by u (error_before loop filter,error_after loop filter, DDS sine, DDS cosine). The loop starts tracking after 50 sec. As symbol rate is 0.1 sec. If I consider the start of the DDS sine wave then the number of bits required to track <0.2*Symbol rate are 500 bits. Is the above analysis of carrier lock fine? My 2nd order loop parameters K1=0.01 & K2=0.004.Looks like 500 bits are on the higher side. If the carrier freq to track is less then we can get faster lock. But can other parameters be changed to make it faster. ? $\endgroup$ – Susan Jun 9 '20 at 11:03
  • $\begingroup$ @Susan Your plot must be specific to carrier recovery. The start of DDS Sine isn't really a good metric to determine transition from acquisition to tracking, but a metric based on the actual error between the NCO frequency and your offset frequency. Your error before loop filter should be that frequency error and what you call error after loop filter should be the frequency control word if it's the input to your NCO (which it should be). The latter signal should appear as a filtered step but I don't see it converging to that yet, $\endgroup$ – Dan Boschen Jun 10 '20 at 2:17
  • $\begingroup$ meaning it hasn't yet settled and you need to observe it for much longer. You should see a step there from which you can establish a 10% to 90% settling time, and from that you can estimate your loop BW using $BW \approx 0.35/t_r$ with BW in Hz and $t_r$ in seconds. (and be sure it actually converges to what looks like a step given you test with a fixed frequency offset) $\endgroup$ – Dan Boschen Jun 10 '20 at 2:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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