Fast Auto-correlation

From SpenchWiki
Jump to: navigation, search

Blantant SEO

Download it here! This is the new & updated Fast Auto-correlation sink for GNU Radio based on Frank's work. His original one is no longer compatible.


Frank of radiorausch fame put together an excellent page (and some code) on performing real-time auto-correlation with GNU Radio and the USRP.

Unfortunately the code no longer works with the new version of GNU Radio, so I upgraded it and wrote some XML block definitions enabling its use as a graphical sink in GRC (GNU Radio Companion).

Please refer to Frank's page for the gory details. Suffice to say that his FAC (Fast Auto-Correlation) implementation exploits the Wiener Khinchin theorem, which in this context essentially means that if you take the FFT of the power spectrum of a signal (i.e. two FFTs), "we have a particularly fast way of calculating auto-correlations" - Frank.

GRC Block

Auto-correlation of a W-CDMA downlink channel, showing the pilot channel's radio frames repeating every 10ms:


In GRC, the FAC sink appears as such:



It is now better to get the code from gr-baz. (Installation, paths, etc, is all automatic.)

Please let me know how this block works for you!

Manual pre-gr-baz download

This separate code will no longer updated, but still works nicely:

Make sure you either place the Python code where Python will find it, or in a location that you add to your PYTHONPATH environment variable.

The XML block definition needs to be found by GRC. You can place it:

  • in ~/.grc_gnuradio
  • alongside all the other blocks (usually /usr/local/share/gnuradio/grc/blocks)
  • elsewhere (see GRC documentation about other options)