discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] debugging benchmark.py


From: Nathan West
Subject: Re: [Discuss-gnuradio] debugging benchmark.py
Date: Sat, 6 Apr 2013 13:48:37 -0500

On Sat, Apr 6, 2013 at 12:46 PM, Karan Talasila <address@hidden> wrote:
HI,
    I am trying to see communication between two usrp's using tunnel.py on two virtual ports gr0 and gr1, so i am trying to run tunnel.py on 2 usrp's in my lab using gmsk. I am unable to receive packets in the receiver. so i was trying to debug. But i was unsure of certain things.

1. There is no interpolator option. so I do not know how is sampling occuring, i only see it says usrp running at 64 MHz. can somebody show me  a link or explain the calculations behind obtaining samples per second given a user set data rate, modulation,carrier threshold and amplitude level.

The modulator and demodulator blocks are actually "hierarchical blocks" in GR speak. Basically they are written in Python and just connect other blocks. You can see them in gr-digital/python/{bpsk,qpsk,psk,qam}.py etc... the guts of each of those is in generic_mod_demod.py in the same folder. The short answer is that symbols go through an RRC filter implemented using a resampling pfb. That is were interpolation happens.
 
2. How do i know how to vary the gain and carrier threshold. Because increasing too much gain will put the setup in nonlinear region.

Good observation. A common way to set the gain in GR apps is with a --rx-gain and --tx-gain option. That's also an option available in the GRC UHD blocks and it may be more obvious there. There is also a method available to change the gain within in application.
 
3. General ideas of debugging scripts rather than just randomly changing values of parameters on a trial and error basis to get desired output.

Another good observation. http://gnuradio.org/redmine/projects/gnuradio/wiki/FAQ#Flying-Blind might help. Basically GRC might be able to get you a working flowgraph that you understand faster than the (python) examples will.

--
Regards
Karan Talasila

 
You've got some great questions, but some brief advice going along with some answers:

Don't use benchmark_py to learn GNU Radio. You might start with the GRC loopbacks in examples/digital/demod then see if you can use those ideas to make your own flowgraphs that transmit and receive with UHD sinks/sources. The benchmark_{rx,tx} scripts have also been kind of frowned upon, but I think they are still reasonable examples for seeing how to create a python transmitter and receiver as long as you don't go into them with the expectation that they will solve whatever problem you're trying to work on (and thus try to make them do weird things). The downside of trying to learn from them (and tunnel) is the options are passed in a very clever way. That's great for adding options, but it makes it difficult to see what is being passed to each block and where that comes from. GRC generally makes that a little easier.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]