discuss-gnuradio
[Top][All Lists]
Advanced

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

Corr Estimator block producing unexpected |Corr|^2 values


From: Cress, Jared
Subject: Corr Estimator block producing unexpected |Corr|^2 values
Date: Wed, 9 Dec 2020 18:04:16 +0000

Problem Statement

I’m trying to get a handle on the Correlation Estimator block, so keep things pretty simple after having studied the example example_corr_est.grc

 

In the attached CorrelatorExeriments2.grc, I’m creating a steady flow of random packets.  The original Access Code I was using is 0xFE6B2840, which has decent autocorrelation properties.  Move to a stream that swings from -1 to +1, no transmit pulse shaping filter at this time.  Feed this into the Correlation Estimator Block with a fairly high ThreshHold (.995).    

 

RandomPDU à Tagged Stream à Corr Estimator (dynamic) à Sink

 

 

What I end up with is many “correlation hits” across a single packet.  Tightening up the threshold  to .999 yields no correlation hits?

 

Switched to a simple 32 bit ‘1010’ preamble.  That preamble is producing ~22 “correlation hits”.  Would expect to get multiple peaks, but they  all have equal |Corr|^2 outputs (see pic).  Might indicate that too short a sequence was being correlated against, but the DataVector being fed in is (supposed to be) 32 bits

 

Questions:

  1. With a 32-bit ‘1010’ preamble, why are all the |Corr|^2 values the same?  Would have expected the proper alignment to produce a larger peak…
    1. Is this block running a traditional correlation calculation?
  2. In a perfect simulation environment with no impairments, why does a threshold of .999 produce no matches on 0xFE6B2840?  Again, seems to say that maybe the reference sequence doesn’t match, but I don’t see the configuration error…
  3. How does one avoid timing hits in the downstream Symbol Sync block on false positives (not yet in the sim, but I’ve read it re-centers on the tags)?
  4. Why does setting the “max bytes” in the Random PDU generator below 1307 cause the flowgraph to freeze up (even if you adjust Min Bytes in tandem)?

 

Notes about the .grc

  • Tag “packet_len” marks the beginnings of each packet and serves as the Time Sink trigger
  • The 0xFE6B2840 AC is in the sim but disabled, switching to it requires enabling/disable the relevant Default Header Format Obj and variable AC_Hex
  • Don’t yet feel completely comfortable with the Modulate Vector, an extra set of eyes on the setup here would be appreciated

 

 

Other notes / suggestions

  1. the Example_corr_est.grc included with GR seems to have some problems in 3.8.1.0.  I’ve adjusted it to where it passes casual inspection, example_corr_est2.grc attached. 
  2. would be useful for the Documentation block / wiki, to mention the role that tags are intended to play (with perhaps a mention/pointer to the example flowgraph)

 

Attachment: example_corr_est2.grc
Description: example_corr_est2.grc

Attachment: CorrelatorExperiments2.grc
Description: CorrelatorExperiments2.grc


reply via email to

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