02/26/2014

HAM Radio

Transmitting FM, AM, SSB, SSTV AND FSQ With Raspberry Pi, spectrum analysis

#rpitx #transmisson #hack

After the famous hacking with GPIO 4 pin of the RPi (PiFM, PiFmRds, WsperryPi, … ) for generating CW, OOK, FM and FSK signals (so basically frequency modulation and CW on/off switching) there is a new miracle under the sun, as recently found on rtl-sdr.com . Using the GPIO 18 pin of RaspberryPi (B,B+ and PI2) you can even make amplitude modulation as well! This excellent new discovery and the Github code was released by Evariste Courjaud F5OEO, both thumbs up for him! 🙂  You can get the code at his Github site here: https://github.com/F5OEO/rpitx

For installing do the following:

  1. git clone https://github.com/F5OEO/rpitx
  2. cd ./rpitx
  3. sudo ./install.sh

The install script will download and install all the needed dependencies for the operation of the rpitx. This takes a while, but worth the time 🙂

Right after installation I’v started the “sudo ./rpitx -m VFO -f 100000” command and examined the output spectrum through a 30dB attenuation. First when reading the 750MHz operation frequency at Evariste’s site I was impressed, as the first RPi transmitter hacking on GPIO4 was only good up to 250MHz. However after executing a 300MHz VFO command I realized that this as the very same 250MHz limitation, however Evariste mannaged to use the harmonics for higher frequencies! What a tricky way 🙂 I’ve seen similar solutions on xtal oscillators before. However if you use your rpitx with an antenna you must use filtering for such experiments not to avoid your countries regulatory standards (ETSI, FCC, ARIB,etc)

Here are the output spectrum plots of a few VFO experiment from my RPi 2:

750MHz_using_3rd_harmonic_VNC_screenshot IMG_20151030_170446993

 

 

 

 

 

 

 

 

 

 

 

 

 

 

spectrum_VFO_100MHz_1_to_1000MHz_SignalHound

100 MHz signal generated with rpitx, output spectrum

 

 

 

 

 

 

 

 

 

 

 

spectrum_VFO_100MHz_2MHz_average

 

 

 

 

 

 

 

 

 

 

spectrum_VFO_100MHz_20MHz_average

 

 

 

 

 

 

 

 

 

 

spectrum_VFO_100MHz_250kHz_average

 

 

 

 

 

 

 

 

 

 

750MHz_using_3rd_harmonic

And finally here is a 750 MHz signal generated with VFO command. As you can see the fundamental is 250 MHz and you can use the third harmonic on your desired frequency band.

 

 

 

 

 

 

 

 

 

 

 

 

Update with new spectrum analyzer plots, using my QRPi 20m shield as well for filtering:

11/11/2015

 

RPITX in NFM modulation

rpitx_no_filtering_14M_FM_300MHzSPAN

rpitx no filtering @14M NFM 300MHz SPAN

 

 

 

 

 

 

 

 

 

 

rpitx_QRPi20m_14M_FM_300MHzSPAN

rpitx QRPi20m 14M NFM 300MHz SPAN

 

 

 

 

 

 

 

 

 

 

rpitx_QRPi20m_14M_FM_30MHzSPAN

rpitx QRPi 20m @14M NFM 30MHz SPAN

 

 

 

 

 

 

 

 

 

 

 

RPITX in SSB modulation

One can spot the rich spurious content even with filtering it’s all over the pass band. This possibly due to the actual PWM modulation technique. A new approach and modulation mode is under development, keep checking Evriste’s repository for updates: https://github.com/F5OEO/rpitx

rpitx_no_filtering_28M_USB_300MHzSPAN

rpitx no filtering @28M USB 300MHz SPAN

 

 

 

 

 

 

 

 

 

 

rpitx_QRPi20m_14M_USB_300MHzSPAN

rpitx with QRPi 20m shield @14M USB 300MHz SPAN

 

 

 

 

 

 

 

 

 

 

rpitx QRPi 20m @14M USB 30MHz SPAN

rpitx QRPi 20m @14M USB 30MHz SPAN

 

 

 

 

 

 

 

 

 

 

 

Update – RPITX development mode, cleaner SSB:

20/11/2015

F5OEO Evariste is working hard to solve the spurious issues, we have seen promising decrease of the spurious content in SSB with an experimental mode of rpitx:

 

rpitx no filtering @14M USB xMHz SPAN

rpitx no filtering @14M USB 5MHz SPAN

 

 

 

 

 

 

 

 

 

 

rpitx_dev_no_filtering_SSB_120MHz

rpitx without filtering 20m @14M USB 120MHz SPAN

 

 

 

 

 

 

 

 

 

 

rpitx with QRPi 20m shield @14M USB 120MHz SPAN

rpitx with QRPi 20m shield @14M USB 120MHz SPAN

 

 

 

 

 

 

 

 

 

 

3 thoughts on “HAM Radio

Leave a Reply

Your email address will not be published. Required fields are marked *