GNUradio Software Drift correction - looking for IQ recording of NB transponder

  • It could be considered to use the lower beacon as a reference as well.

    Once locked on the upper beacon you can lock on the lower beacon with a much smaller bandwidth, especially during the long carriers.

    But I should say it already works quite well here on my 80cm dish. It does not only compensate for the slow drift but also stabilizes most of the faster jitter.

  • DL5RDI you are totally right. And indeed, as measured by EA4GPZ, the C/N of the upper beacon in 2kHz is about 12 dB considering the transponder noise as the "N" term.


    pe1chl : I amo not sure that my method works on the lower beacon, first of all the Costas loop is not really designed to lock onto single carriers (although it can), and secondly, the interruptions as a result of the keying would result in loss of lock. But as you mentioned setting the bandwidth (i.e. inertia) of the system low enough it could work. Worth an experiment. IMO the nice thing about locking to the upper beacon is that the whole system is phase coherent when locked (so not just the frequency drift is compensated, but phase (time integral of frequency).

  • Yes and also the upper beacon is easier to "recognize". You would not want to lock on a CW station instead of the lower beacon, that is why first a lock on the upper beacon should be attempted.

    On a single carrier of course a simple PLL could be used. But as you mention, the signal is not continuous so the lock would not be continuous. Something would have to be devised so it will "hold" when the signal is not present.

    Well, I have no S/N problem to track the upper beacon. However, lock can be lost due to sudden strong excursions of the frequency that exceed the loop bandwidth at that time.

    I have attempted to add a "lock indicator" but have not yet succeeded.

  • pe1chl

    Lock indicators for Costas Loops are a tricky thing to get right. What can be done, is to tap off the quadrature component at the loop's complex output stream, average that and check that it is below a certain threshold. In the locked state, for BPSK, the in-phase (I) component contains the demodulated data symbols, the quadrature component (Q) should be (close to) 0. This is something I plan to implement in due time.

  • Yes I already experienced that... unfortunately there is no easy lock detect output.

    And also, the loop has little "frequency pulling" capability. So I hope to use lock detect to adjust some parameters (between "capture" and "lock" settings) and/or implement some search mode that activates when lock is lost.