User Tools

Site Tools


project:sdr:fcl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
project:sdr:fcl [2016/07/23 02:37] – [Usage] no control pipe anymore, only the telnet interface jendaproject:sdr:fcl [2016/11/25 07:29] (current) – ↷ Links adapted because of a move operation ruza
Line 1: Line 1:
 ====== FCL, a fast spectrum channelizer ====== ====== FCL, a fast spectrum channelizer ======
  
-FCL splits wideband spectrum from your SDR into narrowband channels. This is useful for networks that have lots of transmitters side-by-side, like for example [[http://jenda.hrach.eu/gitweb/?p=fmrec;a=summary|FM broadcast]], [[:project:sdr:tetra|TETRA]], [[:project:sdr:tetrapol|Tetrapol]] and [[:project:gsm|GSM]].+FCL splits wideband spectrum from your SDR into narrowband channels. This is useful for networks that have lots of transmitters side-by-side, like for example [[http://jenda.hrach.eu/gitweb/?p=fmrec;a=summary|FM broadcast]], [[:project:sdr:tetra|TETRA]], [[project:tetrapol:start|Tetrapol]] and [[project:gsm:start|GSM]].
  
 It supports everything you would expect from a decent channelizer: It supports everything you would expect from a decent channelizer:
Line 11: Line 11:
  
 We use a straightforward implementation that is cache- and vector-friendly and we have a sane pthreads scheduler. At least on our computers, FCL is 2 to 5 times faster than [[http://gnuradio.org/doc/doxygen/classgr_1_1filter_1_1pfb__channelizer__ccf.html|the GnuRadio implementation]]. Hence //fcl// stands for //Fastest Channelizer in [[https://en.wikipedia.org/wiki/Litom%C4%9B%C5%99ice|Litoměřice]]//. We use a straightforward implementation that is cache- and vector-friendly and we have a sane pthreads scheduler. At least on our computers, FCL is 2 to 5 times faster than [[http://gnuradio.org/doc/doxygen/classgr_1_1filter_1_1pfb__channelizer__ccf.html|the GnuRadio implementation]]. Hence //fcl// stands for //Fastest Channelizer in [[https://en.wikipedia.org/wiki/Litom%C4%9B%C5%99ice|Litoměřice]]//.
 +
 +You can find description of the mathematical principles of the channelizer in Chapter 2 of [[https://jenda.hrach.eu/thesis.pdf|my thesis]].
  
 The following chart compares FCL with GnuRadio 3.7.10. FCL was tuned using the hints below on this page, GnuRadio was profiled using volk_profile. Frequency correction in FCL was disabled. The following chart compares FCL with GnuRadio 3.7.10. FCL was tuned using the hints below on this page, GnuRadio was profiled using volk_profile. Frequency correction in FCL was disabled.
Line 46: Line 48:
   * getpwr - print relative power of your channels. You can use this to e.g. detect BTSs   * getpwr - print relative power of your channels. You can use this to e.g. detect BTSs
     * getpwn N - increase number of FFT bins N-times (i.e. get much more detailed view of the spectrum); 1 <= N <= 32     * getpwn N - increase number of FFT bins N-times (i.e. get much more detailed view of the spectrum); 1 <= N <= 32
 +  * gethisto - print histogram (evenly spaced at [0, 1] absolute values of input floats) of samples
  
 There is a convenient wrapper around gnuradio firdes called fir.py. There is a convenient wrapper around gnuradio firdes called fir.py.
project/sdr/fcl.1469241478.txt.gz · Last modified: 2016/07/23 02:37 by jenda