# Beginner

**URL:** <https://www.ruby-forum.com/t/beginner/231785>\
**Category:** GNU Radio\
**Created:** [August 30, 2014, 11:51am UTC](https://www.ruby-forum.com/t/beginner/231785 "2014-08-30T11:51:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [August 30, 2014, 11:51am UTC](https://www.ruby-forum.com/t/beginner/231785/1 "2014-08-30T11:51:15Z")

</div>

Hello list,

First of all, thanks for the great tool.

I am a newbie, just started to play with gnuradio.

For the start, I’d like to implement some simple, low bit rate  
modem.

I don’t have any particular hardware, so I’d use the sound card of my  
computer, and hook up my HF radio.

So for the start I thought I download a PSK31 modem, but I couldn’t find  
one. I am 100% sure that this has been done before. Could you please  
give me  
pointers to such projects?

The final project would be a GMSK receiver of telemetry data from a high  
altitude balloon.

Thank you very much for your help.

73 de HA5OGL

–  
Levente Kovacs  
CTO, CSO

> **[Welcome](http://levente.logonex.eu)**
>
> Levente's personal website

---

<div class="post-metadata">

**Author:** ![Levente\_Kovacs](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/e8c25b/32.png) [@Levente\_Kovacs](https://www.ruby-forum.com/u/Levente_Kovacs)\
**Post date:** [August 31, 2014, 7:14pm UTC](https://www.ruby-forum.com/t/beginner/231785/2 "2014-08-31T19:14:11Z")

</div>

I have not seen a whole PSK31 modem implemented.

Looks like there is a decoder here:

> **[GitHub - bitglue/gr-psk31: GNU Radio blocks for PSK31 groking](https://github.com/bitglue/gr-psk31)**
>
> GNU Radio blocks for PSK31 groking

and here:

> **[GNURadio PSK31 Decoder, Part 1](https://sdradventure.wordpress.com/2011/10/15/gnuradio-psk31-decoder-part-1/)**
>
> I first heard about the GNURadio project when it was mentioned in a Slashdot post earlier this year. Around that time, I was studying to get my amateur radio license (after some years of encouragem…

I experimented with an encoder here:

[![](https://img.youtube.com/vi/7IzxZKL2uUE/maxresdefault.jpg "PSK31 GNU Radio Simple Transmitter") ](https://www.youtube.com/watch?v=7IzxZKL2uUE)

It would be allot more work writing the GUI front end than the actual GR  
portion of the modem; probably why it has not been done.

Thanks,  
Lou  
KD4HSO

Levente Kovacs wrote

> I don’t have any particular hardware, so I’d use the sound card of my  
> Thank you very much for your help.
> 
> * * *
> 
> Discuss-gnuradio mailing list

> Discuss-gnuradio@

> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/beginner-tp50157p50163.html](http://gnuradio.4.n7.nabble.com/beginner-tp50157p50163.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![Levente\_Kovacs](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/e8c25b/32.png) [@Levente\_Kovacs](https://www.ruby-forum.com/u/Levente_Kovacs)\
**Post date:** [August 31, 2014, 11:37pm UTC](https://www.ruby-forum.com/t/beginner/231785/3 "2014-08-31T23:37:20Z")

</div>

On Sun, 31 Aug 2014 10:13:08 -0700 (PDT)  
madengr [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I have not seen a whole PSK31 modem implemented.
> 
> Looks like there is a decoder here:  
> [GitHub - bitglue/gr-psk31: GNU Radio blocks for PSK31 groking · GitHub](https://github.com/bitglue/gr-psk31)
> 
> and here:  
> [GNURadio PSK31 Decoder, Part 1 | SDR Adventure](http://sdradventure.wordpress.com/2011/10/15/gnuradio-psk31-decoder-part-1/)

Thenks, I’ll look into it later.

> I experimented with an encoder here:  
> [https://www.youtube.com/watch?v=7IzxZKL2uUE](https://www.youtube.com/watch?v=7IzxZKL2uUE)

Yes, I saw that.

> It would be allot more work writing the GUI front end than the actual  
> GR portion of the modem; probably why it has not been done.

My initial thought is that I feed the decoded bits to a TCP sink, and I  
write  
a GUI in C, that listens on that particular TCP port. Unix socket would  
be  
nicer, but I can’t find a unix domain socket sink/source.

Is there any other way to get data and feed to other C application?

73! de HA5OGL

–  
Levente Kovacs  
CTO, CSO

> **[Levente's website](http://levente.logonex.eu)**

---

<div class="post-metadata">

**Author:** ![Levente\_Kovacs](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/e8c25b/32.png) [@Levente\_Kovacs](https://www.ruby-forum.com/u/Levente_Kovacs)\
**Post date:** [September 1, 2014, 5:04am UTC](https://www.ruby-forum.com/t/beginner/231785/4 "2014-09-01T05:04:27Z")

</div>

ZeroMQ has just been implemented in GR:

> **[ZeroMQ](https://zeromq.org)**
>
> An open-source universal messaging library

If you check out the latest GR from Github you’ll see the blocks in GRC.  
I  
have not tried it. Here is more info:

[http://gnuradio.org/redmine/versions/42](http://gnuradio.org/redmine/versions/42)

I was playing around with receiving data from the GR flow into Python  
via  
message queues. They do work, and I was able to empty the queues more  
than  
fast enough for 31 bps. However I have read the functionality will be  
deprecated. There is a good write up here:

[http://ha5kfu.sch.bme.hu/fft\_test](http://ha5kfu.sch.bme.hu/fft_test)

and here:

> **[Intro to GNURadio and the USRP (Part 4, message blocks)](https://pwnhome.wordpress.com/2011/04/19/intro-to-gnuradio-and-the-usrp-part-4/)**
>
> This week I started playing with the message source and sink blocks within GNURadio and found them quite useful. Especially for accessing (sending and receiving) data outside of the actual GNURadio…

Thanks,  
Lou  
KD4HSO

Levente Kovacs wrote

> –  
> Levente Kovacs  
> CTO, CSO  
> [http://levente.logonex.eu](http://levente.logonex.eu)
> 
> * * *
> 
> Discuss-gnuradio mailing list

> Discuss-gnuradio@

> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/beginner-tp50157p50169.html](http://gnuradio.4.n7.nabble.com/beginner-tp50157p50169.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![Levente\_Kovacs](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/e8c25b/32.png) [@Levente\_Kovacs](https://www.ruby-forum.com/u/Levente_Kovacs)\
**Post date:** [September 1, 2014, 5:33am UTC](https://www.ruby-forum.com/t/beginner/231785/5 "2014-09-01T05:33:02Z")

</div>

Regarding doing it in C; everything seems to be mostly there to do it in  
Python as a native GR application.

1. A QT-GUI text input box would be needed to buffer-up the transmit  
text as  
it is typed, convert to varicode then drop the bytes into the transmit  
stream, interrupting the continuous 01010101… The modulation is  
simple.

2. The RX signal processing may be able to use the PSK receiver, then a  
custom block would have to be written for the varidecoder, maybe dumping  
the  
text as messages, or to stdout.

3. The latest QT frequency sink has a click to tune functionality,  
generating a frequency message, and the frequency translating FIR filter  
has  
a tuning message input. What I don’t know is if the PSK receiver has  
wide  
enough carrier recovery for point-and-click tuning, given 31 bps and a 2  
kHz  
channel bandwidth. I suppose some experimentation is in order.

Anyway, I think 50% of it is there already to do it all in GR.

Thanks,  
Lou  
KD4HSO

Levente Kovacs wrote

> My initial thought is that I feed the decoded bits to a TCP sink, and I  
> write  
> a GUI in C, that listens on that particular TCP port. Unix socket would be  
> nicer, but I can’t find a unix domain socket sink/source.

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/beginner-tp50157p50170.html](http://gnuradio.4.n7.nabble.com/beginner-tp50157p50170.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).
