# FSK modulation

**URL:** <https://www.ruby-forum.com/t/fsk-modulation/222792>\
**Category:** GNU Radio\
**Created:** [September 11, 2012, 12:23am UTC](https://www.ruby-forum.com/t/fsk-modulation/222792 "2012-09-11T00:23:12Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [September 11, 2012, 12:23am UTC](https://www.ruby-forum.com/t/fsk-modulation/222792/1 "2012-09-11T00:23:12Z")

</div>

Hello,  
I am quite new in GnuRadio Companion and I am just trying to transmit  
and receive a file through FSK modulation, but I am having some  
troubles.  
Attached is the block diagram that I am trying to implement. Do you know  
what is the problem here?  
I dont understand very well some block and how they work, such as the  
Chunks to symbols and Interpolating FIR FILTER. Can you give me a help?

Thank you very much for your help.  
Best regards  
Joana

---

<div class="post-metadata">

**Author:** ![Joana\_G](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b2d939/32.png) [@Joana\_G](https://www.ruby-forum.com/u/Joana_G)\
**Post date:** [September 13, 2012, 2:53am UTC](https://www.ruby-forum.com/t/fsk-modulation/222792/2 "2012-09-13T02:53:42Z")

</div>

On Mon, Sep 10, 2012 at 5:50 PM, Joana G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Thank you very much for your help.
> 
> Best regards  
> Joana

Joana,

The chunks\_to\_symbols is a mapping block. It takes in a byte and  
converts that to the set of symbols defined by the block. Basically,  
the block takes in as its ‘Symbol Table’ argument a vector of complex  
numbers, call this sym\_table. The input stream to this block will be  
bytes, and those bytes are mapped to the complex symbols in sym\_table  
directly. So if the input value is 0, the output is sym\_table[0]; if  
the input is 3, the output is sym\_table[3]. That also means that your  
symbol table should be as large as the input value “chunks” are  
expected to be.

The interpolating filter is a rate conversion filter. It interpolates  
a signal and then filters it to remove the images generated from the  
filtering. You definitely don’t want the taps of the filter to be all  
1’s; that won’t filter out anything. You can use the ‘gr.firdes’ or  
‘gr.optfir’ modules to build the filters for you. Remember that when  
building a filter for the interpolator, make sure you specify the  
sample rate as the sample rate /after/ the interpolation.

Tom
