discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: FSK and Timing Recovery Questions


From: Qasim Chaudhari
Subject: Re: FSK and Timing Recovery Questions
Date: Mon, 13 Jan 2020 10:28:34 +0500

Hi Alex
     In regards to your question if PFB block is the way to go for FSK timing recovery: remember that GNU Radio is a tool to implement signal processing algorithms while leaving the underlying algorithms choice (and development for custom blocks) to the user. In my opinion, PFB can be used with FSK for a lab demo or a small project. If this is what you want, then you're all right. But most probably a professional algorithm developer looking for a working solution under several different operating conditions will set up a solution more suited to the exact problem itself.

     Unlike SE, we don't have an environment here to put a short derivation but you can realize from the Quadrature Demod block that it is cancelling the argument of one sample (omega(k)*n) from the previous sample (omega(k)*(n-1)) where omega(k) is the k_th symbol and n is sample index or time, thus obtaining a rough estimate of the digital frequency omega(k). Done for a reasonable number of samples per symbol, you would have a square wave representing symbols +omega and -omega just like a pulse amplitude modulated scheme.

      The problem however is that arg function delivers the principal value of the argument which is highly non-linear and an unwrapping process would be needed (I assume that this is not implemented within the block since it is not written in the documentation). This becomes difficult as noise does not translate so nicely from arguments to a linear representation and severely limits the performance at moderate to low SNRs.

>  I have issues
> where if I start the receiver before the transmitter, the system
> doesn't
> work. And if I start the transmitter before the receiver, it will
> eventually lose sync and never recover.

How about using the same hardware to implement a well behaved linearly modulated system to confirm if it is working properly and then switch to FSK? In addition to my comments above, every feedback solution is quite sensitive to the value with which it is initialized. Instead of running a loop wild on noise arguments, I would prefer to start it after detection of signal presence e.g., through a power ramp.

Cheers,
Qasim

reply via email to

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