[Discuss-gnuradio] 3.7.7 and ControlPort

2015-03-29 Thread Murray Thomson
Hi,

Anyone knows if we´ll get controlport back in 3.7.7?

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


[Discuss-gnuradio] "make" error while making detector (howto_detect_ff) block.

2015-03-29 Thread Abhishek Shukla
hey,
I am working to make a detector block in gnuradio 3.7.1 using gr-how
"out-of-tree module". I am stuck with an error during make command

 abhishek@abhishek-Inspiron-N5110:~/gr-howto/build$ make
Scanning dependencies of target gnuradio-howto
[  5%] Building CXX object
lib/CMakeFiles/gnuradio-howto.dir/howto_detect_ff_impl.cc.o
/home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:37:5: error:
‘howto_detect_ff_sptr’ does not name a type
 howto_detect_ff_sptr
 ^
/home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc: In constructor
‘gr::howto::howto_detect_ff_impl::howto_detect_ff_impl(float, int, int)’:
/home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:59:17: error:
expression cannot be used as a function
d_pfa(pfa), d_L(L), d_samples(samples)
 ^
/home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:59:25: error:
expression cannot be used as a function
d_pfa(pfa), d_L(L), d_samples(samples)
 ^
/home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:59:45: error:
expression cannot be used as a function
d_pfa(pfa), d_L(L), d_samples(samples)
 ^
/home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:185:1: error: expected
‘{’ before ‘}’ token
 }   /* namespace howto */
 ^
make[2]: *** [lib/CMakeFiles/gnuradio-howto.dir/howto_detect_ff_impl.cc.o]
Error 1
make[1]: *** [lib/CMakeFiles/gnuradio-howto.dir/all] Error 2
make: *** [all] Error 2



Os is ubuntu 14.04. Even i have attached howto_detect_ff_impl.h,
howto_detect_ff_impl.cc and howto_swig.i file.
It seems that some mistake is there in howto_detect_ff.h file whose path is
gr-howto/include/howto. But i am not getting what exactly it is
Any solution to sort an error will be appreciated.
Thanks in advance,
Abhishek.

/* -*- c++ -*- */
/* 
 * Copyright 2015 <+YOU OR YOUR COMPANY+>.
 * 
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3, or (at your option)
 * any later version.
 * 
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this software; see the file COPYING.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street,
 * Boston, MA 02110-1301, USA.
 */

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include 
#include "howto_detect_ff_impl.h"
#include 
#include 
#include 
#include 
#include 

namespace gr {
  namespace howto {

howto_detect_ff_sptr
howto_make_detect_ff(float pfa, int L, int samples)
{
  return gnuradio::get_initial_sptr
(new howto_detect_ff_impl(pfa, L, samples));
}

static const int MIN_IN = 1; // mininum number of input streams
static const int MAX_IN = 1; // maximum number of input streams
static const int MIN_OUT = 1; // minimum number of output streams
static const int MAX_OUT = 1; // maximum number of output streams
float mem = 0; //Global Variable
 
 /*
 * The private constructor
 */


howto_detect_ff_impl::howto_detect_ff_impl (float pfa, int L, int samples)
  : gr::block("howto_detect_ff",
  gr::io_signature::make (MIN_IN, MAX_IN, sizeof (float)),
  gr::io_signature::make (MIN_OUT, MAX_OUT, sizeof(float)),
   d_pfa(pfa), d_L(L), d_samples(samples)
{
}

/*
 * Our virtual destructor.
 */
howto_detect_ff_impl::~howto_detect_ff_impl()
{
}

//functions---

/*This function gives the CDF value for the pfa in input*/

float TracyWidom (float p){

float pd, tw;
tw = 0.45;
pd = 1 - p;
if (pd >= 0.01 && pd <= 0.05){
tw = 18*(pd - (17/75)); printf("a - %f\n", tw);
}else if (pd >= 0.05 && pd <= 0.1){
tw = 8*(pd - (179/400)); printf("b - %f\n", tw);
}else if (pd >= 0.1 && pd <= 0.3){
tw = (87/20)*(pd - (643/870)); printf("c - %f\n", tw);
}else if (pd >= 0.3 && pd <= 0.5){
tw = (16/5)*(pd - (287/320)); printf("d - %f\n", tw);
}else if (pd >= 0.5 && pd <= 0.7){
tw = (17/5)*(pd - (297/340)); printf("e - %f\n", tw);
}else if (pd >= 0.7 && pd <= 0.9){
tw = (5.2)*(pd - (0.813)); printf("f - %f\n", tw);
}else if (pd >= 0.9 && pd <= 0.95){
tw = (53/5)*(pd - (909/1060)); printf("g - %f\n", tw);
}else if (pd >= 0.95 && pd <= 1){
tw = 26*(pd - (593/650)); printf("h - %f\n", tw);
}else{
printf ("wrong pfa value: it must be between 0 and 1\n");
printf ("the pfa value standard is 0.1\n");
tw = (53/5)*(0.9 - (909/1060));
}
return tw;
}
/*this function calculates the threshold for the test
the inputs are: ns = numbers of samples;
L = length of the correlation function;
pfa = probability of false alarm*/
float gamma (int ns, int L, float pfa){
  float A, B, C, ra

Re: [Discuss-gnuradio] "make" error while making detector (howto_detect_ff) block.

2015-03-29 Thread Marcus Müller
Hi Abhishek,

your _impl.cc is using old-style naming in out-of-tree-modules and their
components, whilst your detect_ff.h uses the consistent new way.
I think this could be the result of using gr_modtool to generate the
module skeleton, and then copy/pasting over lines from a pre-3.7 code
example. Is that possible?

Also, I already pointed you to the newer guided tutorials[1], which
don't build on the unmaintained gr-howto example. Please use these to
get used to GNU Radio.

Greetings,
Marcus

[1] https://gnuradio.org/redmine/projects/gnuradio/wiki/Guided_Tutorials

On 03/29/2015 03:16 PM, Abhishek Shukla wrote:
> hey,
> I am working to make a detector block in gnuradio 3.7.1 using gr-how
> "out-of-tree module". I am stuck with an error during make command
>
>  abhishek@abhishek-Inspiron-N5110:~/gr-howto/build$ make
> Scanning dependencies of target gnuradio-howto
> [  5%] Building CXX object
> lib/CMakeFiles/gnuradio-howto.dir/howto_detect_ff_impl.cc.o
> /home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:37:5: error:
> ‘howto_detect_ff_sptr’ does not name a type
>  howto_detect_ff_sptr
>  ^
> /home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc: In constructor
> ‘gr::howto::howto_detect_ff_impl::howto_detect_ff_impl(float, int, int)’:
> /home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:59:17: error:
> expression cannot be used as a function
> d_pfa(pfa), d_L(L), d_samples(samples)
>  ^
> /home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:59:25: error:
> expression cannot be used as a function
> d_pfa(pfa), d_L(L), d_samples(samples)
>  ^
> /home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:59:45: error:
> expression cannot be used as a function
> d_pfa(pfa), d_L(L), d_samples(samples)
>  ^
> /home/abhishek/gr-howto/lib/howto_detect_ff_impl.cc:185:1: error:
> expected ‘{’ before ‘}’ token
>  }   /* namespace howto */
>  ^
> make[2]: ***
> [lib/CMakeFiles/gnuradio-howto.dir/howto_detect_ff_impl.cc.o] Error 1
> make[1]: *** [lib/CMakeFiles/gnuradio-howto.dir/all] Error 2
> make: *** [all] Error 2
>
>
>
> Os is ubuntu 14.04. Even i have attached howto_detect_ff_impl.h,
> howto_detect_ff_impl.cc and howto_swig.i file.
> It seems that some mistake is there in howto_detect_ff.h file whose
> path is gr-howto/include/howto. But i am not getting what exactly it is
> Any solution to sort an error will be appreciated.
> Thanks in advance,
> Abhishek.
>
>
> ___
> 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] gr-ais fails?

2015-03-29 Thread Ralph A. Schmid, dk5ras
Hi,

 

with latest UHD and Gnuradio built from sources, gr-ais throws this error
when callin ais_rx:

 

ras@ubuntu:~$ ais_rx 

linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.002-143-g8c20712d

 

-- 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'.

-- Tune Request: 162.00 MHz

--   The RF LO does not support the requested frequency:

-- Requested LO Frequency: 162.00 MHz

-- RF LO Result: 162.00 MHz

--   Attempted to use the DSP to reach the requested frequency:

-- Desired DSP Frequency: -0.00 MHz

-- DSP Result: -0.00 MHz

--   Successfully tuned to 162.00 MHz

-- 

Tuned to 162.000MHz

Setting gain to 38

Gain is 38

Rate is 25

Using Volk machine: avx_64_mmx_orc

Traceback (most recent call last):

  File "/usr/local/bin/ais_rx", line 23, in 

main()

  File "/usr/local/bin/ais_rx", line 18, in main

tb = ais.radio.ais_radio(options)

  File "/usr/local/lib/python2.7/dist-packages/ais/radio.py", line 88, in
__init__

self._rx_paths = (ais_rx(161.975e6 - 162.0e6, options.rate, "A"),

  File "/usr/local/lib/python2.7/dist-packages/ais/radio.py", line 63, in
__init__

self.demod = ais.ais_demod(options) #ais_demod takes in complex baseband
and spits out 1-bit unpacked bitstream

  File "/usr/local/lib/python2.7/dist-packages/ais/ais_demod.py", line 37,
in __init__

self.preamble_detect = digital.msk_correlate_cc(self.preamble, 0.4,
self._samples_per_symbol)

AttributeError: 'module' object has no attribute 'msk_correlate_cc'

ras@ubuntu:~$

 

 

Any ideas what is wrong?



Ralph.

 

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


Re: [Discuss-gnuradio] 3.7.7 and ControlPort

2015-03-29 Thread Johnathan Corgan
It's unlikely to happen for 3.7.7, though it may show up on the master
branch of the source repository soon after, for an eventual 3.7.8 release.

On Sun, Mar 29, 2015 at 3:36 AM, Murray Thomson 
wrote:

> Hi,
>
> Anyone knows if we´ll get controlport back in 3.7.7?
>
> Thanks,
> Murray
>
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>


-- 
Johnathan Corgan
Corgan Labs - SDR Training and Development Services
http://corganlabs.com
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] 3.7.7 and ControlPort

2015-03-29 Thread Tom Rondeau
On Sun, Mar 29, 2015 at 10:58 AM, Johnathan Corgan  wrote:

> It's unlikely to happen for 3.7.7, though it may show up on the master
> branch of the source repository soon after, for an eventual 3.7.8 release.
>
> On Sun, Mar 29, 2015 at 3:36 AM, Murray Thomson <
> murraythomson...@gmail.com> wrote:
>
>> Hi,
>>
>> Anyone knows if we´ll get controlport back in 3.7.7?
>>
>> Thanks,
>> Murray
>>
>
You can find the current work here:

https://github.com/trondeau/gnuradio/tree/ctrlport_thrift

There have only been two of us working on this, and I might need to pull in
a few more updates from him. There are a couple of minor issues we're still
working with. I was hoping we'd be ready by 3.7.7, but I don't feel
confident enough in it to put it in the next release. When it gets into the
master branch, we'll start getting more people hammering on it. Right now,
I feel pretty good about things, but that just means that I'm not testing
enough.

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


Re: [Discuss-gnuradio] 3.7.7 and ControlPort

2015-03-29 Thread Murray Thomson
Thanks for the update, it's much appreciated.

Murray

On 29 March 2015 at 19:28, Tom Rondeau  wrote:

> On Sun, Mar 29, 2015 at 10:58 AM, Johnathan Corgan <
> johnat...@corganlabs.com> wrote:
>
>> It's unlikely to happen for 3.7.7, though it may show up on the master
>> branch of the source repository soon after, for an eventual 3.7.8 release.
>>
>> On Sun, Mar 29, 2015 at 3:36 AM, Murray Thomson <
>> murraythomson...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> Anyone knows if we´ll get controlport back in 3.7.7?
>>>
>>> Thanks,
>>> Murray
>>>
>>
> You can find the current work here:
>
> https://github.com/trondeau/gnuradio/tree/ctrlport_thrift
>
> There have only been two of us working on this, and I might need to pull
> in a few more updates from him. There are a couple of minor issues we're
> still working with. I was hoping we'd be ready by 3.7.7, but I don't feel
> confident enough in it to put it in the next release. When it gets into the
> master branch, we'll start getting more people hammering on it. Right now,
> I feel pretty good about things, but that just means that I'm not testing
> enough.
>
> Tom
>
>
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Weird behavior of the correlate_and_sync block

2015-03-29 Thread Andy Walls
On Sun, 2015-03-29 at 12:00 -0400, discuss-gnuradio-requ...@gnu.org
wrote:


> From: Richard Bell 
> To: Karl Koscher 
> Cc: "discuss-gnuradio@gnu.org" 
> Subject: Re: [Discuss-gnuradio] Weird behavior of the
>   correlate_and_sync  block
> Message-ID:
>   
> Content-Type: text/plain; charset="utf-8"
> 
> I was seeing results with amplitudes like that as well, but I didn't trust
> myself. I didn't push hard enough to get it working. I let it go. I'm still
> need to get it working, for the same reason as you, but I can't say when I
> will be able to put the time in. I'll let you know what happens when I do,
> if no one else comments on this.
> 
> Rich
> 
> On Sat, Mar 28, 2015 at 6:19 PM, Karl Koscher 
> wrote:
> 
> > I'm trying to use the correlate_and_sync block to get an initial timing
> > estimate from a packet radio, but it doesn't seem to work at all. I decided
> > to dig a bit deeper and try to figure out what it was doing. As it turns
> > out, the sequence it correlates against seems to be completely wrong.
> > Here's a simple test script to demonstrate the problem:
> >
> >  #!/usr/bin/python
> >
> > from gnuradio import digital
> > from gnuradio.filter import firdes
> > from pylab import *
> >
> > preamble = [1,1,-1,-1] * 10
> > taps = firdes.root_raised_cosine(32, 32, 1, 0.35, 11*4*32)
> > corr_and_sync = digital.correlate_and_sync_cc(preamble, taps, 8, 32)
> > plot(corr_and_sync.symbols())
> > show()
> >
> >
> > This produces a non-deterministic graph, but will often show wildly
> > oscillating samples, with an amplitude as high as 1e31. Clearly something
> > is amiss.
> >
> > When I extend the preamble to be 64 symbols long, everything seems to
> > work. However, when I change the filter it uses, it breaks again.
> >
> > Any ideas what's going on?
> >
> > - Karl

Karl and Rich,

The short story is I know why these things happen; check the list
archives if you care to learn the whys.

You really want the correlate and sync block changes waiting in this
pull request:

https://github.com/gnuradio/gnuradio/pull/376

You will be much happier with its performance, as I tried to address
everything I found amiss with the block.

The patches are based on top of Nick Foster's work of specifying the
correlation pattern input by using the GNURadio modulators to build the
target correlation waveform.  If you rebuild GNURadio with these
patches, you can look at the example test_corr_and_sync.grc file, that
is in that pull request, for guidance.

Hopefully, Tom will merge this in some form in the next release or two.
It is an ABI change, so it just can't be winged in as a fix.

HTH,
Andy


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


Re: [Discuss-gnuradio] Discuss-gnuradio Digest, Vol 148, Issue 32

2015-03-29 Thread Andy Walls
On Sun, 2015-03-29 at 12:00 -0400, discuss-gnuradio-requ...@gnu.org
wrote:

> From: "Ralph A. Schmid, dk5ras" 
> To: 
> Subject: [Discuss-gnuradio] gr-ais fails?
> Message-ID: <007801d06a38$76635ac0$632a1040$@schmid.xxx>
> Content-Type: text/plain; charset="us-ascii"
> 
> Hi,
> 
>  
> 
> with latest UHD and Gnuradio built from sources, gr-ais throws this
> error
> when callin ais_rx:
> 
>  
> 
> ras@ubuntu:~$ ais_rx 
> 
[snip]
> 
> self.preamble_detect = digital.msk_correlate_cc(self.preamble,
> 0.4,
> self._samples_per_symbol)
> 
> AttributeError: 'module' object has no attribute 'msk_correlate_cc'
> 
> ras@ubuntu:~$
> 
>  
> 
>  
> 
> Any ideas what is wrong?

You need a version of GNURadio (that Nick Foster has out on some
development branches) that has the block.

This branch is really out of date but still has the block in question:

https://github.com/bistromath/gnuradio/tree/msk_blocks/gr-digital/lib


This branch is more recent, but the block has been removed from that
branch in favor of using an improved, more general correlate and sync
block (see my list from earlier today):

https://github.com/bistromath/gnuradio/tree/msk_from_master/gr-digital/lib


Nick probably has better advice for you.

Regards,
Andy



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


Re: [Discuss-gnuradio] Weird behavior of the correlate_and_sync block

2015-03-29 Thread Tom Rondeau
On Sun, Mar 29, 2015 at 3:47 PM, Andy Walls 
wrote:

> On Sun, 2015-03-29 at 12:00 -0400, discuss-gnuradio-requ...@gnu.org
> wrote:
>
>
> > From: Richard Bell 
> > To: Karl Koscher 
> > Cc: "discuss-gnuradio@gnu.org" 
> > Subject: Re: [Discuss-gnuradio] Weird behavior of the
> >   correlate_and_sync  block
> > Message-ID:
> >s...@mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > I was seeing results with amplitudes like that as well, but I didn't
> trust
> > myself. I didn't push hard enough to get it working. I let it go. I'm
> still
> > need to get it working, for the same reason as you, but I can't say when
> I
> > will be able to put the time in. I'll let you know what happens when I
> do,
> > if no one else comments on this.
> >
> > Rich
> >
> > On Sat, Mar 28, 2015 at 6:19 PM, Karl Koscher <
> super...@cs.washington.edu>
> > wrote:
> >
> > > I'm trying to use the correlate_and_sync block to get an initial timing
> > > estimate from a packet radio, but it doesn't seem to work at all. I
> decided
> > > to dig a bit deeper and try to figure out what it was doing. As it
> turns
> > > out, the sequence it correlates against seems to be completely wrong.
> > > Here's a simple test script to demonstrate the problem:
> > >
> > >  #!/usr/bin/python
> > >
> > > from gnuradio import digital
> > > from gnuradio.filter import firdes
> > > from pylab import *
> > >
> > > preamble = [1,1,-1,-1] * 10
> > > taps = firdes.root_raised_cosine(32, 32, 1, 0.35, 11*4*32)
> > > corr_and_sync = digital.correlate_and_sync_cc(preamble, taps, 8, 32)
> > > plot(corr_and_sync.symbols())
> > > show()
> > >
> > >
> > > This produces a non-deterministic graph, but will often show wildly
> > > oscillating samples, with an amplitude as high as 1e31. Clearly
> something
> > > is amiss.
> > >
> > > When I extend the preamble to be 64 symbols long, everything seems to
> > > work. However, when I change the filter it uses, it breaks again.
> > >
> > > Any ideas what's going on?
> > >
> > > - Karl
>
> Karl and Rich,
>
> The short story is I know why these things happen; check the list
> archives if you care to learn the whys.
>
> You really want the correlate and sync block changes waiting in this
> pull request:
>
> https://github.com/gnuradio/gnuradio/pull/376
>
> You will be much happier with its performance, as I tried to address
> everything I found amiss with the block.
>
> The patches are based on top of Nick Foster's work of specifying the
> correlation pattern input by using the GNURadio modulators to build the
> target correlation waveform.  If you rebuild GNURadio with these
> patches, you can look at the example test_corr_and_sync.grc file, that
> is in that pull request, for guidance.
>
> Hopefully, Tom will merge this in some form in the next release or two.
> It is an ABI change, so it just can't be winged in as a fix.
>
> HTH,
> Andy


Yeah, I've looked into this and am trying to pull in as much of this work
into the 3.7 API so we can get it out there and help people with these
issues. It's just one of those things that I need more time to focus just
on that problem.

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


Re: [Discuss-gnuradio] QT GUI time sink (float) unnecessary memmove()?

2015-03-29 Thread Tom Rondeau
On Sat, Mar 28, 2015 at 5:32 PM, Andy Walls 
wrote:

> When testing, I used 5 float streams rumning at over 150 Msps each, with
> 15 microsecomd bursts of 50 MHz at about 10 microseconds apart. I used
> enough x points to see two bursts on the gui. Normal trigger. (Free or auto
> trigger moght be too taxing.)
>
> -Regards
> Andy
>

Andy, if you have a chance, can you check out this new branch:

https://github.com/trondeau/gnuradio/tree/qtgui/controlpanel

It adds the fixes that we talked about. I just want to verify that things
are still looking and behaving well for you.

The other trick of this branch is if you go into the QT GUI Time Sink
properties and turn "Control Panel" to Yes. I wouldn't mind a quick bit of
feedback there, either.

Tom




> On March 28, 2015 8:06:08 PM EDT, Tom Rondeau  wrote:
>>
>> On Sat, Mar 28, 2015 at 12:50 PM, Andy Walls > > wrote:
>>
>>> On Sat, 2015-03-28 at 14:45 -0400, Andy Walls wrote:
>>> > Hi Tom:
>>> >
>>> >
>>> > On Sat, 2015-03-28 at 11:12 -0700, Tom Rondeau wrote:
>>> > > On Sat, Mar 28, 2015 at 11:00 AM, Andy Walls
>>> > >  wrote:
>>> >
>>> > > Can this memmove() be safely skipped
>>> > >
>>> > >
>>> https://github.com/gnuradio/gnuradio/blob/master/gr-qtgui/lib/time_sink_f_impl.cc#L627
>>> > [snip]
>>> > > The volk_32f_convert_64f_u_avx() call is unavoidable as Qwt
>>> > > wants
>>> > > doubles for plotting and not floats. But it might also be
>>> able
>>> > > to be
>>> > > deferred to the very end when the decision to plot is known
>>> > > for sure.
>>> > > (But that's more surgery than I care to take on at the
>>> > > moment.)
>>> >
>>>
>>> >
>>> > >  But thinking about the volk convert function, that's both copying
>>> the
>>> > > data from the input buffer into the internal buffer as well as
>>> > > performing the conversion. We can't just hold data in the input since
>>> > > we don't want to back up the data until we're ready to plot both with
>>> > > timing and with a full enough buffer -- it's just sampling a section
>>> > > at a time and drops everything in between.
>>> >
>>> > Right.
>>> >
>>> > >  That part could be converted into a memcpy instead of the volk
>>> > > convert. Then, when we're ready to plot, we call the volk convert
>>> that
>>> > > also does the move from d_start to 0, so it combines those two
>>> > > elements.
>>> >
>>> > Yeah, that's the surgery part. :)  It would require adding a new set of
>>> > buffers to hold floats objects, and then convert them when a
>>> > determination to plot was made.
>>> >
>>> > This also affects the memmove() of the tail for the trigger delay.  It
>>> > would operate on the new set of float buffers (vs the buffers holding
>>> > doubles).
>>> >
>>> > > Thoughts on those proposals?
>>>
>>> Your proposal for implementing memcpy() and deferring volk_*() to do the
>>> conversion and "memmove" in one step is great!  :)
>>>
>>> I just implemented it, and the time_sink_f thread has gone from 41.5%
>>> CPU down to 29.1% CPU in my tests. :)  memcpy() now dominates the
>>> thread, but that's to be expected.
>>>
>>>
>>>
>>> With my initial hack:
>>>
>>> > CPU: Intel Sandy Bridge microarchitecture, speed 3.5e+06 MHz
>>> (estimated)
>>> > Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a
>>> unit mask of 0x00 (No unit mask) count 10
>>> > samples  %image name   symbol name
>>> > 7815839.0737  libvolk.so.0.0.0 volk_32f_convert_64f_u_avx
>>> > 2277711.3870  no-vmlinux   /no-vmlinux
>>> > 13972 6.9851  libgnuradio-qtgui-3.7.7git.so.0.0.0
>>> gr::qtgui::time_sink_f_impl::_test_trigger_slope(float const*) const
>>> > 7781  3.8900  libgnuradio-qtgui-3.7.7git.so.0.0.0
>>> gr::qtgui::time_sink_f_impl::_test_trigger_norm(int, std::vector>> const*, std::allocator >)
>>> > 7236  3.6175  libpthread-2.18.so   pthread_mutex_lock
>>> > 6163  3.0811  libgnuradio-runtime-3.7.7git.so.0.0.0
>>> boost::detail::sp_counted_base::release()
>>> > 5942  2.9706  libpthread-2.18.so   pthread_mutex_unlock
>>> > 4947  2.4732  libgnuradio-runtime-3.7.7git.so.0.0.0
>>> gr::block_executor::run_one_iteration()
>>> > 3826  1.9127  libgnuradio-runtime-3.7.7git.so.0.0.0
>>> gr::block_detail::input(unsigned int)
>>> > 3555  1.7773  libstdc++.so.6.0.19
>>> /usr/lib64/libstdc++.so.6.0.19
>>> > 3206  1.6028  libc-2.18.so __memmove_ssse3_back
>>> > [...]
>>>
>>> With my implementation of your suggestion:
>>>
>>> CPU: Intel Sandy Bridge microarchitecture, speed 3.5e+06 MHz (estimated)
>>> Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a
>>> unit mask of 0x00 (No unit mask) count 9
>>> samples  %image name   symbol name
>>> 2759535.6051  libc-2.18.so __memcpy_sse2_unaligned
>>> 1222515.7736  no-vmlinux   /no-vmlinux
>>> 4051  5.2269  libpthread-2.18.so   pthread_mutex_lock
>>> 3739 

Re: [Discuss-gnuradio] Achievable Sampling Rate without Under/Overflows

2015-03-29 Thread Chris Hallinan
On Sat, Mar 28, 2015 at 9:35 AM, Marcus Müller  wrote:
> Hi Richard,
>
> there's definitely people doing working real-time IEEE 802.11a/b/g
> decoding/encoding [1] at 10MHz and 20MHz bandwidths (==sampling rates).
>
> Greetings,
> Marcus
>
> [1] http://dl.acm.org/citation.cfm?doid=2643230.2643240
> [2] http://dl.acm.org/citation.cfm?doid=2491246.2491248 Table 1
>

Just an FYI...reference [1] is not available to ACM non-members
without purchase.

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


[Discuss-gnuradio] Swig and python import problem due to other out-of-tree modules used in my out-of-tree module

2015-03-29 Thread Jeon
I've asked this question before. But there are lots of ambiguity and
uncertainty. Thus, this is the clarification.

I am using Reed-Solomon En/decoder in my own OOT module sources. The
Reed-Solomon en/decoder are implemented in [gr-dvbt](
https://github.com/BogdanDIA/gr-dvbt).

Important codes are:

[include/reed_solomon.h](
https://github.com/BogdanDIA/gr-dvbt/blob/master/include/dvbt/reed_solomon.h
)
[include/reed_solomon_enc.h](
https://github.com/BogdanDIA/gr-dvbt/blob/master/include/dvbt/reed_solomon_enc.h
)
[lib/reed_solomon.cc](
https://github.com/BogdanDIA/gr-dvbt/blob/master/lib/reed_solomon.cc)
[lib/reed_solomon_end_impl.h](
https://github.com/BogdanDIA/gr-dvbt/blob/master/lib/reed_solomon_enc_impl.h
)
[lib/reed_solomon_end_impl.cc](
https://github.com/BogdanDIA/gr-dvbt/blob/master/lib/reed_solomon_enc_impl.cc
)

I've built and installed my module. But when I import my module in Python
for tests, error occurs:

>>> import myOOTmodule
Traceback (most recent call last):
  File "", line 1, in 
  File
"/usr/local/lib/python2.7/dist-packages/myOOTmodule/__init__.py", line 51,
in 
from myOOTmodule_swig import *
  File
"/usr/local/lib/python2.7/dist-packages/myOOTmodule/myOOTmodule_swig.py",
line 28, in 
_myOOTmodule_swig = swig_import_helper()
  File
"/usr/local/lib/python2.7/dist-packages/myOOTmodule/myOOTmodule_swig.py",
line 24, in swig_import_helper
_mod = imp.load_module('_myOOTmodule_swig', fp, pathname,
description)
ImportError: /usr/local/lib/libgnuradio-myOOTmodule.so: undefined
symbol: _ZN2gr4dvbt12reed_solomonC1E

You can also see the error above in [gist](
https://gist.github.com/gsongsong/e07883959f6a339b5d78)

The problem is that the above error occurs since I am using
gr:dvbt::reed_solomon, which is neither in GNU Radio source tree nor in my
module.

I don't know the exact reason for this. But in my guess...
It seems that myOOTmodule thinks gr::dvbt::reed_solomon is a part of
myOOTmodule itself. But there is no declaration and implementation and it
causes the error.
Or myOOTmodule has no idea where to import gr:dvbt:reed_solomon.

Another hypothesis is that, an OOT module cannot use other OOT modules (in
swig-python?). I'm not sure about it. Or, there is a way to do this, but I
just don't know about it.

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