[Discuss-gnuradio] Python block with vector input and vector output

2015-10-29 Thread Chad R
Good day every one

I have implemented a Python block but I am not getting the results I
expected. I get the results I expect at any frequency=samp_rate/2^n where n
is any integer. My block makes use of a yall1 reconstruction algorithm to
reconstruct a signal from M=100 to N=1024 vector.
The code for my block is shown below:

class yall1_reconstruction_cc(gr.sync_block):
"""
Yall1_reconstruction_block
"""
def __init__(self,n,m):
self.N = n
self.M = m
phi =
np.load("/home/chad/Desktop/PROJECT/Python/Matrices/phi_mtx%(M)dx%(N)d.npy"
%{"M":self.M,"N":self.N})
psi =
np.load("/home/chad/Desktop/PROJECT/Python/Matrices/psi_mtx%(N)dx%(N)d.npy"
%{"N":self.N})
self.alpha = np.dot(phi,psi)
gr.sync_block.__init__(self,
name="yall1_reconstruction",
in_sig=[(np.complex64,self.M)],
out_sig=[(np.complex64,self.N)])

def work(self, input_items, output_items):
in0 = input_items[0]
size = np.shape(in0)[0]
out = np.zeros((size,self.N),dtype = np.complex64)
#out = yall1(self.alpha,in0[0]).reshape(self.N,)
for i in range(0,size):
recon = yall1(self.alpha, in0[i].reshape(self.M,1))*4.7
out[i] = recon.reshape(self.N,)
output_items[0][:] = out
return len(output_items[0])

Have I implemented it right? or is my issue with my implementation? I read
through the tutorials but I feel some aspects are quiet hard to follow.

Thank you in advance for your help

Chad Richs
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Python block with vector input and vector output

2015-10-29 Thread Chad R
Sorry. Something went wrong when I copied pasted it but my actual code is:

import numpyfrom gnuradio import grfrom yall1 import *
class yall1_reconstruction_cc(gr.sync_block):
"""Yall1_reconstruction_block"""
def __init__(self,n,m):
self.N = n
self.M = m
phi = 
np.load("/home/chad/Desktop/PROJECT/Python/Matrices/phi_mtx%(M)dx%(N)d.npy"
%{"M":self.M,"N":self.N})
psi = 
np.load("/home/chad/Desktop/PROJECT/Python/Matrices/psi_mtx%(N)dx%(N)d.npy"
%{"N":self.N})
self.alpha = np.dot(phi,psi)
gr.sync_block.__init__(self,
name="yall1_reconstruction",
in_sig=[(np.complex64,self.M)],
out_sig=[(np.complex64,self.N)])

def work(self, input_items, output_items):
in0 = input_items[0]
size = np.shape(in0)[0]
out = np.zeros((size,self.N),dtype = np.complex64)
#out = yall1(self.alpha,in0[0]).reshape(self.N,)
for i in range(0,size):
recon = yall1(self.alpha, in0[i].reshape(self.M,1))*4.6
out[i] = recon.reshape(self.N,)
output_items[0][:] = out
return len(output_items[0])



On Thu, Oct 29, 2015 at 2:08 PM, Marcus Müller <marcus.muel...@ettus.com>
wrote:

> Hi Chad,
>
> there's something wrong with the indention of the lines between "def
> __init__" and "g.sync_block", and the same goes for your work function; so
> that's my first stab at explaining misbehaviour.
>
>
> Best regards,
> Marcus
>
>
> On 29.10.2015 13:01, Chad R wrote:
>
> Good day every one
>
> I have implemented a Python block but I am not getting the results I
> expected. I get the results I expect at any frequency=samp_rate/2^n where n
> is any integer. My block makes use of a yall1 reconstruction algorithm to
> reconstruct a signal from M=100 to N=1024 vector.
> The code for my block is shown below:
>
> class yall1_reconstruction_cc(gr.sync_block):
> """
> Yall1_reconstruction_block
> """
> def __init__(self,n,m):
> self.N = n
> self.M = m
> phi =
> np.load("/home/chad/Desktop/PROJECT/Python/Matrices/phi_mtx%(M)dx%(N)d.npy"
> %{"M":self.M,"N":self.N})
> psi =
> np.load("/home/chad/Desktop/PROJECT/Python/Matrices/psi_mtx%(N)dx%(N)d.npy"
> %{"N":self.N})
> self.alpha = np.dot(phi,psi)
> gr.sync_block.__init__(self,
> name="yall1_reconstruction",
> in_sig=[(np.complex64,self.M)],
> out_sig=[(np.complex64,self.N)])
>
> def work(self, input_items, output_items):
> in0 = input_items[0]
> size = np.shape(in0)[0]
> out = np.zeros((size,self.N),dtype = np.complex64)
> #out = yall1(self.alpha,in0[0]).reshape(self.N,)
> for i in range(0,size):
> recon = yall1(self.alpha, in0[i].reshape(self.M,1))*4.7
> out[i] = recon.reshape(self.N,)
> output_items[0][:] = out
> return len(output_items[0])
>
> Have I implemented it right? or is my issue with my implementation? I read
> through the tutorials but I feel some aspects are quiet hard to follow.
>
> Thank you in advance for your help
>
> Chad Richs
>
>
> ___
> Discuss-gnuradio mailing 
> listDiscuss-gnuradio@gnu.orghttps://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
>
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Plot layout

2015-10-27 Thread Chad R
Good day everyone

I'm working on a report for my final year engineering project and I want to
include some plots from GRC. Taking a screenshot of the plot isn't ideal as
it saves it as a png. Is there a better way I could export it for importing
into word? Preferably some vector format.
Also the default font size is to small. Currently I'm trying to correct it
by adding the following code to the topblock.py file:

f = self.font()
f.setPixelSize(15)
self.setFont(f)

This does change font size however it ruins the widget layout. Is there a
better way I can change the font size?

Thank you in advance
Chad Richts
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Python block inputting vectors of random sizes

2015-09-30 Thread Chad R
Good day everyone

Could some please explain to me where I'm missinterpreting how to implement
a block. My block code is

import numpy as np
from gnuradio import gr

class compress_ff(gr.sync_block):
"""
Compressing Block
"""
def __init__(self, n, m):
global phi
N = n
M = m
phi =
np.load("/home/chad/Desktop/PROJECT/Python/Matrices/phi_mtx%(M)dx%(N)d.npy"
%{"M":M,"N":N})
gr.sync_block.__init__(self,
name="compress_cc",
in_sig=[(np.float32,N)],
out_sig=[(np.float32,M)])

def work(self, input_items, output_items):
in0 = input_items[0]
print "compin0"
print np.shape(in0)
in0 = in0.conj().transpose()
out = np.dot(phi,in0)
out = out.conj().transpose()
# <+signal processing here+>
output_items[0][:] = out
return len(output_items[0])

which I would expect to take in an N length vector and return an M length
vector. However my input vector, in0. Seems to be arbitarially (random
number, N) in size. The random number is a multiple of four which I presume
is due to the data type. I have matching data types so I am confuse as to
why its not creating a (1,N) vector. Any help would be greatly appreciated.
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] GRC python block

2015-09-28 Thread Chad R
Good day every one

Ive been working on the creating a python block.
Ive worked through the tutorial and my block passes make test. However when
I try make install. I get an error with the /lib/_impl.cc file. Do I need
to link the python block in this file and if so is there some where I can
read up on how to do this?

Thank you in advance
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] 2Rx 1Tx overflow error

2015-09-22 Thread Chad R
Good day Marcus

I am using the most recent version of UHD. The problem I was encountering
was due to the USB buffer not clearing before the next data being loaded.
This was solved by adding a pause after running the GNURadio program.

This however meant I could not run my program in "real time" so I have been
looking at implementing it in the GNURadio way, I have some questions that
I ask you or anyone in the mailing list could help with.

First what I am trying to implement is a Compressive Sensing(CS)
algorithim. The block I am trying to create will take in a vector of length
N, multiply it my a MxN matrix and output a vector of length M where M << N.

Now for the questions.

1) Am i right in saying that with the different block types, the N and M
refers to ports and not data type sizes. So in my case, one input vector
and one output vector, a synchronous block will be fine?
2) The MxN matrix I'm using will be loaded from a file. I however only want
to load it once instead of every time the CS block receives data. This
leads me to think that I shouldn't load the matrix in the block code?
However where could I load it that it will be globally accessible by the
block code?

Again thank you in advance for your help

On Mon, Sep 14, 2015 at 4:00 PM, Marcus D. Leech <mle...@ripnet.com> wrote:

> Again, could you confirm which UHD version you're using, did you upgrade
> to the latest?
>
> Also, you're probably better-off doing things "in the Gnu Radio way",
> rather than loading into a vector and doing DSPish things
>   "out of band".
>
> You might want to learn how to write Python blocks, since 64ksps is not a
> very taxing rate, Python blocks should be fine.
>
>
> https://gnuradio.org/redmine/projects/gnuradio/wiki/OutOfTreeModules#Tutorial-3-Writing-a-signal-processing-block-in-Python
>
>
>
> On 09/14/2015 09:28 AM, Chad R wrote:
>
> My complete code is:
>
> class Tx1_Rx2(gr.top_block):
> def __init__(self, nsamps):
> gr.top_block.__init__(self, "Tx1_Rx2")
> ##
> # Variables
> ##
> self.samp_rate = samp_rate = 64e3
>
> ##
> # Blocks
> ##
> self.source = uhd.usrp_source(
> ",".join(("", "")),
> uhd.stream_args(
> cpu_format="fc32",
> channels=range(2),
> ),
> )
> self.source.set_subdev_spec("A:A A:B", 0)
> self.source.set_time_now(uhd.time_spec(time.time()),
> uhd.ALL_MBOARDS)
> self.source.set_samp_rate(samp_rate)
> self.source.set_center_freq(100e6, 0)
> self.source.set_gain(0, 0)
> self.source.set_antenna("RX2", 0)
> self.source.set_bandwidth(samp_rate, 0)
> self.source.set_center_freq(100e6, 1)
> self.source.set_gain(0, 1)
> self.source.set_antenna("RX2", 1)
> self.source.set_bandwidth(samp_rate, 1)
> self.sink = uhd.usrp_sink(
> ",".join(("", "")),
> uhd.stream_args(
> cpu_format="fc32",
> channels=range(2),
> ),
> )
> self.sink.set_subdev_spec("A:A A:B", 0)
> self.sink.set_samp_rate(samp_rate)
> self.sink.set_center_freq(100e6, 0)
> self.sink.set_gain(0, 0)
> self.sink.set_antenna("TX/RX", 0)
> self.sink.set_bandwidth(samp_rate, 0)
> self.sink.set_center_freq(100e6, 1)
> self.sink.set_gain(0, 1)
> self.sink.set_antenna("TX/RX", 1)
> self.sink.set_bandwidth(samp_rate, 1)
> self.vector = blocks.vector_sink_c(1)
> self.vector2 = blocks.vector_sink_c(1)
> self.header = blocks.head(gr.sizeof_gr_complex*1, int(nsamps))
> self.header2 = blocks.head(gr.sizeof_gr_complex*1, int(nsamps))
> self.signal = analog.sig_source_c(samp_rate, analog.GR_COS_WAVE,
> 1, 1, 0)
> self.const_signal = analog.sig_source_c(0, analog.GR_CONST_WAVE,
> 0, 0, 0)
>
> ##
> # Connections
> ##
> self.connect((self.const_signal, 0), (self.sink, 1))
> self.connect((self.signal, 0), (self.sink, 0))
> self.connect((self.header2, 0), (self.vector2, 0))
> self.connect((self.header, 0), (self.vector, 0))
> self.c

Re: [Discuss-gnuradio] 2Rx 1Tx overflow error

2015-09-14 Thread Chad R
Awesome. Thank you I got it to work in gnuradio-companion however now when
I try to implement it in my python project I get the error.

thread[thread-per-block[3]: ]:
EnvironmentError: IOError: Radio ctrl (0) packet parse error -
AssertionError: packet_info.packet_count == (seq_to_ack & 0xfff)
  in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
  at /home/ubuntu/git/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:264

where thread per block changes between 2 and 3 and the gr block changes
between source and sink. Is this an error caused due to the limitations of
my hardware?

On Sun, Sep 13, 2015 at 6:03 PM, Marcus D. Leech <mle...@ripnet.com> wrote:

> On 09/13/2015 07:02 AM, Chad R wrote:
>
> Hi Marcus I tried what you said and I'm still getting the overflow errors.
> I've attached a link of my flowgraph if it will maybe help to solve this
> issue.
> http://imgur.com/yI96ZMw
>
> Ah.
>
> Bundle them into a single multi-channel USRP source/sink.
>
> There's no support for the two channels being spread across different UHD
> multi_usrp objects.
>
>
>
>
> On Sun, Sep 13, 2015 at 1:01 PM, Chad R <chadric...@gmail.com> wrote:
>
>> Hi Marcus I tried what you said and I'm still getting the overflow errors.
>> I've attatched a link of my flowgraph if it will maybe help to solve this
>> issue.
>> http://imgur.com/yI96ZMw
>>
>> On Sat, Sep 12, 2015 at 3:26 PM, Marcus D. Leech <mle...@ripnet.com>
>> wrote:
>>
>>> On 09/12/2015 08:30 AM, Chad R wrote:
>>>
>>> Thanks for the advice Marcus
>>>
>>> However I updated UHD to version 3.9 the latest stable release from the
>>> ettus binary files and I'm still getting the error but now instead of just
>>> D its randomly S's and D's. The S's is a sequence error?
>>>
>>> Yes, S and D are closely related.
>>>
>>> I think that you're running into the "symmetry required" issue.So,
>>> you'll need a 2nd TX channel in your flow, with just 0s in it.
>>>
>>>
>>>
>>>
>>> On Fri, Sep 11, 2015 at 4:21 PM, Marcus D. Leech <mle...@ripnet.com>
>>> wrote:
>>>
>>>> On 09/11/2015 07:56 AM, Chad R wrote:
>>>>
>>>>> Good day.
>>>>>
>>>>> I'm wondering if you can help me. I have a B210 board connected to a
>>>>> jetson tk1 and I am trying to send over one port and receive over two. The
>>>>> hardware setup is the RX/TX board connected to an RF filter connected to a
>>>>> splitter and the connected to the two RX2 ports. When I run one TX and one
>>>>> RX I have no issues however when I run 2 RX my python application crashes.
>>>>> I try run a simple 2 Rx configuration in GNU Radio with the 2 USRP sources
>>>>> connected to 2 Frequency GUI.
>>>>> However even running at a sampling rate of 64Kbps I am getting an
>>>>> overflow error. I thought that maybe the jetson tk1 couldn't handle the
>>>>> bandwidth but running it on my PC I get the same results. The output is as
>>>>> follows:
>>>>>
>>>>> Executing: "/home/chad/Tx1_Rx2.py"
>>>>>
>>>>> linux; GNU C++ version 4.8.2; Boost_105400;
>>>>> UHD_003.008.001-42-g8c87a524
>>>>>
>>>>> -- Operating over USB 3.
>>>>> -- Initialize CODEC control...
>>>>> -- Initialize Radio control...
>>>>> -- Performing register loopback test... pass
>>>>> -- Performing register loopback test... pass
>>>>> -- Performing CODEC loopback test... pass
>>>>> -- Performing CODEC loopback test... pass
>>>>> -- Asking for clock rate 32.00 MHz...
>>>>> -- Actually got clock rate 32.00 MHz.
>>>>> -- Performing timer loopback test... pass
>>>>> -- Performing timer loopback test... pass
>>>>> -- Setting master clock rate selection to 'automatic'.
>>>>> -- Asking for clock rate 32.768000 MHz...
>>>>> -- Actually got clock rate 32.768000 MHz.
>>>>> -- Performing timer loopback test... pass
>>>>> -- Performing timer loopback test... pass
>>>>> -- Successfully tuned to 100.00 MHz
>>>>> --
>>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>>> -- Successfully tuned to 100.00 MHz
>>>>> --
>>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>>> -- Successfully tuned to 100.00 MHz
>

Re: [Discuss-gnuradio] 2Rx 1Tx overflow error

2015-09-14 Thread Chad R
My complete code is:

class Tx1_Rx2(gr.top_block):
def __init__(self, nsamps):
gr.top_block.__init__(self, "Tx1_Rx2")
##
# Variables
##
self.samp_rate = samp_rate = 64e3

##
# Blocks
##
self.source = uhd.usrp_source(
",".join(("", "")),
uhd.stream_args(
cpu_format="fc32",
channels=range(2),
),
)
self.source.set_subdev_spec("A:A A:B", 0)
self.source.set_time_now(uhd.time_spec(time.time()),
uhd.ALL_MBOARDS)
self.source.set_samp_rate(samp_rate)
self.source.set_center_freq(100e6, 0)
self.source.set_gain(0, 0)
self.source.set_antenna("RX2", 0)
self.source.set_bandwidth(samp_rate, 0)
self.source.set_center_freq(100e6, 1)
self.source.set_gain(0, 1)
self.source.set_antenna("RX2", 1)
self.source.set_bandwidth(samp_rate, 1)
self.sink = uhd.usrp_sink(
",".join(("", "")),
uhd.stream_args(
cpu_format="fc32",
channels=range(2),
),
)
self.sink.set_subdev_spec("A:A A:B", 0)
self.sink.set_samp_rate(samp_rate)
self.sink.set_center_freq(100e6, 0)
self.sink.set_gain(0, 0)
self.sink.set_antenna("TX/RX", 0)
self.sink.set_bandwidth(samp_rate, 0)
self.sink.set_center_freq(100e6, 1)
self.sink.set_gain(0, 1)
self.sink.set_antenna("TX/RX", 1)
self.sink.set_bandwidth(samp_rate, 1)
self.vector = blocks.vector_sink_c(1)
self.vector2 = blocks.vector_sink_c(1)
self.header = blocks.head(gr.sizeof_gr_complex*1, int(nsamps))
self.header2 = blocks.head(gr.sizeof_gr_complex*1, int(nsamps))
self.signal = analog.sig_source_c(samp_rate, analog.GR_COS_WAVE,
1, 1, 0)
self.const_signal = analog.sig_source_c(0, analog.GR_CONST_WAVE, 0,
0, 0)

##
# Connections
##
self.connect((self.const_signal, 0), (self.sink, 1))
self.connect((self.signal, 0), (self.sink, 0))
self.connect((self.header2, 0), (self.vector2, 0))
self.connect((self.header, 0), (self.vector, 0))
self.connect((self.source, 0), (self.header2, 0))
self.connect((self.source, 1), (self.header, 0))

def get_samp_rate(self):
return self.samp_rate

def set_samp_rate(self, samp_rate):
self.samp_rate = samp_rate
self.signal.set_sampling_freq(self.samp_rate)
self.sink.set_samp_rate(self.samp_rate)
self.sink.set_bandwidth(self.samp_rate, 0)
self.sink.set_bandwidth(self.samp_rate, 1)
self.source.set_samp_rate(self.samp_rate)
self.source.set_bandwidth(self.samp_rate, 0)
self.source.set_bandwidth(self.samp_rate, 1)

def receive_data(self):
data = np.array(self.vector.data())
return data

def receive_data2(self):
data = np.array(self.vector2.data())
return data


if __name__ == '__main__':
N = 1024
M = 100*np.round(np.log10(N))
tb = Tx1_Rx2(N)
psi = np.load("psi_mtx.npy")
phi = np.load("phi_mtx.npy")
alpha = np.dot(phi,psi)

while 1:
tb.start()
time.sleep(0.1)
tb.stop()
time.sleep(0.1)
tb.wait()
time.sleep(0.5)
signal = tb.receive_data()
time.sleep(0.5)
signal2 = tb.receive_data2()
time.sleep(0.5)
print "Signal"
print signal
print "Signal2"
print signal2

I used the sample rate of 64Ksps for both cases. I'm new to both gnuradio
and python so I am aware that my code isn't well written.

On Mon, Sep 14, 2015 at 3:21 PM, Marcus D. Leech <mle...@ripnet.com> wrote:

> On 09/14/2015 07:03 AM, Chad R wrote:
>
> Awesome. Thank you I got it to work in gnuradio-companion however now when
> I try to implement it in my python project I get the error.
>
> thread[thread-per-block[3]: ]:
> EnvironmentError: IOError: Radio ctrl (0) packet parse error -
> AssertionError: packet_info.packet_count == (seq_to_ack & 0xfff)
>   in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
>   at /home/ubuntu/git/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:264
>
> where thread per block changes between 2 and 3 and the gr block changes
> between source and sink. Is this an error caused due to the limitations of
> my hardwa

Re: [Discuss-gnuradio] 2Rx 1Tx overflow error

2015-09-13 Thread Chad R
Hi Marcus I tried what you said and I'm still getting the overflow errors.
I've attached a link of my flowgraph if it will maybe help to solve this
issue.
http://imgur.com/yI96ZMw

On Sun, Sep 13, 2015 at 1:01 PM, Chad R <chadric...@gmail.com> wrote:

> Hi Marcus I tried what you said and I'm still getting the overflow errors.
> I've attatched a link of my flowgraph if it will maybe help to solve this
> issue.
> http://imgur.com/yI96ZMw
>
> On Sat, Sep 12, 2015 at 3:26 PM, Marcus D. Leech <mle...@ripnet.com>
> wrote:
>
>> On 09/12/2015 08:30 AM, Chad R wrote:
>>
>> Thanks for the advice Marcus
>>
>> However I updated UHD to version 3.9 the latest stable release from the
>> ettus binary files and I'm still getting the error but now instead of just
>> D its randomly S's and D's. The S's is a sequence error?
>>
>> Yes, S and D are closely related.
>>
>> I think that you're running into the "symmetry required" issue.So,
>> you'll need a 2nd TX channel in your flow, with just 0s in it.
>>
>>
>>
>>
>> On Fri, Sep 11, 2015 at 4:21 PM, Marcus D. Leech <mle...@ripnet.com>
>> wrote:
>>
>>> On 09/11/2015 07:56 AM, Chad R wrote:
>>>
>>>> Good day.
>>>>
>>>> I'm wondering if you can help me. I have a B210 board connected to a
>>>> jetson tk1 and I am trying to send over one port and receive over two. The
>>>> hardware setup is the RX/TX board connected to an RF filter connected to a
>>>> splitter and the connected to the two RX2 ports. When I run one TX and one
>>>> RX I have no issues however when I run 2 RX my python application crashes.
>>>> I try run a simple 2 Rx configuration in GNU Radio with the 2 USRP sources
>>>> connected to 2 Frequency GUI.
>>>> However even running at a sampling rate of 64Kbps I am getting an
>>>> overflow error. I thought that maybe the jetson tk1 couldn't handle the
>>>> bandwidth but running it on my PC I get the same results. The output is as
>>>> follows:
>>>>
>>>> Executing: "/home/chad/Tx1_Rx2.py"
>>>>
>>>> linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.001-42-g8c87a524
>>>>
>>>> -- Operating over USB 3.
>>>> -- Initialize CODEC control...
>>>> -- Initialize Radio control...
>>>> -- Performing register loopback test... pass
>>>> -- Performing register loopback test... pass
>>>> -- Performing CODEC loopback test... pass
>>>> -- Performing CODEC loopback test... pass
>>>> -- Asking for clock rate 32.00 MHz...
>>>> -- Actually got clock rate 32.00 MHz.
>>>> -- Performing timer loopback test... pass
>>>> -- Performing timer loopback test... pass
>>>> -- Setting master clock rate selection to 'automatic'.
>>>> -- Asking for clock rate 32.768000 MHz...
>>>> -- Actually got clock rate 32.768000 MHz.
>>>> -- Performing timer loopback test... pass
>>>> -- Performing timer loopback test... pass
>>>> -- Successfully tuned to 100.00 MHz
>>>> --
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Successfully tuned to 100.00 MHz
>>>> --
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Successfully tuned to 100.00 MHz
>>>> --
>>>> Using Volk machine: avx_64_mmx
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> -- Asking for clock rate 32.768000 MHz... OK
>>>> DDDS
>>>>
>>>> Surely I shouldn't get overflow errors at such a low sampling rate?
>>>> When I run the benchmark_rate it returns no errors. Any help would be
>>>> appreciated.
>>>>
>>>> Chad
>>>>
>>>>
>>>>
>>> Update to a newer UHD (and matching firmware), and try your test again.
>>>  My recollection is that there was a restriction for TX/RX applications
>>>   on B210 that they had to be symmetric with respect to number of TX/RX
>>> streams.
>>>
>>>
>>>
>>>
>>> ___
>>> Discuss-gnuradio mailing list
>>> Discuss-gnuradio@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>
>>
>>
>
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] 2Rx 1Tx overflow error

2015-09-12 Thread Chad R
Thanks for the advice Marcus

However I updated UHD to version 3.9 the latest stable release from the
ettus binary files and I'm still getting the error but now instead of just
D its randomly S's and D's. The S's is a sequence error?

On Fri, Sep 11, 2015 at 4:21 PM, Marcus D. Leech <mle...@ripnet.com> wrote:

> On 09/11/2015 07:56 AM, Chad R wrote:
>
>> Good day.
>>
>> I'm wondering if you can help me. I have a B210 board connected to a
>> jetson tk1 and I am trying to send over one port and receive over two. The
>> hardware setup is the RX/TX board connected to an RF filter connected to a
>> splitter and the connected to the two RX2 ports. When I run one TX and one
>> RX I have no issues however when I run 2 RX my python application crashes.
>> I try run a simple 2 Rx configuration in GNU Radio with the 2 USRP sources
>> connected to 2 Frequency GUI.
>> However even running at a sampling rate of 64Kbps I am getting an
>> overflow error. I thought that maybe the jetson tk1 couldn't handle the
>> bandwidth but running it on my PC I get the same results. The output is as
>> follows:
>>
>> Executing: "/home/chad/Tx1_Rx2.py"
>>
>> linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.001-42-g8c87a524
>>
>> -- Operating over USB 3.
>> -- Initialize CODEC control...
>> -- Initialize Radio control...
>> -- Performing register loopback test... pass
>> -- Performing register loopback test... pass
>> -- Performing CODEC loopback test... pass
>> -- Performing CODEC loopback test... pass
>> -- Asking for clock rate 32.00 MHz...
>> -- Actually got clock rate 32.00 MHz.
>> -- Performing timer loopback test... pass
>> -- Performing timer loopback test... pass
>> -- Setting master clock rate selection to 'automatic'.
>> -- Asking for clock rate 32.768000 MHz...
>> -- Actually got clock rate 32.768000 MHz.
>> -- Performing timer loopback test... pass
>> -- Performing timer loopback test... pass
>> -- Successfully tuned to 100.00 MHz
>> --
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Successfully tuned to 100.00 MHz
>> --
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Successfully tuned to 100.00 MHz
>> --
>> Using Volk machine: avx_64_mmx
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Asking for clock rate 32.768000 MHz... OK
>> -- Asking for clock rate 32.768000 MHz... OK
>> DDDS
>>
>> Surely I shouldn't get overflow errors at such a low sampling rate? When
>> I run the benchmark_rate it returns no errors. Any help would be
>> appreciated.
>>
>> Chad
>>
>>
>>
> Update to a newer UHD (and matching firmware), and try your test again.
>  My recollection is that there was a restriction for TX/RX applications
>   on B210 that they had to be symmetric with respect to number of TX/RX
> streams.
>
>
>
>
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] 2Rx 1Tx overflow error

2015-09-11 Thread Chad R
Good day.

I'm wondering if you can help me. I have a B210 board connected to a jetson
tk1 and I am trying to send over one port and receive over two. The
hardware setup is the RX/TX board connected to an RF filter connected to a
splitter and the connected to the two RX2 ports. When I run one TX and one
RX I have no issues however when I run 2 RX my python application crashes.
I try run a simple 2 Rx configuration in GNU Radio with the 2 USRP sources
connected to 2 Frequency GUI.
However even running at a sampling rate of 64Kbps I am getting an overflow
error. I thought that maybe the jetson tk1 couldn't handle the bandwidth
but running it on my PC I get the same results. The output is as follows:

Executing: "/home/chad/Tx1_Rx2.py"

linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.001-42-g8c87a524

-- Operating over USB 3.
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 32.00 MHz...
-- Actually got clock rate 32.00 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Setting master clock rate selection to 'automatic'.
-- Asking for clock rate 32.768000 MHz...
-- Actually got clock rate 32.768000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Successfully tuned to 100.00 MHz
-- 
-- Asking for clock rate 32.768000 MHz... OK
-- Successfully tuned to 100.00 MHz
-- 
-- Asking for clock rate 32.768000 MHz... OK
-- Successfully tuned to 100.00 MHz
-- 
Using Volk machine: avx_64_mmx
-- Asking for clock rate 32.768000 MHz... OK
-- Asking for clock rate 32.768000 MHz... OK
-- Asking for clock rate 32.768000 MHz... OK
-- Asking for clock rate 32.768000 MHz... OK
-- Asking for clock rate 32.768000 MHz... OK
-- Asking for clock rate 32.768000 MHz... OK
DDDS

Surely I shouldn't get overflow errors at such a low sampling rate? When I
run the benchmark_rate it returns no errors. Any help would be appreciated.

Chad
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio