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.
You've got some great questions, but some brief advice going along with some answers: