discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Loop Bandwidth values and other Synchronization b


From: Qasim Chaudhari
Subject: Re: [Discuss-gnuradio] Loop Bandwidth values and other Synchronization block values
Date: Tue, 27 Aug 2019 10:15:46 +0500

Hi Ido
    The nature of your questions imply that their answers need to be long and probably it is best to find them in books. I would suggest the following two resources.

1. Phase-Locked Loops by R. Best
2. Digital Communication - A Discrete Time Approach by M. Rice
 
    I will just give short answers to your questions 1 and 2 below.

1. How to set the Loop Bandwidth value, can I relate it to the sample
   rate and required lock speed (in my case less then 100 milliseconds).

The normal practice is to start with the loop bandwidth at 1% to 5% of your input rate (usually sufficient for many applications). Like all iterative algorithms, the initial point plays a crucial role in how much time the convergence takes (if it converges). PLLs also suffer from hangups and cycle slips, the rate of which can be computed in probabilistic terms. It also depends on other factors such as the modulation type and the kind of error detector you employ that determine the shape of the S-curve (which is a mean value for each phase error).


Should the value in the FLL Band-Edge and Costas Loop be set differently?

Yes, FLL band edge operates at an integer number of samples per symbol while the Costas loop operates at the symbol rate.

   2. How to set other synchronization-related values, like the TED, TED
   Gain, Damping Factor, Maximum Deviation etc...

Just like you can have different recipes for cooking the same meal, there are different algorithms to achieve the same purpose. The choice of TED depends first on your system specifications, and then your own taste. TED gain is derived from the TED _expression_ itself. In most cases, just set the damping factor to a fixed value between 0.7 and 1. Maximum deviation depends on the ppm rating of the clock.

At 1200 bps, your receiver gets 8x less number of symbols as compared to 9600 bps within those 100 ms. 1200 x 100 e-3 = 120 bits which is too less a number for a feedback solution to acquire the signal (even more so with a preamble like 01111110).
 
Cheers,
Qasim


From: Ido Bronfeld <address@hidden>
To: address@hidden
Subject: [Discuss-gnuradio] Loop Bandwidth values and other
        Synchronization block values
Message-ID:
        <CAMVSrCcEFjdnVtMvkFYiRLVNH1tbuMACqVVHJq=address@hidden>
Content-Type: text/plain; charset="utf-8"

Hi everybody, I am working on a satellite receiver system for AX.25 packets
modulated in BPSK RRC filtered(NRZI encoding and G3RUH scrambling). There
is no error correction, and data rates are in the range of 1200 to 9600
bits per second.

I am using the FLL Band-Edge and Costas Loop blocks for carrier phase and
frequency recovery, and the Symbol Sync block for timing/clock recovery.
How should I set the parameters of these blocks? I am particularly focusing
on the Loop Bandwidth values that is central to all of these blocks, I know
that increasing the bandwidth will result in faster locking times and a
wider offset bandwidth, while adding noise, but I don't exactly know how to
determine the value.

The packets have a preamble, consisting of AX.25 flags (01111110) sent one
after another. *The preamble length is 100 milliseconds in all data rates.*

I understand that the Loop Bandwidth value should be dependent on the
sample rate, and that it is presumably tuning the loop filter's bandwidth,
although I don't know what the relation is between the Loop Bandwidth and
the actual bandwidth of the Loop filter, as well as how I should
tune/calculate the optimal value.

I also need help setting the Symbol Sync parameters, what TED should I use?
What should the TED Gain and Damping Factor be?

Lastly, I understand I can use the Correlation Estimator block to assist in
initial lock by correlating against the preamble, but I don't know how to
use it.

>From experimental results (working with the satellite while its in the
other room, SNR is at least 20 dB, optimal conditions and also loopback
tests with a LimeSDR and an attenuator to simulate the space channel's  SNR
~15 dB), we get fairly good results with our values (I will include the
flowgraph). We don't have a problem locking at 9600 bits per second, but at
1200 bits per second we are unable to lock onto the first packet, and our
lock bandwidth goes down considerably.

*To summarize, my main questions are:*

   1. How to set the Loop Bandwidth value, can I relate it to the sample
   rate and required lock speed (in my case less then 100 milliseconds).
   Should the value in the FLL Band-Edge and Costas Loop be set differently?
   2. How to set other synchronization-related values, like the TED, TED
   Gain, Damping Factor, Maximum Deviation etc...
   3. How can I use the Correlation Estimator?
   4. Any other suggestions on how to optimize the flowgraph?

I appreciate the help!
Regards,

Ido

reply via email to

[Prev in Thread] Current Thread [Next in Thread]