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 <[email protected]>
> To: [email protected]
> Subject: [Discuss-gnuradio] Loop Bandwidth values and other
>         Synchronization block values
> Message-ID:
>         <CAMVSrCcEFjdnVtMvkFYiRLVNH1tbuMACqVVHJq=
> [email protected]>
> 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
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to