[Hackrf-dev] How do HackRF One transmits/receives a packet ?

Dominic Spill dominicgs at gmail.com
Thu Nov 12 09:04:23 EST 2015


On 12 November 2015 at 12:50, 김상혁 <tkdgur7896 at gmail.com> wrote:
> Hi, I’m newb HackRF.
> I have questions about HackRF One below:
>
> 1) HackRF packet foramt
>         I tried sending/receiving a text file using gnuradio-companion and it worked.
>         Tx)
>         file source(.txt) —> packet encoder—>GMSK MOD—>osmocom sink
>         Rx)
>         osmocom source —> GMSK DEMOD—>packet decoder —>file sink
>         At the end of Tx(osmocom sink) and start of Rx(osmocom source), I wonder HackRF Kit dealing with which data format.

HackRF support a data format known as IQ data.  It consists of pairs
of radio samples taken from the ADCs or passed to the DACs.  These
samples represent a digitised form of the analogue radio waves that
are received/transmitted.

In your example above there are four blocks for each flowgraph, the
interact as follows:
The file source block reads the text file in to a buffer and passes it
to the packet encode.
The packet encoder splits the test in to packets and adds additional
information required for transmitting the packets, such as a preamble,
syncword and maybe a packet header.
The GMSK mod block is a modulator.  The packets are fed in to the
modulator which converts the binary packet data to a digitised radio
signals.
Finally, the osmocom sink takes these digitised waves and passes them
to the Hack~RF hardware, which turns them in to analogue waves, moves
them to the desired frequency and transmits them.

The receive flowgraph is the same in reverse.

> 2) hackrf_transfer command
>         When I use hackrf_transfer command, there is no encoding or modulation option. Are these unnecessary ?
>         And which file format can be used ?

hackrf_transfer takes a similar data format to the osmocom_sink block
above - digitised radio samples as IQ data.  The format is slightly
different as the size of the samples varies; osmocom_sink uses 32bit
floats whereas hackrf_transfer uses 8bit integers to match the
hardware.

> 3) Is there packet transit tutorial ?
>         I want to make a packet and transit using HackRF.

You seem to already be transmitting packets using the HackRF through
GNU Radio.  Is that not achieving what you would like?

Dominic


More information about the HackRF-dev mailing list