Hello, I was playing for some time with the Polyphase Clock Sync to get the correct sampling times of my received OOK signal. It never perfectly worked and usually broke when I put it into more complicated flowgraphs (in my latest attempts, despite working initially, it made the entire flowgraph freeze after some time).
My main scenario is that I have short bursts of data (as opposed to a continuous stream) and I do have zero frequency offset (only a random time shift each burst). My understanding is that these closed-loop approaches are not the right way to go anyway and an open-loop approach (aka Correlation Estimator, Correlate Access Code (Tag/Tag Stream), Correlate and Sync etc) are the correct way in this scenario. Question 1: Is it correct that for small data bursts I better use a correlation based approach with a small preamble? Second, I just don't understand how the Correlation Estimator block works. Suppose I deliberatly add a "Delay" block (delay X) to simulate delay in my flowgraph. After the delay block I have some timing compensation (Correlation Estimator). I would expect that if I plot the signal before the delay and after the correlation estimator block, that their relative delay would be constant as I vary X. However, this is not the case. Do I understand correctly that "Correlation Estimator" only inserts tags but does not alter the signal in any way? (in partiulat, it does not align anything)? What is then the correct block to use for the actual alignment? corr_est_cc reads: * The time_est tag can be used to adjust the sampling timing * estimate of any downstream synchronization blocks and is * currently implemented by the gr::digital::pfb_clock_sync_ccf * block. Is this a typo? Why would a Polyphase Clock Sync block take over such a task? At a more basic level, why would the Polyphase Clock Sync block come after the correlation block? First, why would I need them both at the same time (as I understand, they are alternative approaches for time alignment)? Second, I would expect the Polyphase Clock Sync to come *first* (to obtain symbols from samples) and *then* the Correlation block to align the symbols (find the start). Thanks, Lukas PS: I've seen a bunch of suggestions to look at "example_corr_est.grc". However, the Correlation Estimator is not connected to anything except a QT Time Sink and nothing is aligned. Similarly, in example_corr_est_and_clock_sync.grc no actual timing correction is performed.