How to get wireless carrier signal in GNU Radio

Hi,
As per the current status of GNU Radio, I got to know that there is no
MAC
(CSMA) implementation. Therefore I am not sure if I can get the signal
from
signal processing blocks of GNU Radio about the carrier sensed by USRP
receiver.

Please help me in this regard.

Till now I am able to locate the message queue mechanism to get the
received
packets from the other USRP transmitter, which is in gr_msg_que.cc in
runtime library of GNUradio-core. But this mechanism just indicates the
received packets (correct or corrupted), while the signal sensing
(packet
start) starts much earlier than the complete packet reception.

Is it possible to get the information about the wireless carrier signal
in
the vicinity of USRP receiver from the current GNU Radio framework? I am
using GNU Radio 3.1.1 version.

Your help will greatly help me in my goal. Thanks in advance and
expecting
your kind reply.

Sachin,

I don’t know if this is helpful, just sharing my experience.

  1. You may want to check tunnel.py, in which there is a CSMA scheme –
    Eric told me this a couple of weeks ago.
  2. It is possible to do some carrier sensing by ourself. You can just
    read the signal from the USRP and compare the signal strength level
    with a threshold. Of course a filter is needed. I tried this last week
    and it is working, although the threshold may need some tuning. If you
    need I can send you the code written in python.

Zhenghao

Hi Zhenghao,
Thank you for your valuable reply. I appreciate it. As per your supplied
information, I will start looking for CSMA code in tunnel.py, though if
you
can send me your code, it will be quite helpful too. I hope that using
tunnel.py code and help from you I will be able to get the carrier sense
capability for my application.

Thanks
-Sachin

Zenny Z. wrote:

and it is working, although the threshold may need some tuning. If you

from
start) starts much earlier than the complete packet reception.


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/how-to-get-wireless-carrier-signal-in-GNU-Radio-tp20120856p20139200.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Sachin,

Sure, here is the related code I use:

# get a probe
alpha = 0.001
thresh = 30

self.probe = gr.probe_avg_mag_sqrd_c(thresh,alpha)


# connect usrp to the probe
self._fg.connect(self.u, self.probe)


# wait until the medium is free
while objDemod1.probe.level() > threshold:
    time.sleep(0.0001)

Zhenghao

Hi Zenghao,

Thank you for your reply. I have few more queries regarding the carrier
sense module in probe_avg_mag_sqrd_c.cc file. It looks like to find the
presence of carrier in air, there is a variable d_unmuted, which is
being
checked. This variable is set whenever pre_output_iir variable is more
than
d_threshold value. I have two doubts about it.

First, How can d_threshold be compared with d_iir.prev_output variable?
It
seems that d_ threshold is the ratio of Signal to Noise. Does it mean,
d_iir.prev_output is also ratio os signal ro noise?

Second, is there any way to define the threshold signal strength? Or
does
the packet initiation detection not depended on carrier’s strength and
rather dependent on S/N ratio?

Hoping for the kind reply again.

  • Sachin

Zenny Z. wrote:

Zhenghao

capability for my application.

On Wed, Oct 22, 2008 at 6:19 PM, Shirve [email protected] wrote:

the vicinity of USRP receiver from the current GNU Radio framework? I
http://www.nabble.com/how-to-get-wireless-carrier-signal-in-GNU-Radio-tp20120856p20120856.html

Sent from the GnuRadio mailing list archive at Nabble.com.


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


View this message in context:
http://www.nabble.com/how-to-get-wireless-carrier-signal-in-GNU-Radio-tp20120856p20169595.html
Sent from the GnuRadio mailing list archive at Nabble.com.