Showing posts with label HF. Show all posts
Showing posts with label HF. Show all posts

Friday, August 31, 2018

RF Noise Antenna System

RF Noise Antenna System.


Raspberry Pi Hat


The Live System can be accedes here http://rfnoise.amsatsa.org.za/

I Developed a rf noise monitoring system and there was a need to standardize on an active antenna for the system.

My thinking was sins most Remote Stations is Raspberry Pi with RTL-SDR dongles I felt developing a front end power injector with Galvanic isolation from active antenna with the necessary RF filters.
I also had a requirement to resolve the rtl-sdr dongle front end filter problem.
There is an Rf image on center frequency 14.2 Mhz.
I then Developed a Low and High band pass filters on the same PI HAT that can be switched via IO pins on Pi.

Here is the circuit diagram of my design with out the Active Antenna.


Raspberry Pi HAT with Filters,Isolation and Power injection

Filter design details. 

High Pass Filter

Low Pass Filter

I will work on an active Antenna board.

PCB View
3d view of Board

  
3D View of Boards



RF Noise Filter HAT for Raspberry Pi
Video of My first Test

 All seems to work fine will add spectrum Analyses details.

ref :http://rfnoise.amsatsa.org.za/

Thursday, November 16, 2017

HF Noise monitoring system running from Live Ubuntu Memory stick with fully configured environment.

HF Noise monitoring system running from Live Ubuntu USB flash drive.

Ubuntu Live Noise Monitoring system with Persistence. 16Gb
I wanted a Preconfigured RF Noise monitoring system that I can run on my Laptop when ever I am not using it for something else.
I made this Ubuntu 16.04 Live memory stick .

This dongle is available from my Shop at http://www.giga.co.za/ocart/index.php?route=product/product&product_id=344

So how dose it work?
Configure your BIOS to boot from USB flash drive and you should then see the following screens.

Just pres enter to continue
If you see the error above just pres Enter  You should then get a screen where you can select how you want to boot your environment Persistent or not.
Select  the Persistent live boot.
Select the Persistent live option.
You could then see a screen for a few seconds looking like this.
Black screen before startup
This picture is of Ubunto 17.10 The Noise system is on Ubuntu 16.04
Here is some of the sunscreens of some of the functionality

HF Heat map
 Noise Graphs  (link to a live system)

Here is a link to a brochure on the RF Noise Monitoring system

Master Data correlation server http://rfnoise.amsatsa.org.za

Master Correlation Server.


Wednesday, August 30, 2017

RF Noise Monitoring system for HF

RF Noise Monitoring system on a Raspberry Pi

(This system will record RF signals and upload the results to the Server where trending graphs are created)

The New Master Correlation server (Beta) is up and running and ready to be used.
Master RF noise server. (Data correlation server)

This system is now also available on Ubuntu live memory stick.

This system software is available pre installed on a 16GB SD card from Giga Technology
Raspberry Pi OS with HF monitoring software pre installed
What do I get on the software?
I system that will record 1Mhz band with samples every 2 minutes generating Graphs and Heat-map of the hole 1 to 30Mhz band.
What hardware do I need?
The  100khz to 1.7Ghz HF dongle as in picture below Screenshot of Graph monitoring.
url of link on system http://localhost/hf_noise/graph/1Mhz_Power.php
Link to live system is here http://zr6aic.giga.co.za/hf_noise/graph/1Mhz_Power.php 
Screen shot of the HF Monitoring system

How does this system work?

Block Diagram of the HF Noise Monitoring system

How dose the HF Noise Monitoring system work

  • The HF noise monitoring system takes a 1Mhz bandwidth samples every 2 minutes using the rtl_power utility and save the measurements in a CVS fie.
  • The 2 minute scheduling is done with a Crontab calling a script in the hf_noise directory.
  • The RF Samples is taken at a 1Mhz bandwidth from 1M to 30Mhz therefore 29 of  the CVS files is created and gets appended as the measurements is made.
  • A Perl script utility is the executed from a cron scedular  to read the 29 CSV files and import there data into a RRD database.
  • The RRD database then gets interrogated by another Perl script scheduled by a cronjob to generate the graph Images and and html files and get saved in the Apache web server graph directory witch is the exposed on http://localhost/hf_noise/graph/1Mhz_Power.php
  • Link to Live system http://zr6aic.giga.co.za/hf_noise/graph/1Mhz_Power.php 
  • The RRD database will then create the Hourly, Daily,Weekly,Monthly and Yearly averages and   then generates the graphs every 2 minutes according to the parameters passed to Database.
  • The generated graphs is then displayed in a php page via a Apache web server with an php plugin on the following url http://localhost/hf_noise/graph/1Mhz_Power.php.
  • Trends can then be seen on a graphs over time.
  • The heat map is generated by a python script from different CSV files and is saved in the /var/www/hf_noise/images directory and can be accessed on the local web server on the following url http://localhost/hf_noise/images
  • Link to live system http://zr6aic.giga.co.za/vhf_heatmap/images/
  • The systems has a static IP by default on Ethernet 192.168.10.200 and 192.168.10.205 on wifi if you have wifi dongle installed. You can change it to your ip

Here is a list of RRD database management tips

  • How to backup my RRD db data?
  • use rrdtool dump hf_noise.rrd > filename.xml to export the data to XML format.
  • How to Restore my RRD db data?
  • Transfer the XML dump to the target system. Run rrdtool restore [--range-check|-r] [--force-overwrite|-f] filename.xml filename.rrd to create a new RRD from the XML dump. See rrdrestore for details.
  • How to change some of the the RRD db data?
  • Use rrdtool dump to export RRD files to XML.
    Open the XML file, find and edit the bad data.
    Restore the RRD file using rrdtool restore.

 How to generate a brand new RRD db?


There is an script in the hf_noise directory called create_rrd_db.sh
You can just run this script in the hf_directory sudo ./create_rrd_db.sh

Here is the details of the scrip.
    rrdtool create  hf_noise.rrd --start now-2d --step 120 DS:1Mhz_Power:GAUGE:120:-50:10 DS:2Mhz_Power:GAUGE:120:-40:10 DS:3Mhz_Power:GAUGE:120:-50:10 DS:4Mhz_Power:GAUGE:120:-40:10 DS:5Mhz_Power:GAUGE:120:-50:10 DS:6Mhz_Power:GAUGE:120:-40:10 DS:7Mhz_Power:GAUGE:120:-50:10 DS:8Mhz_Power:GAUGE:120:-40:10 DS:9Mhz_Power:GAUGE:120:-50:10 DS:10Mhz_Power:GAUGE:120:-40:10 DS:11Mhz_Power:GAUGE:120:-50:10 DS:12Mhz_Power:GAUGE:120:-40:10 DS:13Mhz_Power:GAUGE:120:-50:10 DS:14Mhz_Power:GAUGE:120:-40:10 DS:15Mhz_Power:GAUGE:120:-50:10 DS:16Mhz_Power:GAUGE:120:-40:10 DS:17Mhz_Power:GAUGE:120:-50:10 DS:18Mhz_Power:GAUGE:120:-40:10 DS:19Mhz_Power:GAUGE:120:-50:10 DS:20Mhz_Power:GAUGE:120:-40:10 DS:21Mhz_Power:GAUGE:120:-50:10 DS:22Mhz_Power:GAUGE:120:-40:10 DS:23Mhz_Power:GAUGE:120:-50:10 DS:24Mhz_Power:GAUGE:120:-40:10 DS:25Mhz_Power:GAUGE:120:-50:10 DS:26Mhz_Power:GAUGE:120:-40:10 DS:27Mhz_Power:GAUGE:120:-50:10 DS:28Mhz_Power:GAUGE:120:-40:10 DS:29Mhz_Power:GAUGE:120:-50:10 DS:30Mhz_Power:GAUGE:120:-40:10 RRA:AVERAGE:0.5:1:864000 RRA:AVERAGE:0.5:60:129600 RRA:AVERAGE:0.5:3600:13392 RRA:AVERAGE:0.5:86400:3660

I have still got my csv files and want to reload it into my rrd database


HF Heat map monitoring System. 


Link on local network http://localhost/hf_noise/images

link to live system http://zr6aic.giga.co.za/hf_noise/images/
Here is  a screenshot of the monitoring page and the green button
 can be used to select the frequency band of interest


Single view

Here is a view of the HF spectrum from 1Mhz to 30Mhz (activity can now be seen for the day)
Here is a view of the heat map that was selected
If you click on the image the the image will zoomed to maximum

Enlarged View

Here is a screenshot of the enlarged view.

So here is an example of the utility that generate the CSV file

Noise Recording

rtl_power -f 24M:1.7G:1M -g 50 -i 20m -1 noise-unmodded.csv

Here is the instillation instruction

hf_noise

Source code avalibe from https://github.com/antonjan/hf_noise

Alt text

Instillation Instructions


#Create user hfnoise
sudo adduser hfnoise
sudo usermod -aG sudo hfnoise

#change to hfnoise user with the following command. (dont try to install with other users)
su - hfnoise
#enter your new password
sudo apt-get update
#If you get this error below do the following
#** (appstreamcli:2761): CRITICAL **: Error while moving old database out of the way. AppStream cache update failed.
#then run this command and try again sudo chmod -R a+rX,u+w /var/cache/app-info/xapian/default
#now lets upgrade and get some coffie :-)

sudo upgrade
#We now need to install git to download the noise monitoring application
sudo apt-get install git
sudo apt install cmake
sudo apt-get install libusb-1.0-0-dev
sudo apt install python-setuptools
sudo easy_install pip
sudo pip install image
cd
#for ubuntu 17.10 do the following.
wget http://archive.ubuntu.com/ubuntu/pool/universe/i/imageinfo/imageinfo_0.04-0ubuntu11_amd64.deb
sudo dpkg -i ./imageinfo_0.04-0ubuntu11_amd64.deb
# for Ubuntu 16.04 do the following
 wget http://archive.ubuntu.com/ubuntu/pool/universe/i/imageinfo/imageinfo_0.04-0ubuntu10_amd64.deb
sudo dpkg -i ./imageinfo_0.04-0ubuntu10_amd64.deb
cd
#git clone git://git.osmocom.org/rtl-sdr.git
#Please make sure you use this repository as the osmond one dont support direct conversion mode
git clone https://github.com/keenerd/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig
ls
sudo vi /etc/modprobe.d/no-rtl.conf
#add the following blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
#reboot 
#we now need to install an application that will allow us to reset the USB port where the rtl dongle is installed if it locks up for some reason (this has append when there is lightning in the aria.So what i do is motor if the csv file get updated if not I reset the usb port with this utility.
cd
git clone https://github.com/jkulesza/usbreset.git
cd usbreset
#lets compile the application
cc usbreset.c -o usbreset
#we now need to establish witch usb port is your rtl dongle installed.
sudo lsusb
#we now need to edit the shell script that monitor the csv file update with your rtl usb port details.
#now look for the device with this name "Realtek Semiconductor Corp. RTL2838 DVB-T" in my case it was "Bus 003 Device 004" to be like E.g sudo /home/hfnoise/usbreset/usbreset /dev/bus/usb/003/004
cd
git clone  https://github.com/antonjan/hf_noise.git
cd hf_noise
cd sh
vi or use your editor and check_if_file_was_updated.sh
change the line that looks like this "vi /home/anton/Downloads/usbreset/usbreset /dev/bus/usb/"
002/005" with your detail
#pull the noise monitoring system from github
git clone https://github.com/antonjan/hf_noise.git
#install Apache2 server
sudo apt-get install apache2
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
sudo apt install php7.1 libapache2-mod-php7.1
sudo a2enmod php7.1
sudo systemctl restart apache2
cd /var/www/html
sudo mkdir hf_noise
sudo mkdir hf_noise/graph
sudo mkdir hf_noise/images
cd hf_noise/graph
sudo cp -r /home/hfnoise/hf_noise/*.php ./
sudo cp -r /home/hfnoise/hf_noise/*.html ./
sudo cp -r /home/hfnoise/hf_noise/*.png ./
cd /var/www/html/hf_noise/images
sudo cp -r /home/hfnoise/hf_noise/image/*.php ./

sudo cp -r /home/hfnoise/hf_noise/image/*.html ./
sudo cp -r /home/hfnoise/hf_noise/image/*.jpg ./
sudo cp -r  /home/hfnoise/hf_noise/image/thumb ./
#now test if hfnoise webserver work.
firefox http://localhost/hf_noise
#you should see the index page with no pictures.
#We now need to install the heatmap application.
#lets go to home directory and install heatmap
cd
#got hf_noise directory and install heatmap by git from github
cd hf_noise
#Get the heatmap python progrm from github
git clone https://github.com/keenerd/rtl-sdr-misc.git 
cd /home/hfnoise/hf_noise/rtl-sdr-misc/heatmap
#give the application execution writes
chmod 776 *.py
#Now we need to install the perl librareries
#CPAN, the Comprehensive Perl Archive Network, is the primary source for #publishing and fetching the latest modules
cd
sudo apt-get install perl build-essential curl
sudo apt-get install rrdtool
sudo apt-get install librrds-perl
cd /usr/local/bin
sudo wget https://raw.github.com/miyagawa/cpanminus/master/cpanm
sudo chmod +x cpanm
cd
sudo cpanm --self-upgrade --sudo
#sudo apt-get install cpanminus
sudo cpanm Text::Trim
sudo cpanm Text::CSV
sudo cpanm Date::Manip
sudo cpanm Text::Trim
# mite be only trim
sudo cpanm RRD::Simple
cd
cd hf_noise
cd sh
#run then script to generate rrd db
chmod 776 create_rrd_db.sh
./create_rrd_db.sh
#Ok now connect your HF dongel to your laptop usb port and connect to an antenna.
#Ok now everything should be ready.
#we need to enable the scripts in the crontab (scheduler)
#run the script to setup the scheduler
sudo python ./create_crontab.py

#If you want to see how the crontab was setup you can check with this command
sudo crontab -e
#Below is the what you should see
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/hfnoise/hf_noise/sh/create_heatmap.sh 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * * /home/hfnoise/hf_noise/sh/run_hf_noise_monitor_and_graph.sh 1,6,11,16,21,26,31,36,41,46,51,56 * * * * /home/hfnoise/hf_noise

#save file and now and we are now done.
#The images and history file should now be automatically being created every 5 minutes.
#Make sure you have along wire antenna connected to your HF rtl dongle to hf noise recordings.
#********************end******************
#How can I check that data is collected.
#run the command
ls -lrt /home/hfnoise/hf_noise
#you should see somthing lyk this
-rw-r--r-- 1 root    root          0 Nov  8 19:06 hf_monitoring_08-11-2017.cvs
-rw-r--r-- 1 root    root          0 Nov  8 19:06 hf_monitoring_graph_08-11-2017.cvs
You should also see graph images in you browser.
firefox http://localhost/hf_noise/graph/1Mhz_Power.php

File upload to Master Analytics site will be available when it goes alive.













Saturday, August 27, 2016

SDR Comparison

SDR Comparison

Name TypeFrequency rangeBand withChannelHost InterfaceWindowsLinuxMacEstimated price
AirSpy
Pre-build
24-1750 MHz
20 MSPS MSps ADC sampling, up to 80 MSPS 
1
USB
Yes
Yes
Yes using ports
US$199
SDRstick UDPSDR-HF1
Pre-built
0.1–30 MHz
80 Msps
1
1G Ethernet via BeMicroCV-A9
Yes
Yes
Yes
US$169
Apache Labs ANAN-10E
Pre-built
10 kHz – 55 MHz
122.88 Msps (14 bit ADC)
2
Gigabit Ethernet
Yes
Yes
Yes
US$995
Apache Labs ANAN-10/100
Pre-built
10 kHz – 55 MHz
122.88 Msps (16 bit ADC)
4
Gigabit Ethernet
Yes
Yes
Yes
US$1,649-US$2,449
Apache Labs ANAN-100D/200D
Pre-built
10 kHz – 55 MHz
122.88 Msps (16 bit ADC)
7
Gigabit Ethernet
Yes
Yes
Yes
US$3,299-US$3,999
SunSDR2
Pre-built
10 kHz – 160 MHz
160 MSPS
3/4
10/100 Ethernet, WLAN (embedded)
Yes
Yes
 ?
US$1,960
bladeRF
Pre-built
300 MHz - 3.8 GHz
80 kSPS - 40 MSPS
RX/TX (12-bit ADC/DAC)
 ?
USB 3.0 SuperSpeed
Yes
Yes
Yes
US$420
FLEX-6700
Pre-built
0.01–73, 135-165 MHz
245.76 MSPS (transceiver)
8/8
Ethernet
Yes
Yes
Yes
US$7,499
FLEX-6700R
Pre-built
0.01–73, 135-165 MHz
245.76 MSPS (receiver)
8/8
Ethernet
Yes
Yes
Yes
US$6,399
FLEX-6500
Pre-built
0.01–73 MHz
245.76 MSPS (transceiver)
4/4
Ethernet
Yes
Yes
Yes
US$4,299
FLEX-6300
Pre-built
0.01–54 MHz
122.88 MSPS (transceiver)
2/2
Ethernet
Yes
Yes
Yes
US$2,499
FLEX-5000A
Pre-built
0.01–65 MHz
48, 96, 192 kHz (transceiver)
2/2
1394a Firewire
Yes
No
No
US$2,800
FLEX-3000
Pre-built
0.01–65 MHz
48, 96 kHz (transceiver)
1/1
1394a Firewire
Yes
No
No
US$1,700
FLEX-1500
Pre-built
0.01–54 MHz
48 kHz (transceiver)
1/1
USB
Yes
No
No
US$650
Perseus
Pre-built
10 kHz – 40 MHz (87.5–108 MHz using FM down-converter)
80 MSPS
 ?
USB
Yes
Yes
 ?
US$1,199
SDRplay: Radio Spectrum Processor
Pre-built
0.1–2,000 MHz
0.5-12 MS/s and up to 8 MHz bandwidth
0/1
USB
Yes
Yes
Yes
US$149
ISDB-T 2035/2037
Pre-built
50–960 MHz
0.5-12 MS/s and up to 8 MHz bandwidth
0/1
USB
Yes
Yes
Yes
US$25
Soft66AD / Soft66ADD / Soft66LC4 / Soft66RTL
Pre-built
0.5–70 MHz
External ADC required (I/Q output)
0/1
USB
Yes
Unofficially
 ?
US$20
FUNcube Dongle
Pre-built
64–1700 MHz
96 kHz
0/1
USB
Yes
Yes
Yes
US$160
FUNcube Dongle Pro+
Pre-built
0.15–240 MHz, 420-1900 MHz
192 kHz
0/1
USB
Yes
Yes
Yes
US$200
FiFi-SDR
Pre-built
200 kHz – 30 MHz
96 kHz (integrated soundcard)
0/1
USB
Yes
Yes
 ?
€120
SDR-IQ
PnP
0.1 kHz – 30 MHz
66.666 MHz
1/1 ?
USB
Yes
Yes
Yes
US$525
WinRadio WR-G31DCC
Pre-built
9 kHz – 50 MHz
100 MSPS
3/3
USB
Yes
No
No
US$950
USRP B200
Pre-built
70 MHz to 6 GHz
56 Msps
 ?
USB 3.0
Yes
Yes
Yes
US$675
USRP B210
Pre-built
70 MHz to 6 GHz
56 Msps
 ?
USB 3.0
Yes
Yes
Yes
US$1,100
USRP N200
Pre-built
DC to 6 GHz
25 Msps for 16-bit samples; 50 Msps for 8-bit samples
 ?
Gigabit Ethernet
Yes
Yes
Yes
US$1,515
USRP N210
Pre-built
DC to 6 GHz
25 Msps for 16-bit samples; 50 Msps for 8-bit samples
 ?
Gigabit Ethernet
Yes
Yes
Yes
US$1,717
USRP X300
Pre-built
DC to 6 GHz
200 Msps
 ?
Gigabit Ethernet, 10 Gigabit Ethernet, PCIe
Yes
Yes
Yes
US$3,900
USRP X310
Pre-built
DC to 6 GHz
200 Msps
 ?
Gigabit Ethernet, 10 Gigabit Ethernet, PCIe
Yes
Yes
Yes
US$4,800
Cross Country Wireless SDR receiver v. 3
Pre-built
472–479 kHz, 7.0–7.3 MHz/10.10–10.15 MHz, and 14.00–14.35 MHz
External ADC required (I/Q output)
1/1
Crystal controlled two channels
Yes
Yes
Yes
US$80
Realtek RTL2832U DVB-T tuner
Pre-built with custom driver
24–1766 MHz (R820T tuner) (sensitivity drops off considerably outside this range, but can go 0–2,200 MHz (E4000 tuner with direct sampling mod))
2.4 MHz (can go up to 3.2 MHz but drops samples)
 ?
USB
Yes
Yes
Yes
US$8 - US$10
SoftRock-40
Kit
7.5 MHz
48 kHz
1
USB
Yes
Yes
Yes
US$21
SoftRock RX Ensemble II
Kit
180 kHz – 3.0 MHz, and 1.8–30 MHz operation
External ADC required (I/Q output)
1
USB
Yes
Yes
Yes
US$67
ZS-1
Pre-built
300 kHz – 30 MHz
10 kHz, 20 kHz, 40 kHz, 100 kHz
3
USB 2.0
Yes
No
No
€1,399
HackRF One
Pre-built
1 MHz - 6 GHz
8 Msps - 20 Msps
1
USB 2.0
Yes
Yes
Yes
US$299
HiQSDR
prebuilt modules & kits, pcbs
30 kHz - 62 MHz
48 - 960 kHz
 ?
10/100 Ethernet
Yes
Yes
No
US$650
US$1,400
KiwiSDR
Pre-built
0.1 - 30Mhz
30Mhz
4
Beagle black
yes
yes
yes
 USD 99
LimeSDR
Pre-built (full Open Source / Hardware)
100 kHz to 3.8 GHz
61.44 Msps (12 bit ADC)
 ?
USB 3.0, PCIe
Yes
Yes
Yes
US$299(USB) US$799(PCIe)

Friday, July 1, 2016

OpenWebRX with KiwiSDR covering the whole HF band 0 -30Mhz is now up and running in South Africa

OpenWebRX SDR covering the whole HF band 0 -30Mhz  is now up and running in South Africa

This Web based SDR http://zr6aic.giga.co.za:8073 is using the new KiwiSDR Hardware running on Beagle bone.

KiwiSDR using OpenWebRX running on Beagle.
This Web based SDR is covering the Whole HF band 0- 30Mhz. here is the link go and check it out.

Here is the list of receivers around the world using the OpenWebRx platform.

http://sdr.hu/
Here is the list of OpenWebRX servers around the world.

http://sdr.hu/

The KiwiSDR is available from Giga Technology. http://www.giga.co.za


Monday, October 27, 2014

How to install Gqrx SDR software on Linux using your RTL dongle or Softrock receivers.

How to install the Gqrx SDR software on Linux using your RTL dongle or Softrock receivers. (Ubuntu)

RTL _dongle

The RTL Dongles is available from http://www.giga.co.za/ocart/index.php?route=product/category&path=59_63
Gqrx SDR software

Update the repository files and update your Linux to the latest versions.
sudo apt-get update
sudo apt-get upgrade

Now install the libraries ... get coffee
Now install the libraries for GQRX SDR on you Linux (Ubuntu)

sudo apt-get install cmake python-cheetah doxygen libboost-all-dev python-sphinx libfftw3-dev python-numpy libqwt-dev libgsl0-dev python-wxgtk2.6 qtcreator libpulse-dev swig libcppunit-dev libusb++-dev libusb-dev libusb-1.0-0-dev maybe some more coffee ;-)

For Ubuntu 16.04 I had to add the following libraries
sudo apt-get install qtdeclarative5-dev libqt5svg5*

Build and Install GNU Radio libraries


Create a directory where you will install the SDR software in your favorite install directory.
mkdir gqrx
goto directory you created.
cd gqrx
get the gnuradio source code
git clone http://git.gnuradio.org/git/gnuradio.git
git clone https://github.com/gnuradio/gnuradio.git
if you are using the old git before 1.6 then use this command
git clone git://gnuradio.org/gnuradio

it looks like for Ubuntu 16.04 you need to use the following git clone

git clone --recursive http://git.gnuradio.org/git/gnuradio.git
You should see
Cloning into 'gnuradio'...
got to the newly created directory gnuradio when the cloning is done
cd gnuradio
make a build directory
mkdir build
goto the build directory
cd build
Compile gnuradio
cmake ../
if you get an error -- WARNING: Found a known bad version of Boost (v104601). Disabling.
Then run cmake -DENABLE_BAD_BOOST=True ../
This can take a couple of hours depending on the speed of you Linux server.
make
Now install the newly compiled binaries into the required directories
sudo make install
Now load the the gnu drivers
sudo ldconfig

Build and Install RTL-SDR drivers
go to your favorite install directory
cd ../../../
get the latest source code from osmocom.org
git clone git://git.osmocom.org/rtl-sdr.git
go to the newly created directory
cd rtl-sdr/
Now compile the rtl drivers
create the build directory
mkdir build
go to the build directory
cd build
compile the code
cmake ../
make
now install the compiled binaries
sudo make install
load the drivers
sudo ldconfig

now copy the content of the file rtl-sdr.rules and append it to the /etc/udev/rules.d/70-persistent-cd.rules file

use your favorite editor

vi rtl-sdr.rules  and copy the content.

then open the file /etc/udev/rules.d/70-persistent-cd.rules

sudo vi /etc/udev/rules.d/70-persistent-cd.rules and append the previous files content at the end
in ubuntu 16.04 the file name was /etc/udev/rules.d/rtl-sdr.rules

This is how my file looked like

# This file maintains persistent names for CD/DVD reader and writer devices.
# See udev(7) for syntax.
#
# Entries are automatically added by the 75-cd-aliases-generator.rules
# file; however you are also free to add your own entries provided you
# add the ENV{GENERATED}=1 flag to your own rules as well.
# hp_DVD_RW_AD-7581S (pci-0000:00:1f.2-scsi-0:0:0:0)
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="cdrom", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="cdrw", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="dvd", ENV{GENERATED}="1"
SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-0:0:0:0", SYMLINK+="dvdrw", ENV{GENERATED}="1"
#************************* below is what was appended ****************
# original RTL2832U vid/pid (hama nano, for example)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE:="0666"
# ezcap EzTV668 (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE:="0666"
# Terratec Cinergy T Stick Black (rev 1) (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", MODE:="0666"
# Terratec NOXON rev 1 (FC0013)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", MODE:="0666"SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", MODE:="0666"SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", MODE:="0666"SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", MODE:="0666"
# Terratec Cinergy T Stick RC (Rev.3) (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", MODE:="0666"
# Terratec T Stick PLUS (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", MODE:="0666"
# Terratec NOXON rev 2 (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", MODE:="0666"
# PixelView PV-DT235U(RN) (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", MODE:="0666"
# Astrometa DVB-T/DVB-T2 (R828D)SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", MODE:="0666"
# Compro Videomate U620F (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", MODE:="0666"
# Compro Videomate U650F (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", MODE:="0666"# Compro Videomate U650F (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", MODE:="0666"
# Compro Videomate U680F (E4000)SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", MODE:="0666"
# Sweex DVB-T USB (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", MODE:="0666"
# GTek T803 (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", MODE:="0666"
# Lifeview LV5TDeluxe (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", MODE:="0666"
# MyGica TD312 (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", MODE:="0666"
# PROlectrix DV107669 (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", MODE:="0666"
# Zaapa ZT-MINDVBZP (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", MODE:="0666"
# Twintech UT-40 (FC0013)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", MODE:="0666"
# ASUS U3100MINI_PLUS_V2 (FC0013)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", MODE:="0666"
# Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", MODE:="0666"
# Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", MODE:="0666"# Dexatek DK 5217 DVB-T Dongle (FC2580)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", MODE:="0666"
# MSI DigiVox Micro HD (FC2580)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", MODE:="0666"
# DigitalNow Quad DVB-T PCI-E card (4x FC0012?)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", MODE:="0666"
# Leadtek WinFast DTV Dongle mini D (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", MODE:="0666"
# Genius TVGo DVB-T03 USB dongle (Ver. B)SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", MODE:="0666"
# GIGABYTE GT-U7300 (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", MODE:="0666"
# DIKOM USB-DVBT HDSUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", MODE:="0666"
# Peak 102569AGPK (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", MODE:="0666"
# SVEON STV20 DVB-T USB & FM (FC0012)SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", MODE:="0666"
# SVEON STV21 DVB-T USB & FMSUBSYSTEMS=="usb", ATTRS{idVendor}=="2b80", ATTRS{idProduct}=="d3b0", MODE:="0666"


Building and Install gr_osmoSDR

cd ../../
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build/
cmake ../ -Wno-dev
make
sudo make install
sudo ldconfig



Building and Install Gqrx with command line.

git clone https://github.com/csete/gqrx.git gqrx.git
cd gqrx.git
mkdir build
cd build
cmake ..

make
sudo make install
If you want to build the code using the Qt development environment then follow the steps below

cd ../../
git clone https://github.com/csete/gqrx.git
cd gqrx
qtcreator ./gqrx.pro

A new window will open (the QT compiler).
When it opens click the build menu then the build all option.

QT Compiler

you should see The process "/usr/bin/make" exited normally.

Plug in your RTL dongle.
Now run gqrx.
gqrx

Select Yes
GQRX Should now be open. On the first run you will be prompted for a device listing.

Select your SDR (in my case RTL dongle)

 In the device drop down menu select "ezcap USB 2.0 DVB-T/DAB/FM Dongle", then continue to the main GQRX window.

Select File->Start DSP. You should now be receiving something.
Tune to a local radio station between 88-108Mhz FM.
select Wide FM Stero as the Mode Type.



Now connect a proper external antenna to your RTL dongle or Softrock HF/VHF kit.
Hope you have lost of fun ;-)

Here is a video of GQRX using the 100Khz to 17Ghz RTL dongle in direct conversion mode.


How to configure your direct conversion dongle.

Here is the screen-shot of the configuration on Linux for Gqrx
  1. Device Select other
  2. Device String rtl=0,direct_sample=2 (possibly 0/1/2) (This number could differ depending on which pin was wired via balin)
 
 
Device String rtl=0,direct_sample=2
Here is a picture of the 100KHX to 1.7Ghz rtl dongle
100Khz to 1.7Ghz RTL direct conversion dongle
They are available at http://www.giga.co.za/ocart/index.php?route=product/product&path=59&product_id=178