# FSK demodulation

**URL:** <https://www.ruby-forum.com/t/fsk-demodulation/230454>\
**Category:** GNU Radio\
**Created:** [June 18, 2014, 5:20pm UTC](https://www.ruby-forum.com/t/fsk-demodulation/230454 "2014-06-18T17:20:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason\_sam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7993a0/32.png) [@jason\_sam](https://www.ruby-forum.com/u/jason_sam)\
**Post date:** [June 18, 2014, 5:20pm UTC](https://www.ruby-forum.com/t/fsk-demodulation/230454/1 "2014-06-18T17:20:15Z")

</div>

> Is there any existing 4FSK transceiver system in gnuradio ?

Yes. The OP25 project has an implementation of FSK4 for use in P25,  
where FSK4 is sometimes known as “C4FM”.

Both modulation and demodulation is supported. Here are links to the  
actual code (see below)… Note that the demod block must ordinarily be  
preceded by the FM demodulation function (such as  
quadrature-demodulation).

Is this the only such implementation of FSK4 in gnuradio? No! An in-tree  
project, even older than OP25, and written (if memory serves correctly)  
by none other than Jonathan Corgan, appears in gr-pager - for the FLEX  
system.

Best

Max

```auto

http://op25.osmocom.org/trac/wiki.png/browser/op25/gr-op25_repeater/apps/tx/op25_c4fm_mod.py
http://op25.osmocom.org/trac/wiki.png/browser/op25/gr-op25/lib/fsk4_demod_ff_impl.cc
```
