[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Problem with symmetric behavior
From: |
Martin Dvh |
Subject: |
Re: [Discuss-gnuradio] Problem with symmetric behavior |
Date: |
Mon, 07 Jan 2008 23:01:14 +0100 |
User-agent: |
Icedove 1.5.0.14pre (X11/20071018) |
Robert Miller wrote:
> Hello,
>
> I created a flowgraph based upon the usrp_nbfm_ptt.py example. I am
> witnessing some weird, asymmetric behavior when running the graph. The code
> generates a tone from the user specified daughterboard and then plots the
> spectrum via an fft from another user specified daughterboard. I am using 2
> RFX-1800 daughterboards with a single USRP to run the graph, however I
> imagine it should work the same for any RFX board. Here is the main issue:
>
> Everything works fine when using Side B as the transmitter and Side A as the
> Receiver. When running with Side A as the transmitter and Side B as the
> receiver, however, the fft display is really just noise (once in a while
> there exist some spectral lines at odd frequencies). As a note, I am fairly
> certain that the mux's are being set correctly and that the boards are
> tuning correctly. To verify that the issue is not the hardware, I am
> capable of running usrp_siggen.py and usrp_fft.py in both configurations
> successfully. (TXR A --> RXR B, TXR B --> RXR A). Also, I have done the
> tests in completely wired (with 60 dB of attenuation) and unwired
> environments, with both yielding the same results. Attached is the code
> that I am running, can anyone point out something silly that I am doing that
> is causing this problem?
>
> http://www.nabble.com/file/p14642329/DualChannel.py DualChannel.py
>
> As an added note, I am getting a segmentation fault when I close the graph
> by any means other than <Ctrl-C> from the command line. I don't think this
> is related to the above issue, and I don't get the seg fault when running
> the original usrp_nbfm_ptt.py code.
>
> Thanks!
> Rob
>
Your problem is in the tuning I think:
class receive_path(gr.hier_block):
....
def set_freq(self, target_freq):
r = self.u.tune(self.subdev._which, self.subdev, target_freq) # <--
look here
Which should be:
class receive_path(gr.hier_block):
....
def set_freq(self, target_freq):
r = self.u.tune(0, self.subdev, target_freq) # <-- look here
The first parameter is the channel you are tuning, which is always channel 0 if
you only receive one stream.
It is NOT subdev._which, which indicates on which side the daughterboard is.
I hope this helps,
Martin