I am trying to use the GNU-Radio+USRP to implement a cognitive radio
use case in which radios exchange information (XML-based documents)
between each other in order to achieve a defined goal (e.g. to improve
connectivity), without disturbing the usual communication. I have
several questions regarding this scenario…
In a packet-based communication (e.g. tunnel.py) I imagine that I
could transmit my own packets which would include the “cognitive
information” and then receive them on the other end. It would require
some special marking of the packets (binary level?) to distinguish the
cognitive information from the regular data, so that it could be
filtered out on the receiver side. I looked into the tunnel.py, but it
seems that it doesn’t implement anything higher than the MAC layer -
therefore I cannot use it to reliably transfer data, packets get lost
or are too small and I would have to split/merge data manually. Would
it be possible to combine the tunnel.py with the TCP source/sinks in
order to achieve a reliable link?
It looks like some of the examples don’t use the concept of a packet
(eg. usrp_tv_rcv.py) – how would I add my own data and filter it in
such streams? Would it require writing a C++ block? If so, how would I
ensure the reliability then?
Last question… I own to USRPs and I successfully installed the
gnuradio with grc on two MacBooks (10.6.2). Examples run fine, but
when it comes to the tunnel.py I cannot make the TUN/TAP interface to
work on OSX, has anyone had luck with that? I browsed the list
archives, but I couldn’t find a tutorial to make it happen. After
I tried the tuntaposx and Tunnelblick, but with no luck. For now I
replaced the tun/tap with a STOMP/JMS layer.
I have a CS background and the digital communication is rather new to
me, I would appreciate any help or links to resources.