discuss-gnuradio
[Top][All Lists]
Advanced

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

How to use Correlation Estimator?


From: Lukas Haase
Subject: How to use Correlation Estimator?
Date: Tue, 28 Apr 2020 02:55:52 +0200

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.





reply via email to

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