- HOME
- RPi PROJECTS
- RADIO RPi PROJECTS
- GNU RADIO
- SATELLITES
- WEATHER SATELLITES
- RADIO ASTRONOMY
- QRZ
-
WA9ONY Amateur (Ham) Radio HackRF One Projects
|
HackRF One Introduciton
The above screen capture and image are a
HackRF One
controlled by
GNU Radio
Companion software running on a
Raspberry Pi
3 Model B computer at 42% CPU load.
The Waterfall Plot is the complete
2 meter amateur radio band
from 144 MHz to 148 MHz showing mostly
FM
stations activity.
- I see a string of Os when I first start a program with the HackRF One.
HackRF One is a software-defined radio (SDR) with
half-duplex
transceiver
(receiver
and a very low power
transmitter)
capability with a very wide
frequency
range of 1 MHz to 6 GHz.
HackRF One interfaces to a computer with
USB cable.
HackRF One interfaces to the antenna with
SMA female connector.
HackRF One is
open source hardware
and
open source hardware.
HackRF One comparison to other
SDRs.
Jawbreker
is the SDR version before HackRF One.
HackRF One Designer Micheal Ossman
YouTube videos.
- OSB2013 - Michael Ossmann - HackRF: Software Defined Radio for Software People.
- Talk about Jawbreaker, the hardware that became HackRF One.
- Demos of using GNU Radio Companion (GRC).
- GRC data flow programming uses sources, sinks, and data processing blocks wired together.
- Data flow blue is complex.
- Complex numbers is key to understanding radio waves.
- Data flow orange is float.
- GRC Osmocom Source block supports HackRF One and other SDRs.
- Need to set sample rate, RF gain, frequency.
- Instrument WX FFT block to visualize signals.
- 2.45 GHz is the center of the FFT plot.
- FFT bandwidth is the sample rate.
- The center spike is the DC offset, a limitation of the SDR implementation or artifact of the SDR implementation.
- You ignore the DC offset spike and avoid the DC offset.
- Peak hold shows WiFi burst.
- Trick, use peak hold and move transmitter supper close to the HackRF One antenna.
- FFT does not display all the data.
- Use a file sink to capture all the data.
- Set WX Slider to frequency
- GRC creates a Python program.
- Need to learn DSP and radio stuff.
- Getting from the radio wave to the digital bits is the hard part.
- FFT shows where signal exists.
- Shift the frequency by multiply by complex exponential
- -1e6 shifts the frequency down 1 MHz.
- Filter data before demodulation.
- HackRF One uses 8 bits I and 8 bits Q per seconds. Summary 16 Mbytes per second over the USB interface.
- GRC converts the I/Q to a float number, results in 4X data rate, summary 64 Mbytes per seconds.
- Need to look into Bod line??
- Throttle to limit the simulation.
HackRF One Hardware
HackRF One manufacturer and designer Micheal Ossman.
HackRF One at
Amazon.com
from
NooElec.
UHF
antennas.
Receiver
filters.
HackRF One Software
HackRF One
Raspberry Pi
software.
HackRF One
Microsoft
Windows
software.
HackRF One
Android
software.
- RF Analyzer. Does not work with Nexus 7 Android V6.0.1 (Source not available HackRF)
- RF Analyzer does worked with NooElec NESDR SMArt - Premium RTL-SDR.
- You need to start RF Analyzer first and them pug in the NooElec NESDR SMArt.
- SdrTuner HackRF Rtl Sdr RF Spectrum.
Does not work with Nexus 7 Android V6.0.1 (Source not available HackRF)
- SDRoidm.
Does not work with Nexus 7 Android V6.0.1 (Source not available HackRF)
Software Defined Radio with HackRF
GNU Radio Tutorial at 2012 ARRL TAPR DCC
- Episode 51 Part 1: Intro to GNU Radio (Part One) from the DCC, Tom Rondeau, KB3UKZ.
- GNU Radio was started in 2001.
- GNU Radio is a development platform to develop applications.
- GNU Radio is designed to be real-time. The computer hardware will determine how fast of real-time it can process.
- GNU Radio is programming with processing blocks.
- The scheduler is the core of GNU Radio.
- The scheduler operates on block flow diagram.
- Processing blocks are connected together and define how radio data flows and is processed.
- GNU Radio flow graph moves data from source blocks , to signal processing blocks, then to sink blocks.
- A flow graph is run by the scheduler.
- The scheduler moves blocks of data from one block to another block.
- A flow graph cannot have feedback from one block to another block.
- A signal processing block can have feedback inside the block.
- Rate changing blocks input rate/output rate, 1:1, 1:N, N:1 or M:N.
- Layers: GR Companion graphical programming/user interface at top, next layer Python, the bottom layer is C++.
- File sinks can be use used for debugging the data flow diagram.
- GNU Radio program options
- QT GUI is new interface, WX GUI is the old interface.
- Double click on a block to bring up the block properties.
- Color of the data flow indicates the data type.
- To create block data flow connections, click on the block data output port and then click on the block data input port.
- Red indicates errors.
- GNU Radio default sampling reate is 32 KS/s.
- CPU thread per block operation means faster parallel operation based on how many threads can be operated in parallel on your computer hardware.
- Episode 51 Part 2: Intro to GNU Radio (Part Two) from the DCC, Tom Rondeau, KB3UKZ.
- Great graphical demo of filtering a signal.
- Nyquist sampling rate is 2X the information bandwidth.
- Sampling change is key to SDR operation.
- Decimation is downsampling.
- Interpolation is upsampling.
- Always filter when changing sample rate.
- Filter before downsampling.
- Filter after upsampling.
- Need to check 2012 Google Summer of Code
- GNU Radio Filter Design Tool greates a CSV file.
- gr_filter_design
- Filter windowing
- Recommend using Blackman-harris
- Worst is Hamming window (Default)
- Build memu.
- Generate icon creates the Python code file.
- QT slider bar example (QT GUI Range).
- Options, ID: top_block, top_block.py file.
- Should change the the name top_block.
- Change Generate Options to QT GUI.
- Block properties short cuts
- Ctrl-c: copy text
- Ctrl-v: past text
- Ctrl-x: copy and cut text
- Block properties variables
- Constants, variables and Python expressions are allowed.
- Red stop sign icon stops the GRC program.
- Zeros in the bottom window indicates dropped data when the program is running.
- In RPi terminal enter python to start the python interperter.
- To quit enter quit().
- Filter transition period.
- Small transition creates a large number of taps. More processing time and power is needed.
- Large transition creates a small number of taps. Less processing time and power is needed.
- GNU Radio uses single precision numbers for floats (one number) and complete (two numbers).
- Use the magnifying glass to search for a block blocks.
- For example, search on WX will show all the WX Widgets and WX Instrumentation blocks.
- GUI Grid Position
- Row starts at 0, column starts at 0, row span, column span
- Throttle block limits the data rate flow (this is poor clock accuracy).
- Do not use the Throttle block with real hardware.
- Use the Throttle block for simulations without hardware.
GNU Radio Companion Tutorial
Sharlene Katz at CSUN
Misc.
Signals
Clocking decoding
Groups
- HOME
- RPi PROJECTS
- RADIO RPi PROJECTS
- GNU RADIO
- SATELLITES
- WEATHER SATELLITES
- RADIO ASTRONOMY
- QRZ
-
© April 27, 2018
David Haworth,
WA9ONY
www.stargazing.net/david