Packet data transmission through USRP N210

Dear all,

I’m trying to transmit data packets with variable length through
GNURadio
Companion v3.7.4 and USRP N210 (LTFX&LFRX). Firstly I found tunnel.py in
repository but that file has not been updated for almost 3 years. And
when
I ran it, an import error with no receiver path module occurs.

Now I’m searching an approach to build an unidirectional link between
two
hosts. One PC can transmit any size packets to the other one though the
virtual interfaces created by TUNTAP PDUs.

By referring to an example for testing Header/Payload Demux, I work out
a
flow graph forwarding variable length packets through two virtual
interfaces created in the same host. For the flow graph,
“Test_Flow_Graph.grc” file is attached.

Nevertheless, since the transmitter and receiver are performed in the
same
host in one flow graph, length tags can be passed through Tagged Stream
Mux
block and Header/Payload Demux block. And the tags will act as the mark
to
tell the receiver where is the first byte of a packet. But if
transmitter
and receiver are separated to two hosts and they are connected by USRP,
receiver can only obtain data streams without tags. To fix this problem,
I
try to put a constant “1” source to the trigger port of Header/Payload
demux. Actually in this way receiver can extract the payload by
explicitly
calibrating the header, however, if one byte is missed, all data stream
will shift, which will cause Header/Payload demux block unable to detect
the correct header. The transmitter.grc and receiver.grc are also
attached.

Can someone help me with how to synchronize the sender and receiver
without
utilization of OFDM? The synchronization means that the receiver can
tell
which byte is the initial byte of each packet.

BTW, Can I use the length tag’s value as the payload value of packet
encoder block? If it’s work, I think packet encoder/decoder would do the
synchronization by access code.