Re: [Discuss-gnuradio] Questions regarding hierarchical polyphase channelizer

2016-11-17 Thread Ben Reynwar
So I reacquainted myself with the hierarchical implementation again,
and you're correct that it doesn't support oversampling.

Looking at the regular version it seems that the main thing required
to support oversampling would be that the logic determining which
input samples go into which filter, and then how the filter outputs
are fed into the FFT gets more complicated.  You'd have to go through
the regular version, work out how the oversampling effects the
connections between the input/filters/fft/output and then implement
new signal processing blocks to take care of this more complicated
plumbing.  The new plumbing blocks could then be included in the
hierarchical decoder.

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


Re: [Discuss-gnuradio] Questions regarding hierarchical polyphase channelizer

2016-10-28 Thread Ben Reynwar
The algorithm should be identical in the hierarchical case.  The only
difference is that because the hierarchical implementation splits the
logic over several signal processing blocks, GNURadio is able to
easily parallelize the implementation.  The n_filterbanks parameter is
just the number of filterbank blocks that are used for the filtering.
More filterbank blocks means more parallelizable, but also more
overhead.  I'd have to spend some time reacquainting myself with the
code to answer your last question properly, but it should be possible
to do everything with the hierarchical implementation that you can
with the single-block implementation.

On Mon, Oct 24, 2016 at 6:30 AM, Piotr Krysik <per...@o2.pl> wrote:
> Hi all,
>
> Recently I did simple benchmark of hierarchical polyphase channelizer
> block (written by Ben Reynwar according to git blame) vs regular
> polyphase channelizer block. It seems that hierarchical version is 2-3
> times faster.
>
> The documentation of the hierachical polyphase channelizer seems to be a
> bit too brief though (at least for me). This topic has been touched on
> this list before, but produced no more info about the block (in the
> "hierarchical polyphase channelizer vs polyphase channelizer blocks in
> GRC" thread).
>
> A bit more info is needed about the block's parameters and how it
> capabilities relate to normal polyphase channelizer block. Especially:
>
> -what n_filterbanks parameter is for?
>
> -is it possible to do oversampling of the signal at the output channels
> with this block the way it is possible with normal polyphase channelizer
> block?
>
>
> --
>
> Thanks and regards,
>
> Piotr Krysik
>
>
> ___
> 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] GRCon15: Hotels

2015-04-24 Thread Ben Reynwar
There are also two hostels nearby for about $35/night.

https://www.google.com/maps/search/hostel+near+Center+for+Strategic+and+International+Studies/@38.9065175,-77.0376912,15z

On Thu, Apr 23, 2015 at 9:41 AM, Michael Dickens michael.dick...@ettus.com
wrote:

 In case folks are wondering, there are quite a few hotels and other
 lodging places within easy walking distance of the GRCon15 venue: the
 Center for Strategic and International Studies [1]. For whatever reason,
 places of lodging near the CSIS are quite reasonably priced for
 Washington, DC right now: typically $110 to $180 / night before taxes 
 such [2]. There will be no conference-sponsored group-rate hotels, given
 these prices. So, knowing that GRCon15 is August 24 through 28, book
 your lodging sooner rather than later to lock in these prices! We will
 also include this information on the GRCon15 website, which we're
 actively working on. - MLD

 Suggested Hotels:

 a) Courtyard Washington Embassy Row
 1600 Rhode Island Avenue, NW, Washington, DC 20036
 Rates starting at $169/night
 

 http://www.marriott.com/hotels/travel/wasem-courtyard-washington-embassy-row/
 

 b) The Beacon Hotel
 1615 Rhode Island Avenue, NW, Washington, DC 20036
 Rates starting at $140/night.  Book 45 days in advance for the best
 rate.
 

 http://www.beaconhotelwdc.com/default.aspx?pg=homehid=587vl=516d3e7f-095e-4f30-9ea9-2d59b250405f
 

 [1] CSIS, 1616 Rhode Island Avenue NW, Washington, DC
  http://csis.org/about-us/conference-center-csis/ 

 [2] Google Maps: hotels near CSIS with prices for August 23 - 29
 

 https://www.google.com/maps/search/hotels/@38.906542,-77.0377236,17z/data=!4m9!2m8!3m3!1shotels!2s1616+Rhode+Island+Ave+NW,+Washington,+DC+20036!3s0x89b7b7c09fe71ec7:0x3b622617cab9f901!5m3!5m2!1s2015-08-23!2i6
 

 ___
 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] Error in Constellation Decoder block

2014-03-06 Thread Ben Reynwar
Try changing:
  digital.constellation_qpsk.base()
to:
  digital.constellation_qpsk().base()

Note the brackets after the constellation_qpsk constructor.

On Thu, Mar 6, 2014 at 9:05 AM, Azza Ben Mosbah
azza.ben.mos...@gmail.com wrote:
 Thank you.
 Actually, I am doing it in the GRC interface.

 When I use the .base(), it returns the following error:

 Param - Constellation Object(constellation):
 Value digital.constellation_qpsk.base() cannot be evaluated:
 'function' object has no attribute 'base'

 I don't know what is the matter. But, maybe, there is some issues with my
 GRC version (GNU Radio Companion 3.6.2).


 Regards,

 -
 Azza Ben Mosbah



 On Thu, Mar 6, 2014 at 10:54 AM, Tom Rondeau t...@trondeau.com wrote:

 On Wed, Mar 5, 2014 at 8:59 AM, Azza Ben Mosbah
 azza.ben.mos...@gmail.com wrote:
  Tom,
 
 
  Thank you for the help. But, even that didn't work.
 
  I tried a different approach. I configured the Constellation Object
  block
  with the symbol map and the constellation points. Then, I called it in
  the
  argument of the Constellation Decoder block. And it worked.
 
  I am still wondering what is the right way to define a
  'digital_constellation_sptr' type in the Constellation Decoder
  argument
  without passing by the Constellation Object block.
 
 
  Regards,
  Azza

 Yes, that Constellation Object in GRC returns the .base()
 automatically for you so that you can pass it to the Constellation
 Decode/Receiver blocks easily.

 You really should be able to use the .base() method of those
 constellation blocks this way. Are you in GRC doing this or doing your
 own Python? There could be some issues with GRC properly interpreting
 your casting using base() (which is likely related to why the
 Constellation Objects just return the.base() method for you).

 Tom



  On Tue, Mar 4, 2014 at 5:16 PM, Tom Rondeau t...@trondeau.com wrote:
 
  On Tue, Mar 4, 2014 at 4:17 PM, Azza Ben Mosbah
  azza.ben.mos...@gmail.com wrote:
   Hi All,
  
   I am manipulating GNU Radio Companion.
   While using the Constellation Decoder block, I have put
   digital.constellation_qpsk as a Constellation Object argument. But,
   I
   have
   found an error when I have executed the flow graph:
  
   Traceback (most recent call last):
 File /users/anb10/metrics/error_rate.py, line 342, in module
   tb = error_rate()
 File /users/anb10/metrics/error_rate.py, line 225, in __init__
   self.digital_constellation_decoder_cb_0 =
   digital.constellation_decoder_cb(digital.constellation_qpsk)
 File
  
   /usr/lib64/python2.6/site-packages/gnuradio/digital/digital_swig.py,
   line
   3096, in constellation_decoder_cb
   return _digital_swig.constellation_decoder_cb(*args, **kwargs)
   TypeError: in method 'constellation_decoder_cb', argument 1 of type
   'digital_constellation_sptr'
  
   I don't know what went wrong. I have even tried
   digital.psk.psk_constellation(m=4,mod_code='gray'),
   digital.constellation_8psk and
   digital.psk.psk_constellation(m=8,mod_code='gray') as a
   Constellation
   Object argument.
  
   So, what is the proper way to define the argument (Constellation
   Object)
   in
   the Constellation Decoder block?
  
   I hope you can give me some ideas. Any help is appreciated. Thank
   you.
  
   Regards,
   Azza
 
  Azza,
 
  Check out the documentation page:
 
 
  http://gnuradio.org/doc/doxygen/classgr_1_1digital_1_1constellation__decoder__cb.html
 
  It's not entirely clear (unless you know to look for it). You want to
  pass the constellation object using the base() parameter to get to the
  parent class.  Basically, you'd call it:
 
  digital.constellation_decoder_cb(digital.constellation_qpsk.base())
 
  Tom
 
 



 ___
 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] how to get the data of gr.probe_signal_vf

2013-09-03 Thread Ben Reynwar
You want the level attribute not value.

On Tue, Sep 3, 2013 at 9:22 AM, sunday iliya
sundayiliyagot...@yahoo.com wrote:
 Dear All,
 I'm a PhD student at De Montfort University UK and I'm new to gnuradio. I
 was using gr.probe_signal_vf  gr.probe_signal_vc to obtain data for USRP
 and fft magnitude but when i used the dot value() attribute to get the data,
 i received an error message saying the object of gr.probe_signal_vf has no
 value attribute. please kindly help. Thanks
 Sunday

 ___
 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] Public transport in Boston

2013-08-05 Thread Ben Reynwar
There are also a few backpacking hostels in downtown boston, some of
which probably have private rooms.  Not quite the same as a hotel, but
normally way cheaper.

On Mon, Aug 5, 2013 at 8:12 AM, Philip Balister phi...@balister.org wrote:
 I am looking at hotels in Boston GR Con. Needless to say, I will never
 complain about Si valley rates again.

 Does anyone have any comments about public transport in Boston?
 Especially about getting from cheaper hotels to the conference location.

 Thanks,

 Philip

 ___
 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] Meetup in London?

2013-06-21 Thread Ben Reynwar
I'll be in England that week, and should be able to make it.  No
preference on the day.

On Fri, Jun 21, 2013 at 7:10 AM, Tom Rondeau t...@trondeau.com wrote:
 Hi everyone,

 I'll be in London the week of July 8 for a few lectures at a summer
 school at King's College [1]. I'd like to have a meetup of GNU Radio
 and SDR people while I'm in town. I'm working with a venue now to set
 things up. We can either do Tuesday (July 9) or Thursday (July 11).

 Can I get a show of hands who might be able and willing to come out
 and join me for an evening? If there's a strong preference on the
 date, let me know that, too.

 Tom

 [1] http://www.iot.kcl.ac.uk/summerschool2013/

 ___
 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] Setting PythonPath

2013-06-18 Thread Ben Reynwar
Also, as of a couple of weeks ago, if you put
gnuradio/build/gnuradio-runtime/python in your PYTHONPATH then that
will work too.  You'll need to be using the current master branch for
this to work.

On Tue, Jun 18, 2013 at 9:03 AM, Marcus Leech mle...@ripnet.com wrote:
 If you had used the build-gnuradio script, it will, as one of the last
 things it does, suggest what PYTHONPATH to use on your system.  Ubuntu
 typically puts locally-installed Python packages in:

 /usr/local/lib/python2.X/dist-packages

 Also, keep in mind that the default terminal window configuration for Ubuntu
 does't set the run as login shell flag, so your .bashrc file is never run.
 You can change this behaviour in the preferences for the terminal window.


 on Jun 18, 2013, Aaron Henderson egine...@hotmail.com wrote:

 Hello All,

 I have worked on setting the PythonPath for 3 weeks now.

 I have followed the steps in the following posting:
 http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall

 Here is my latest attempt of editing my bash file:

 # GNU Radio installation
 export PATH=$PATH:/usr/local
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
 export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.6/site-packages

 and here is the error code that persists no matter what I do when I use my
 benchmark code:

 Traceback (most recent call last):
   File benchmark_rx2.6a.py, line 23, in module
 from gnuradio import gr, gru, modulation_utils
 ImportError: No module named gnuradio

 Does anyone have any tips or clues as to what I am doing wrong?

 Aaron henderson




 

 ___
 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 mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Setting PythonPath

2013-06-18 Thread Ben Reynwar
My suggestion was probably unnecessarily complicating things.

You need to find where the gnuradio has been installed to.  There will
be a directory containing a gnuradio folder which in turn will contain
an __init__.py file.
You could find it by brute force using something like:
find / -name gnuradio 2/dev/null | xargs -I{} find '{}' -maxdepth 1
-name __init__.py

If you're sure you've got the correct location then you're likely not
setting your PYTHONPATH like you think you are.  Trying doing it
manually in a shell.  Run python from that shell and see if you can
import gnuradio.

On Tue, Jun 18, 2013 at 1:26 PM, Aaron Henderson egine...@hotmail.com wrote:
 I have tried both of these options.  I found my GNURadio file inside the
 dist-packages file and made the change to the first posting. I also tried
 using the last suggestion from Ben.  Thank you both for the help; however, I
 get the same error message when I attempt to use the benchmark code.  I am
 using Ubuntu 11.10 and GNURadio 3.6.3.

 Would the GNURadio 3.6.3.1 being installed fix this problem or is it a
 totally different bug fix?

 Date: Tue, 18 Jun 2013 11:01:36 -0700
 Subject: Re: [Discuss-gnuradio] Setting PythonPath
 From: b...@reynwar.net
 To: mle...@ripnet.com
 CC: egine...@hotmail.com; discuss-gnuradio@gnu.org


 Also, as of a couple of weeks ago, if you put
 gnuradio/build/gnuradio-runtime/python in your PYTHONPATH then that
 will work too. You'll need to be using the current master branch for
 this to work.

 On Tue, Jun 18, 2013 at 9:03 AM, Marcus Leech mle...@ripnet.com wrote:
  If you had used the build-gnuradio script, it will, as one of the last
  things it does, suggest what PYTHONPATH to use on your system. Ubuntu
  typically puts locally-installed Python packages in:
 
  /usr/local/lib/python2.X/dist-packages
 
  Also, keep in mind that the default terminal window configuration for
  Ubuntu
  does't set the run as login shell flag, so your .bashrc file is never
  run.
  You can change this behaviour in the preferences for the terminal
  window.
 
 
  on Jun 18, 2013, Aaron Henderson egine...@hotmail.com wrote:
 
  Hello All,
 
  I have worked on setting the PythonPath for 3 weeks now.
 
  I have followed the steps in the following posting:
  http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall
 
  Here is my latest attempt of editing my bash file:
 
  # GNU Radio installation
  export PATH=$PATH:/usr/local
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.6/site-packages
 
  and here is the error code that persists no matter what I do when I use
  my
  benchmark code:
 
  Traceback (most recent call last):
  File benchmark_rx2.6a.py, line 23, in module
  from gnuradio import gr, gru, modulation_utils
  ImportError: No module named gnuradio
 
  Does anyone have any tips or clues as to what I am doing wrong?
 
  Aaron henderson
 
 
 
 
  
 
  ___
  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 mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Dev Call May 16 / Google Hangout

2013-05-16 Thread Ben Reynwar
Looks like we get an increase to a 15 person limit if the person who
starts the hangout is using a google apps account.

http://googleenterprise.blogspot.com/2012/11/larger-hangouts-in-google-for.html

On Thu, May 16, 2013 at 6:08 AM, Martin Braun (CEL)
martin.br...@kit.edu wrote:
 Quick reminder... if you want to join the dev call, make sure you have
 the plugin installed, your mic works (and doesn't echo), and you're in
 IRC by 1700 UTC to make sure you don't miss anything.

 MB

 On Mon, May 13, 2013 at 12:57:19PM +0200, Martin Braun (CEL) wrote:
 This Thursday, May 16, we will do our monthly developers call.

 As before, at's at 10 AM Pacific, 19:00 CEST, 1700 UTC.

 IMPORTANT: We will be using a Google+ hangout via our G+ community,
 which you can find at:
 https://plus.google.com/communities/105194615257651755927

 To participate, you must install the plugin beforehand. You can find it
 at:
 https://tools.google.com/dlpage/hangoutplugin

 Make sure you've checked your audio is working and the plugin works
 *before* the dev call.

 Also, we've identified some trouble with the hangout notification.
 Usually, to join the hangout, you go to the G+ GNU Radio page (see
 above), and you'll see a 'Join Hangout' button at the right.
 Last time, this didn't work for everyone. If you can't join, tell us in
 IRC and we'll send you an invite directly.
 In case this was unclear: We will continue to use IRC as part of the
 note-taking.

 All off this G+ stuff is still in testing phase, so bear with us.

 MB

 --
 Karlsruhe Institute of Technology (KIT)
 Communications Engineering Lab (CEL)

 Dipl.-Ing. Martin Braun
 Research Associate

 Kaiserstraße 12
 Building 05.01
 76131 Karlsruhe

 Phone: +49 721 608-43790
 Fax: +49 721 608-46071
 www.cel.kit.edu

 KIT -- University of the State of Baden-Württemberg and
 National Laboratory of the Helmholtz Association



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


 --
 Karlsruhe Institute of Technology (KIT)
 Communications Engineering Lab (CEL)

 Dipl.-Ing. Martin Braun
 Research Associate

 Kaiserstraße 12
 Building 05.01
 76131 Karlsruhe

 Phone: +49 721 608-43790
 Fax: +49 721 608-46071
 www.cel.kit.edu

 KIT -- University of the State of Baden-Württemberg and
 National Laboratory of the Helmholtz Association

 ___
 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] where is gnuradio-examples/python/pfb?

2013-05-14 Thread Ben Reynwar
Thanks for letting us know the documentation is out of date.

You should find filterbank examples in gr-filter/examples.

On Tue, May 14, 2013 at 12:28 PM, LD Zhang ldz10...@gmail.com wrote:
 Hi,

 I am reading the polyphase filterbank documentation. It points to a
 directory where examples are contained: gnuradio-examples/python/pfb. In my
 installation I have the following directories and files:

 -rw-rw-r--  1 ldz ldz  4041 Sep 18  2012 README-win32-mingw-short.txt
 -rw-rw-r--  1 ldz ldz 10237 Sep 18  2012 README.hacking
 -rw-rw-r--  1 ldz ldz  1695 Sep 18  2012 README.building-boost
 -rw-rw-r--  1 ldz ldz  4846 Sep 18  2012 README
 -rw-rw-r--  1 ldz ldz 35147 Sep 18  2012 COPYING
 -rw-rw-r--  1 ldz ldz  9527 Sep 18  2012 CMakeLists.txt
 -rw-rw-r--  1 ldz ldz  1155 Sep 18  2012 AUTHORS
 drwxrwxr-x  6 ldz ldz  4096 Sep 18  2012 cmake
 drwxrwxr-x  5 ldz ldz  4096 Sep 18  2012 docs
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gnuradio-core
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 dtools
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-atsc
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-comedi
 drwxrwxr-x  8 ldz ldz  4096 Sep 18  2012 gr-audio
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-digital
 drwxrwxr-x  8 ldz ldz  4096 Sep 18  2012 gr-fft
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-fcd
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-filter
 drwxrwxr-x  7 ldz ldz  4096 Sep 18  2012 gr-noaa
 drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 gr-howto-write-a-block
 drwxrwxr-x  7 ldz ldz  4096 Sep 18  2012 gr-pager
 drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 gr-qtgui
 drwxrwxr-x  5 ldz ldz  4096 Sep 18  2012 gr-trellis
 drwxrwxr-x  7 ldz ldz  4096 Sep 18  2012 gr-shd
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-utils
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-uhd
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-video-sdl
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-vocoder
 drwxrwxr-x  6 ldz ldz  4096 Sep 18  2012 gr-wavelet
 drwxrwxr-x  4 ldz ldz  4096 Sep 18  2012 gr-wxgui
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gruel
 drwxrwxr-x 11 ldz ldz  4096 Sep 18  2012 grc
 drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 volk
 drwxrwxr-x 27 ldz ldz  4096 Sep 18  2012 build

 I don't see a gnuradio-examples directory either above or below this level.
 Other searches in other directories have yielded nothing. Is this a on-line
 location or a directory in the installation?

 Thanks,

 LD

 ___
 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] where is gnuradio-examples/python/pfb?

2013-05-14 Thread Ben Reynwar
No, there's no way to produce a GRC file from a python file.

On Tue, May 14, 2013 at 2:20 PM, LD Zhang ldz10...@gmail.com wrote:
 Thanks I found it as in gr-filter/examples/python/pfb.py. I also found
 something in gnuradio-core/src/examples/pfb directory.

 Have to excuse my ignorance here since I haven't really worked that much
 with python approach. Have mostly stayed in GRC flow graph and used the
 generator to get the python code. Once I have the generated python code,
 then I can do simple edits to improve here and there. So I am not quite used
 to reading the code as is.

 My question is: Is there a way to re-display the pfb.py back onto the GRC
 graphical window? If not, what do I need to do in order to bring it back to
 GRC? Is what I am trying here making sense at all?

 Thanks a lot,

 LD

 -Original Message-
 From: Ben Reynwar [mailto:b...@reynwar.net]
 Sent: Tuesday, May 14, 2013 1:47 PM
 To: LD Zhang
 Cc: discuss-gnuradio Discussion Group
 Subject: Re: [Discuss-gnuradio] where is gnuradio-examples/python/pfb?

 Thanks for letting us know the documentation is out of date.

 You should find filterbank examples in gr-filter/examples.

 On Tue, May 14, 2013 at 12:28 PM, LD Zhang ldz10...@gmail.com wrote:
 Hi,

 I am reading the polyphase filterbank documentation. It points to a
 directory where examples are contained: gnuradio-examples/python/pfb.
 In my installation I have the following directories and files:

 -rw-rw-r--  1 ldz ldz  4041 Sep 18  2012 README-win32-mingw-short.txt
 -rw-rw-r--  1 ldz ldz 10237 Sep 18  2012 README.hacking
 -rw-rw-r--  1 ldz ldz  1695 Sep 18  2012 README.building-boost
 -rw-rw-r--  1 ldz ldz  4846 Sep 18  2012 README
 -rw-rw-r--  1 ldz ldz 35147 Sep 18  2012 COPYING
 -rw-rw-r--  1 ldz ldz  9527 Sep 18  2012 CMakeLists.txt
 -rw-rw-r--  1 ldz ldz  1155 Sep 18  2012 AUTHORS drwxrwxr-x  6 ldz ldz
 4096 Sep 18  2012 cmake drwxrwxr-x  5 ldz ldz  4096 Sep 18  2012 docs
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gnuradio-core drwxrwxr-x  3
 ldz ldz  4096 Sep 18  2012 dtools drwxrwxr-x  3 ldz ldz  4096 Sep 18
 2012 gr-atsc drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-comedi
 drwxrwxr-x  8 ldz ldz  4096 Sep 18  2012 gr-audio drwxrwxr-x  9 ldz
 ldz  4096 Sep 18  2012 gr-digital drwxrwxr-x  8 ldz ldz  4096 Sep 18
 2012 gr-fft drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-fcd drwxrwxr-x
 9 ldz ldz  4096 Sep 18  2012 gr-filter drwxrwxr-x  7 ldz ldz  4096 Sep
 18  2012 gr-noaa drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012
 gr-howto-write-a-block drwxrwxr-x  7 ldz ldz  4096 Sep 18  2012
 gr-pager drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 gr-qtgui drwxrwxr-x
 5 ldz ldz  4096 Sep 18  2012 gr-trellis drwxrwxr-x  7 ldz ldz  4096
 Sep 18  2012 gr-shd drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-utils
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-uhd drwxrwxr-x  3 ldz ldz
 4096 Sep 18  2012 gr-video-sdl drwxrwxr-x  9 ldz ldz  4096 Sep 18
 2012 gr-vocoder drwxrwxr-x  6 ldz ldz  4096 Sep 18  2012 gr-wavelet
 drwxrwxr-x  4 ldz ldz  4096 Sep 18  2012 gr-wxgui drwxrwxr-x  3 ldz
 ldz  4096 Sep 18  2012 gruel drwxrwxr-x 11 ldz ldz  4096 Sep 18  2012
 grc drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 volk drwxrwxr-x 27 ldz
 ldz  4096 Sep 18  2012 build

 I don't see a gnuradio-examples directory either above or below this
 level.
 Other searches in other directories have yielded nothing. Is this a
 on-line location or a directory in the installation?

 Thanks,

 LD

 ___
 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] where is gnuradio-examples/python/pfb?

2013-05-14 Thread Ben Reynwar
Ah, sorry, I misunderstood your question.  Yes, the GRC block
pfb_channelizer_ccf is equivalent to the block in
gr-filter/python/pfb.py, and, in fact, will use this block in the
generated python.


On Tue, May 14, 2013 at 2:35 PM, LD Zhang ldz10...@gmail.com wrote:
 Is it equivalent to use the pfb_channelizer_ccf block in the GRC though?
 Does the GRC approach suffer reduced capability vs. the python approach?

 LD

 -Original Message-
 From: Ben Reynwar [mailto:b...@reynwar.net]
 Sent: Tuesday, May 14, 2013 2:30 PM
 To: LD Zhang
 Cc: discuss-gnuradio Discussion Group
 Subject: Re: [Discuss-gnuradio] where is gnuradio-examples/python/pfb?

 No, there's no way to produce a GRC file from a python file.

 On Tue, May 14, 2013 at 2:20 PM, LD Zhang ldz10...@gmail.com wrote:
 Thanks I found it as in gr-filter/examples/python/pfb.py. I also found
 something in gnuradio-core/src/examples/pfb directory.

 Have to excuse my ignorance here since I haven't really worked that
 much with python approach. Have mostly stayed in GRC flow graph and
 used the generator to get the python code. Once I have the generated
 python code, then I can do simple edits to improve here and there. So
 I am not quite used to reading the code as is.

 My question is: Is there a way to re-display the pfb.py back onto the
 GRC graphical window? If not, what do I need to do in order to bring
 it back to GRC? Is what I am trying here making sense at all?

 Thanks a lot,

 LD

 -Original Message-
 From: Ben Reynwar [mailto:b...@reynwar.net]
 Sent: Tuesday, May 14, 2013 1:47 PM
 To: LD Zhang
 Cc: discuss-gnuradio Discussion Group
 Subject: Re: [Discuss-gnuradio] where is gnuradio-examples/python/pfb?

 Thanks for letting us know the documentation is out of date.

 You should find filterbank examples in gr-filter/examples.

 On Tue, May 14, 2013 at 12:28 PM, LD Zhang ldz10...@gmail.com wrote:
 Hi,

 I am reading the polyphase filterbank documentation. It points to a
 directory where examples are contained: gnuradio-examples/python/pfb.
 In my installation I have the following directories and files:

 -rw-rw-r--  1 ldz ldz  4041 Sep 18  2012 README-win32-mingw-short.txt
 -rw-rw-r--  1 ldz ldz 10237 Sep 18  2012 README.hacking
 -rw-rw-r--  1 ldz ldz  1695 Sep 18  2012 README.building-boost
 -rw-rw-r--  1 ldz ldz  4846 Sep 18  2012 README
 -rw-rw-r--  1 ldz ldz 35147 Sep 18  2012 COPYING
 -rw-rw-r--  1 ldz ldz  9527 Sep 18  2012 CMakeLists.txt
 -rw-rw-r--  1 ldz ldz  1155 Sep 18  2012 AUTHORS drwxrwxr-x  6 ldz
 ldz
 4096 Sep 18  2012 cmake drwxrwxr-x  5 ldz ldz  4096 Sep 18  2012 docs
 drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gnuradio-core drwxrwxr-x  3
 ldz ldz  4096 Sep 18  2012 dtools drwxrwxr-x  3 ldz ldz  4096 Sep 18
 2012 gr-atsc drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-comedi
 drwxrwxr-x  8 ldz ldz  4096 Sep 18  2012 gr-audio drwxrwxr-x  9 ldz
 ldz  4096 Sep 18  2012 gr-digital drwxrwxr-x  8 ldz ldz  4096 Sep 18
 2012 gr-fft drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-fcd
 drwxrwxr-x
 9 ldz ldz  4096 Sep 18  2012 gr-filter drwxrwxr-x  7 ldz ldz  4096
 Sep
 18  2012 gr-noaa drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012
 gr-howto-write-a-block drwxrwxr-x  7 ldz ldz  4096 Sep 18  2012
 gr-pager drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 gr-qtgui drwxrwxr-x
 5 ldz ldz  4096 Sep 18  2012 gr-trellis drwxrwxr-x  7 ldz ldz  4096
 Sep 18  2012 gr-shd drwxrwxr-x  3 ldz ldz  4096 Sep 18  2012 gr-utils
 drwxrwxr-x  9 ldz ldz  4096 Sep 18  2012 gr-uhd drwxrwxr-x  3 ldz ldz
 4096 Sep 18  2012 gr-video-sdl drwxrwxr-x  9 ldz ldz  4096 Sep 18
 2012 gr-vocoder drwxrwxr-x  6 ldz ldz  4096 Sep 18  2012 gr-wavelet
 drwxrwxr-x  4 ldz ldz  4096 Sep 18  2012 gr-wxgui drwxrwxr-x  3 ldz
 ldz  4096 Sep 18  2012 gruel drwxrwxr-x 11 ldz ldz  4096 Sep 18  2012
 grc drwxrwxr-x 10 ldz ldz  4096 Sep 18  2012 volk drwxrwxr-x 27 ldz
 ldz  4096 Sep 18  2012 build

 I don't see a gnuradio-examples directory either above or below this
 level.
 Other searches in other directories have yielded nothing. Is this a
 on-line location or a directory in the installation?

 Thanks,

 LD

 ___
 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] gnuradio bug tracker update

2013-04-16 Thread Ben Reynwar
Hi all,

This is an update to let everyone know what exciting bugs are
available to be fixed in the bug tracker
(http://gnuradio.org/redmine/issues).

Missing -mfpu=neon in CFLAGS/CXXFLAGS when building for ARM and NEON
is supported but not gcc's default
(Although if I understand Philip's comment this is a problem with CMake?)
http://gnuradio.org/redmine/issues/526

The audio source block is not implemented for gr-audio windows.
It is not obvious if we even need this or if portaudio is sufficient.
If anyone has used gnuradio on windows with audio it would be lovely
if they could look into/make a decision on this.
http://gnuradio.org/redmine/issues/521

throwing an exception inside gr_hier_block2 ctor leads to a crash at exit
http://gnuradio.org/redmine/issues/528

Bug 532: runtime_error without LANG=C
http://gnuradio.org/redmine/issues/532

Implement variable number of inputs and outputs for hierarchical blocks.
This would be a really useful feature, but will be non-trivial to add.
http://gnuradio.org/redmine/issues/390

Finally there are a few GRC issues which are assigned to me and Josh,
but I'm pretty confident neither of us would mind, if someone else
assigned themselves instead.
http://gnuradio.org/redmine/issues/519
http://gnuradio.org/redmine/issues/489
http://gnuradio.org/redmine/issues/487

Thanks in advance,
Ben

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


[Discuss-gnuradio] create uniform PMT vector from python

2013-04-11 Thread Ben Reynwar
Hi all,

Is there a way to create a uniform PMT vector from python?

I can use, for example, 'pmt.make_c32vector(length, value)' to create
a vector where each element is 'value' but I don't see a way to modify
these values from python.

If there isn't, are there any objections to overloading these
functions to take std::vectors as input so that we can pass in lists
from python?

Cheers,
Ben

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


Re: [Discuss-gnuradio] create uniform PMT vector from python

2013-04-11 Thread Ben Reynwar
Great, thanks.  I'm only using it for QA code so setting the elements
one by one like you suggest will work fine.

On Thu, Apr 11, 2013 at 9:52 AM, Martin Luelf m...@mluelf.de wrote:
 Hi all,

 Is there a way to create a uniform PMT vector from python?

 I can use, for example, 'pmt.make_c32vector(length, value)' to create
 a vector where each element is 'value' but I don't see a way to modify
 these values from python.

 If there isn't, are there any objections to overloading these
 functions to take std::vectors as input so that we can pass in lists
 from python?

 Cheers,
 Ben

 Hi,

 I remember, I wasn't sure about the supposed way of doing that either for
 a u8vector. Finally I used the set method to set the individual elements
 like this:
 --
 # elements as list
 values = (0xA1, ...)

 # create pmt vector with one default value for all elements
 pmtvector = pmt.pmt_make_u8vector(len(values), 0x00)

 # set the individual elements
 for i in xrange(len(values)) :
 pmt.pmt_u8vector_set(pmtvector, i, values[i])
 --

 Not nice, but it works for me. Although I agree that passing a list at
 construction would be very handy.

 Yours
 Martin


 ___
 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] create uniform PMT vector from python

2013-04-11 Thread Ben Reynwar
Yes, that's perfect. Thanks.

On Thu, Apr 11, 2013 at 10:58 AM, Martin Braun (CEL)
martin.br...@kit.edu wrote:
 Hi Ben,

 doesn't pmt.to_pmt(LIST) do what you want?

 Cheers,
 MB

 On Thu, Apr 11, 2013 at 10:03:21AM -0700, Ben Reynwar wrote:
 Great, thanks.  I'm only using it for QA code so setting the elements
 one by one like you suggest will work fine.

 On Thu, Apr 11, 2013 at 9:52 AM, Martin Luelf m...@mluelf.de wrote:
  Hi all,
 
  Is there a way to create a uniform PMT vector from python?
 
  I can use, for example, 'pmt.make_c32vector(length, value)' to create
  a vector where each element is 'value' but I don't see a way to modify
  these values from python.
 
  If there isn't, are there any objections to overloading these
  functions to take std::vectors as input so that we can pass in lists
  from python?
 
  Cheers,
  Ben
 
  Hi,
 
  I remember, I wasn't sure about the supposed way of doing that either for
  a u8vector. Finally I used the set method to set the individual elements
  like this:
  --
  # elements as list
  values = (0xA1, ...)
 
  # create pmt vector with one default value for all elements
  pmtvector = pmt.pmt_make_u8vector(len(values), 0x00)
 
  # set the individual elements
  for i in xrange(len(values)) :
  pmt.pmt_u8vector_set(pmtvector, i, values[i])
  --
 
  Not nice, but it works for me. Although I agree that passing a list at
  construction would be very handy.
 
  Yours
  Martin
 
 
  ___
  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

 --
 Karlsruhe Institute of Technology (KIT)
 Communications Engineering Lab (CEL)

 Dipl.-Ing. Martin Braun
 Research Associate

 Kaiserstraße 12
 Building 05.01
 76131 Karlsruhe

 Phone: +49 721 608-43790
 Fax: +49 721 608-46071
 www.cel.kit.edu

 KIT -- University of the State of Baden-Württemberg and
 National Laboratory of the Helmholtz Association

 ___
 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] create uniform PMT vector from python

2013-04-11 Thread Ben Reynwar
Just for the sake of anybody else who finds this mail thread when searching.

Check out the file 'pmt_to_python.py' which resides at
'gnuradio-runtime/python/pmt/pmt_to_python.py' (the location pre-3.7
is different).

The two useful functions are:
pmt.to_pmt - Converts a python object to a PMT object.
pmt.python_to_pmt.python_to_pmt - Converts a PMT object to a python object.

It can handle booleans, strings, integers, longs, floats, complex
numbers, dictionaries, lists and tuples.

I added a mention of these functions to the wiki.

On Thu, Apr 11, 2013 at 11:27 AM, Ben Reynwar b...@reynwar.net wrote:
 Yes, that's perfect. Thanks.

 On Thu, Apr 11, 2013 at 10:58 AM, Martin Braun (CEL)
 martin.br...@kit.edu wrote:
 Hi Ben,

 doesn't pmt.to_pmt(LIST) do what you want?

 Cheers,
 MB

 On Thu, Apr 11, 2013 at 10:03:21AM -0700, Ben Reynwar wrote:
 Great, thanks.  I'm only using it for QA code so setting the elements
 one by one like you suggest will work fine.

 On Thu, Apr 11, 2013 at 9:52 AM, Martin Luelf m...@mluelf.de wrote:
  Hi all,
 
  Is there a way to create a uniform PMT vector from python?
 
  I can use, for example, 'pmt.make_c32vector(length, value)' to create
  a vector where each element is 'value' but I don't see a way to modify
  these values from python.
 
  If there isn't, are there any objections to overloading these
  functions to take std::vectors as input so that we can pass in lists
  from python?
 
  Cheers,
  Ben
 
  Hi,
 
  I remember, I wasn't sure about the supposed way of doing that either for
  a u8vector. Finally I used the set method to set the individual elements
  like this:
  --
  # elements as list
  values = (0xA1, ...)
 
  # create pmt vector with one default value for all elements
  pmtvector = pmt.pmt_make_u8vector(len(values), 0x00)
 
  # set the individual elements
  for i in xrange(len(values)) :
  pmt.pmt_u8vector_set(pmtvector, i, values[i])
  --
 
  Not nice, but it works for me. Although I agree that passing a list at
  construction would be very handy.
 
  Yours
  Martin
 
 
  ___
  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

 --
 Karlsruhe Institute of Technology (KIT)
 Communications Engineering Lab (CEL)

 Dipl.-Ing. Martin Braun
 Research Associate

 Kaiserstraße 12
 Building 05.01
 76131 Karlsruhe

 Phone: +49 721 608-43790
 Fax: +49 721 608-46071
 www.cel.kit.edu

 KIT -- University of the State of Baden-Württemberg and
 National Laboratory of the Helmholtz Association

 ___
 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] Issues estimating the BER of a 16-QAM modulation (and of M-QAM of course)

2013-04-09 Thread Ben Reynwar
Hi Arturo,

The constellation object scales the provided constellation points so
that the average magnitude of the points is 1.0.   This is causing the
difference between the two sets of points that you noticed.

To avoid the abstract class error, use
digital.digital_constellation(rotated_const.base(), [], 1, 1), where
the base method is casting the object to the base constellation
class.

Ben

On Tue, Apr 9, 2013 at 3:19 PM, Arturo Rinaldi arty.n...@gmail.com wrote:
 Il 06/04/13 15:33, Tom Rondeau ha scritto:

 On Fri, Apr 5, 2013 at 1:41 PM, Arturo Rinaldi arty.n...@gmail.com wrote:

 Hi folks, i have bumped into an error while updating my thesis research to
 the latest version of gnuradio.
 It is a simple tool to estimate the BER of the digital modulation. I had to
 change some lines of code due to the
 fact that now the block constellation_decoder_cb accepts as input a
 constellation object and not a complex
 point tuple (i.e. [1+1j,1-1j,-1-1j,-1+1j] and so on) so i modified my code
 in the following way (only the
 deconding part). By asking to the gnuradio mailing list i got the following
 advice :

 rot = (3.0/2.0)*sqrt((8.0/5.0)*bit_energy)

 rotated_const = map(lambda pt: pt * rot,
 qam.make_nondifferential_constellation(16,gray_coded=True)
 constell = digital.constellation_calcdist(rotated_const,[],1,1).base()   #
 (1) to get the base points and constellation object
 self.slicer = digital.constellation_decoder_cb(constell)

 # if self._gray_code:
 # self.symbol_mapper = gr.map_bb(qam.gray_to_binary[arity])
 # else:
 # self.symbol_mapper = gr.map_bb(qam.ungray_to_binary[arity])


 # unpack the k bit vector into a stream of bits

 self.unpack = gr.unpack_k_bits_bb(self.bits_per_symbol())  # (2)

 self.connect(self,self.slicer, self.unpack,self)


 which works fine for M-PSK modulation but since QAM is a mix of both phase
 and amplitude modulation i can't
 recover the exact position of the constellation points. I think the error
 stays in a wrong calculation of the
 euclidean distance. Any suggestions ? i really need help or otherwise the
 functionality of my tool will be
 dramatically reduced ! ! !

 Thanks in advance,

   Arturo

 P.S. : The modulator block is shaped in the old way, by just only passing
 as parameter the constellation
 points to the block

 self.chunks2symbols = gr.chunks_to_symbols_bc(rotated_const)

 I also use (2) because of my way to compare original bit by decoded bit and
 then calculating the BER. However
 the main issue is the wrong decoding of the constellation points by (1)

 Arturo,

 Take a look at the constellation_decoder. This uses the constellation
 objects and handles the symbol slicing for you. The slicers are
 defined in constellation.{cc,h}, and if you come up with a
 smarter/cheaper way of slicing, you can add it here. I think this
 might help simplify things for you.

 Tom


 I still can't figure out which is the correct slicer to use. I can't use
 digital.constellation_calcdist because it works only constellations with  a
 small number of points (and for M-PSK is fine). I usually build the qam-16
 constellation with the old source code of gnuradio (the 3.3.0 one, I really
 prefer it..) and when using digital.constellation_rect().points() as
 slicer i get different different points decoded instead of the ones i
 originally sent, this is the code :

 arity = 16

 rot = (3.0/2.0)*sqrt((8.0/5.0)*1.0)   # base point distance. See Simon
 Haykin - Communication Sytems

 side = int(sqrt(arity))
 width = 2.0/(side-1)
 #
 #
 #
 rotated_const = map(lambda pt: pt * rot, qam.constellation[arity])   # from
 3.3.0 qam.py source
 #
 decoded_points =
 digital.constellation_rect(rotated_const,[],4,side,side,width,width).points()
 #
 print ORIGINAL POINTS\n
 print rotated_const
 print  
 print DECODED POINTS\n
 print decoded_points

 returning :

 ORIGINAL POINTS

 [(-0.6324555320336758-0.6324555320336758j),
 (-0.6324555320336758-1.8973665961010275j),
 (-1.8973665961010275-0.6324555320336758j),
 (-1.8973665961010275-1.8973665961010275j),
 (-0.6324555320336758+0.6324555320336758j),
 (-0.6324555320336758+1.8973665961010275j),
 (-1.8973665961010275+0.6324555320336758j),
 (-1.8973665961010275+1.8973665961010275j),
 (0.6324555320336758-0.6324555320336758j),
 (0.6324555320336758-1.8973665961010275j),
 (1.8973665961010275-0.6324555320336758j),
 (1.8973665961010275-1.8973665961010275j),
 (0.6324555320336758+0.6324555320336758j),
 (0.6324555320336758+1.8973665961010275j),
 (1.8973665961010275+0.6324555320336758j),
 (1.8973665961010275+1.8973665961010275j)]

 DECODED POINTS

 ((-0.33385056257247925-0.33385056257247925j),
 (-0.33385056257247925-1.0015517473220825j),
 (-1.0015517473220825-0.33385056257247925j),
 (-1.0015517473220825-1.0015517473220825j),
 (-0.33385056257247925+0.33385056257247925j),
 (-0.33385056257247925+1.0015517473220825j),
 (-1.0015517473220825+0.33385056257247925j),
 (-1.0015517473220825+1.0015517473220825j),
 

Re: [Discuss-gnuradio] Issues estimating the BER of a 16-QAM modulation (and of M-QAM of course)

2013-04-09 Thread Ben Reynwar
No, there's no way you can pass in the list, rather than a constellation object.

Is there a reason that you can't make sure that the input to the
constellation_decoder is scaled such that the average amplitude is
1.0?  I believe that that would solve the problems you are having and
you could use digital.constellation_calcdist as you were previously.

On Tue, Apr 9, 2013 at 4:33 PM, Arturo Rinaldi arty.n...@gmail.com wrote:
 Il 10/04/13 00:45, Ben Reynwar ha scritto:

 Hi Arturo,

 The constellation object scales the provided constellation points so
 that the average magnitude of the points is 1.0.   This is causing the
 difference between the two sets of points that you noticed.

 To avoid the abstract class error, use
 digital.digital_constellation(rotated_const.base(), [], 1, 1), where
 the base method is casting the object to the base constellation
 class.

 Ben

 On Tue, Apr 9, 2013 at 3:19 PM, Arturo Rinaldi arty.n...@gmail.com wrote:

 Il 06/04/13 15:33, Tom Rondeau ha scritto:

 On Fri, Apr 5, 2013 at 1:41 PM, Arturo Rinaldi arty.n...@gmail.com wrote:

 Hi folks, i have bumped into an error while updating my thesis research to
 the latest version of gnuradio.
 It is a simple tool to estimate the BER of the digital modulation. I had to
 change some lines of code due to the
 fact that now the block constellation_decoder_cb accepts as input a
 constellation object and not a complex
 point tuple (i.e. [1+1j,1-1j,-1-1j,-1+1j] and so on) so i modified my code
 in the following way (only the
 deconding part). By asking to the gnuradio mailing list i got the following
 advice :

 rot = (3.0/2.0)*sqrt((8.0/5.0)*bit_energy)

 rotated_const = map(lambda pt: pt * rot,
 qam.make_nondifferential_constellation(16,gray_coded=True)
 constell = digital.constellation_calcdist(rotated_const,[],1,1).base()   #
 (1) to get the base points and constellation object
 self.slicer = digital.constellation_decoder_cb(constell)

 # if self._gray_code:
 # self.symbol_mapper = gr.map_bb(qam.gray_to_binary[arity])
 # else:
 # self.symbol_mapper = gr.map_bb(qam.ungray_to_binary[arity])


 # unpack the k bit vector into a stream of bits

 self.unpack = gr.unpack_k_bits_bb(self.bits_per_symbol())  # (2)

 self.connect(self,self.slicer, self.unpack,self)


 which works fine for M-PSK modulation but since QAM is a mix of both phase
 and amplitude modulation i can't
 recover the exact position of the constellation points. I think the error
 stays in a wrong calculation of the
 euclidean distance. Any suggestions ? i really need help or otherwise the
 functionality of my tool will be
 dramatically reduced ! ! !

 Thanks in advance,

   Arturo

 P.S. : The modulator block is shaped in the old way, by just only passing
 as parameter the constellation
 points to the block

 self.chunks2symbols = gr.chunks_to_symbols_bc(rotated_const)

 I also use (2) because of my way to compare original bit by decoded bit and
 then calculating the BER. However
 the main issue is the wrong decoding of the constellation points by (1)

 Arturo,

 Take a look at the constellation_decoder. This uses the constellation
 objects and handles the symbol slicing for you. The slicers are
 defined in constellation.{cc,h}, and if you come up with a
 smarter/cheaper way of slicing, you can add it here. I think this
 might help simplify things for you.

 Tom


 I still can't figure out which is the correct slicer to use. I can't use
 digital.constellation_calcdist because it works only constellations with  a
 small number of points (and for M-PSK is fine). I usually build the qam-16
 constellation with the old source code of gnuradio (the 3.3.0 one, I really
 prefer it..) and when using digital.constellation_rect().points() as
 slicer i get different different points decoded instead of the ones i
 originally sent, this is the code :

 arity = 16

 rot = (3.0/2.0)*sqrt((8.0/5.0)*1.0)   # base point distance. See Simon
 Haykin - Communication Sytems

 side = int(sqrt(arity))
 width = 2.0/(side-1)
 #
 #
 #
 rotated_const = map(lambda pt: pt * rot, qam.constellation[arity])   # from
 3.3.0 qam.py source
 #
 decoded_points =
 digital.constellation_rect(rotated_const,[],4,side,side,width,width).points()
 #
 print ORIGINAL POINTS\n
 print rotated_const
 print  
 print DECODED POINTS\n
 print decoded_points

 returning :

 ORIGINAL POINTS

 [(-0.6324555320336758-0.6324555320336758j),
 (-0.6324555320336758-1.8973665961010275j),
 (-1.8973665961010275-0.6324555320336758j),
 (-1.8973665961010275-1.8973665961010275j),
 (-0.6324555320336758+0.6324555320336758j),
 (-0.6324555320336758+1.8973665961010275j),
 (-1.8973665961010275+0.6324555320336758j),
 (-1.8973665961010275+1.8973665961010275j),
 (0.6324555320336758-0.6324555320336758j),
 (0.6324555320336758-1.8973665961010275j),
 (1.8973665961010275-0.6324555320336758j),
 (1.8973665961010275-1.8973665961010275j),
 (0.6324555320336758+0.6324555320336758j),
 (0.6324555320336758

Re: [Discuss-gnuradio] python manual little errors

2013-04-03 Thread Ben Reynwar
Yes, you're correct.  Thanks for pointing this error in the documentation out.

On Wed, Apr 3, 2013 at 12:35 PM, vegihat vegihat vegihatd...@gmail.com wrote:
 Hello folks,

 i am doing my first steps on gnuradio, and as my first program i added 2
 gr.sig_source_c  using  gr.add_ff.

 gr.sig_source_c is a signal generator with gr_complex output, so i used
 gr.add_ff because as you can see in [1] has been written that Add streams
 of complex values

 but with this setup i take an error ValueError: itemsize mismatch:
 sig_source_c(1):0 using 8, add_ff(3):0 using 4

 on the other hand if i change gr.add_ff with gr.add_cc or gr.sig_source_c
 with gr.sig_source_f there isn't any error.

 In my opinion i think that python manual at this point is not correct (from
 the view of a new user). If i miss something or i am wrong please let me
 know. If i am right , i think that gnuradio.gr.add_ff Add streams of
 complex values. should be changed to gnuradio.gr.add_ff Add streams of
 float values and gnuradio.gr.add_cc output = sum (input_0, input_1, ...)
 should be changed to gnuradio.gr.add_cc Add streams of complex values

 --vg

 [1] http://gnuradio.org/doc/sphinx/gr/math_blk.html#gnuradio.gr.add_ff

 ___
 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] How to get constellation after demodulation

2013-03-22 Thread Ben Reynwar
I'm assuming you want to visualize the symbols after synchronization
but before decision making.  At the moment this is a pain, because the
fine phase adjustment and the decision making are performed in the
same block (constellation_receiver).  What you want is the fourth
optional output of the constellation_receiver block.  Unfortunately
this output is not available in any of the hierarchical demodulation
blocks (because hierarchical blocks can't have optional outputs yet).
This means that if you want to do it in grc you won't be able to use
one of the straightforward demodulation blocks, rather you'll have to
put all the synchronization blocks in there independently.

When I want to do this, I do it in python, and hackishly connect
directly to the 'constellation_receiver' block that is inside the
demodulation block.

i.e. tb.connect( (my_demodulation_block.receiver, 4), my_visualization_block)

Ben

On Fri, Mar 22, 2013 at 2:53 AM, Azza Ben Mosbah
azza.ben.mos...@gmail.com wrote:
 Hello,

 I receive data from USRP and demodulate them, then I can have the
 constellation. But, I can't find a way to join blocks, so they can show a
 result. I need some help concerning the scheme I have to implement to get my
 constellation.
 Thanks in advance.

 Best Regards,
 Azza.

 ___
 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] How to get constellation after demodulation

2013-03-22 Thread Ben Reynwar
Take a look at gr-digital/python/generic_mod_demod.py for an example
of the kind of signal-processing blocks that you'll need.

On Fri, Mar 22, 2013 at 10:30 AM, Azza Ben Mosbah
azza.ben.mos...@gmail.com wrote:
 In fact, this is the receiver I make. But, I can't find the right
 constellation. That's why I think I have a problem in blocks I have already
 implemented.



 On Fri, Mar 22, 2013 at 5:37 PM, Ben Reynwar b...@reynwar.net wrote:

 I'm assuming you want to visualize the symbols after synchronization
 but before decision making.  At the moment this is a pain, because the
 fine phase adjustment and the decision making are performed in the
 same block (constellation_receiver).  What you want is the fourth
 optional output of the constellation_receiver block.  Unfortunately
 this output is not available in any of the hierarchical demodulation
 blocks (because hierarchical blocks can't have optional outputs yet).
 This means that if you want to do it in grc you won't be able to use
 one of the straightforward demodulation blocks, rather you'll have to
 put all the synchronization blocks in there independently.

 When I want to do this, I do it in python, and hackishly connect
 directly to the 'constellation_receiver' block that is inside the
 demodulation block.

 i.e. tb.connect( (my_demodulation_block.receiver, 4),
 my_visualization_block)

 Ben

 On Fri, Mar 22, 2013 at 2:53 AM, Azza Ben Mosbah
 azza.ben.mos...@gmail.com wrote:
  Hello,
 
  I receive data from USRP and demodulate them, then I can have the
  constellation. But, I can't find a way to join blocks, so they can show
  a
  result. I need some help concerning the scheme I have to implement to
  get my
  constellation.
  Thanks in advance.
 
  Best Regards,
  Azza.
 
  ___
  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] Python manual without UHD

2013-03-17 Thread Ben Reynwar
It looks like I missed gr-uhd when I was making the python docs (see
gnuradio/docs/sphinx/source).  Sorry.  I'll let you know when they're
added in.

However, the doxygen docs look like they cover the python interface well.
http://gnuradio.org/doc/doxygen/page_uhd.html

On Sun, Mar 17, 2013 at 6:40 AM, Gong Zhang zhang...@gmail.com wrote:
 Hi,
 UHD is swigged but I can't find uhd interface in python manual.Could
 anyone give me a URL?Thanks.

 ___
 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] Trellis in generic_mod_demod

2013-03-01 Thread Ben Reynwar
There is no logic at the moment to make the trellis encoder and
decoder sync their blocks with the packets.  I would have thought that
if you don't specify the starting and ending states, and the blocks
are reasonably long, then it would still work adequately but I could
be wrong.

If you want to sync the blocks with the packets then you could add a
stream tag to the start of each packet, and detect that with the
encoder and decoder.

Ben

On Thu, Feb 28, 2013 at 9:47 PM, Manu T S manu.t.s...@gmail.com wrote:
 I want to use convolution code to transmit packet over USRP. So I ended up
 modifying the generic_mod_demod in digital.

 The original flow graph was

 Tx
 packed_to_unpacked(bits_per_symbol) --- gray_encoder ---
 differential_encoder --- chunks_to_symbol(constellation)
 --- rrc_filter --- USRP

 Rx
 USRP --- fll_band_edge --- pfb_clock_sync --- (constellation_receiver, 0)
 --- demod_pkts

 Now I have modified it to the following.

 Tx
 packed_to_unpacked(bits_per_trellis_input) --- trellis_encoder(fsm) ---
 chunnks_to_symbol(constellatin) --- rrc_filter --- USRP

 Rx
 USRP --- fll_band_edge --- pfb_clock_sync --- (constelllation_receiver,
 4)(symbol) --- viterbi_combined --- demod_pkts

 I find this structure ends up in more errors than before. ( almost all
 errors )

 1. Does the packet size at the output of pkt.py has anything to do with the
 block_length in viterbi_combined?

 2. Will it make any difference if I specify the starting and ending states??


 --
 Manu T S

 ___
 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] Trellis in generic_mod_demod

2013-03-01 Thread Ben Reynwar
Manu,

At the moment when you feed into your viterbi decoder you still have
phase ambiguity i.e. you don't know if the constellation is orientated
correctly.  I imagine this would place a constraint on the code you
could use.

If you go with Achilleas' suggestion then the differential decoding
would already have happened so you wouldn't need to worry about it.

Ben

On Fri, Mar 1, 2013 at 11:05 AM, Achilleas Anastasopoulos
anas...@umich.edu wrote:
 Manu,

 Start with a simpler version of your design, ie
 1) At the Tx the convolutional code is BEFORE the gray_encoder
 2) At the Rx the Viterbi decoder operates with hard decisions (there
 is an option for that in the viterbi combined) and is AFTER the block
 that synchronizes with the encoded demodumated packet and extracts its
 payload.

 In other words, add coding/decoding to the payload of the original
 uncoded system.

 Achilleas

 =
 There is no logic at the moment to make the trellis encoder and
 decoder sync their blocks with the packets.  I would have thought that
 if you don't specify the starting and ending states, and the blocks
 are reasonably long, then it would still work adequately but I could
 be wrong.

 If you want to sync the blocks with the packets then you could add a
 stream tag to the start of each packet, and detect that with the
 encoder and decoder.

 Ben

 On Thu, Feb 28, 2013 at 9:47 PM, Manu T S manu.t.s...@gmail.com wrote:
 I want to use convolution code to transmit packet over USRP. So I ended up
 modifying the generic_mod_demod in digital.

 The original flow graph was

 Tx
 packed_to_unpacked(bits_per_symbol) --- gray_encoder ---
 differential_encoder --- chunks_to_symbol(constellation)
 --- rrc_filter --- USRP

 Rx
 USRP --- fll_band_edge --- pfb_clock_sync --- (constellation_receiver, 0)
 --- demod_pkts

 Now I have modified it to the following.

 Tx
 packed_to_unpacked(bits_per_trellis_input) --- trellis_encoder(fsm) ---
 chunnks_to_symbol(constellatin) --- rrc_filter --- USRP

 Rx
 USRP --- fll_band_edge --- pfb_clock_sync --- (constelllation_receiver,
 4)(symbol) --- viterbi_combined --- demod_pkts

 I find this structure ends up in more errors than before. ( almost all
 errors )

 1. Does the packet size at the output of pkt.py has anything to do with the
 block_length in viterbi_combined?

 2. Will it make any difference if I specify the starting and ending states??


 --
 Manu T S

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


Re: [Discuss-gnuradio] calc_metric in digital_constellation_receiver

2013-02-24 Thread Ben Reynwar
On Sun, Feb 24, 2013 at 6:36 AM, Manu T S manu.t.s...@gmail.com wrote:
 I want to use trellis codes along with generic_mod_demod.

 1. Can I replace the constellation_receiver object with a trellis_metric
 followed by a viterbi? If so is it required to have an operation equivalent
 to phase correction in constellation_receiver? How can I do that?

constellation_receiver has four optional outputs.  The fourth is a
phase-corrected complex number.  You could use this as the input to
your metric calculation.


 2. There is a function for metric calculation inside constellation_receiver.
 Can I use it to implement viterbi?

This function is called by trellis.constellation_metrics_cf which
generates metrics that you can feed into the viterbi block.  Metrics
are calculated for every constellation point, so for large
constellations the efficiency will be appalling.


 Thanks in advance


 --
 Manu T S

 ___
 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] qa_constellation_receiver test's constellation fails

2013-02-15 Thread Ben Reynwar
Bug report created at:

http://gnuradio.org/redmine/issues/516

On Fri, Feb 15, 2013 at 2:29 PM, Tommy Tracy II tj...@virginia.edu wrote:
 This is Gentoo Base System release 2.1.

Sincerely,
   Tommy James Tracy II
   PhD Student
 High Performance Low Power Lab
University of Virginia

 On Feb 15, 2013, at 4:22 PM, Tom Rondeau t...@trondeau.com wrote:

 On Fri, Feb 15, 2013 at 3:31 PM, Tommy Tracy II tj...@virginia.edu wrote:

 The qa_constellation_receiver test tests a series of test constellations,
 by iterating through them and asserting that the 'correct' variable is
 always  REQ_CORRECT.

 for constellation, differential in tested_constellations():
 ...
 self.assertTrue(correct  REQ_CORRECT)

 Which is not the case for at least one of the constellations:

 correct:  0.633012820513
 REQ_CORRECT:  0.7

Sincerely,
   Tommy James Tracy II
   PhD Student
 High Performance Low Power Lab
University of Virginia



 Remind us what OS you're using?

 Tom



 ___
 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] make test error

2013-01-31 Thread Ben Reynwar
Should anyone feel like fixing it, the issue can be found here:

http://gnuradio.org/redmine/issues/511


On Thu, Jan 31, 2013 at 2:35 PM, Josh Blum j...@ettus.com wrote:


 On 01/31/2013 07:38 AM, adream wrote:
 hello everyone, I try to install gnuradio by source code, the version is
 3.6.3.
 my operation system is Ubuntu 12.04.
 and I get this error while running make test

 The following tests FAILED:
 120 - qa_ctcss_squelch (Failed)
 Errors while running CTest

 thanks for any reply.


 I think this is a known issue. If that is your only test failure, I
 think your GR build is good to use :-)

 -josh



 ___
 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 mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] make test error

2013-01-31 Thread Ben Reynwar
qa_ctcss_squelch is failing for me on master for Ubuntu 12.10 and in
OS X 10.7.5.

On Thu, Jan 31, 2013 at 3:17 PM, Jared Lewis jared.le...@taitradio.com wrote:
 I just cleaned and rebuilt master and all tests pass for me on Ubuntu 12.04.

 Output of gnuradio-config-info shows that I am on master.
 jared@jared:~/gnuradio/build$ gnuradio-core/src/lib/gnuradio-config-info -v
 v3.6.3-35-g4435082f

 Start 120: qa_ctcss_squelch
 120/180 Test #120: qa_ctcss_squelch .   Passed0.17 sec


 Jared



 On Fri, Feb 1, 2013 at 10:49 AM, Ben Reynwar b...@reynwar.net wrote:

 Should anyone feel like fixing it, the issue can be found here:

 http://gnuradio.org/redmine/issues/511


 On Thu, Jan 31, 2013 at 2:35 PM, Josh Blum j...@ettus.com wrote:
 
 
  On 01/31/2013 07:38 AM, adream wrote:
  hello everyone, I try to install gnuradio by source code, the version
  is
  3.6.3.
  my operation system is Ubuntu 12.04.
  and I get this error while running make test
 
  The following tests FAILED:
  120 - qa_ctcss_squelch (Failed)
  Errors while running CTest
 
  thanks for any reply.
 
 
  I think this is a known issue. If that is your only test failure, I
  think your GR build is good to use :-)
 
  -josh
 
 
 
  ___
  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 mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



 
 This email, including any attachments, is only for the intended recipient.
 It is subject to copyright, is confidential and may be the subject of legal
 or other privilege, none of which is waived or lost by reason of this
 transmission.
 If you are not an intended recipient, you may not use, disseminate,
 distribute or reproduce such email, any attachments, or any part thereof. If
 you have received a message in error, please notify the sender immediately
 and erase all copies of the message and any attachments.
 Unfortunately, we cannot warrant that the email has not been altered or
 corrupted during transmission nor can we guarantee that any email or any
 attachments are free from computer viruses or other conditions which may
 damage or interfere with recipient data, hardware or software. The recipient
 relies upon its own procedures and assumes all risk of use and of opening
 any attachments.
 

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


Re: [Discuss-gnuradio] DARPA spectrum challenge teams?

2013-01-28 Thread Ben Reynwar
I'll be part of the University of Arizona team and am also curious who
else is participating.

On Mon, Jan 28, 2013 at 6:10 PM, Tom Rondeau t...@trondeau.com wrote:
 Hello!

 We're close to the deadline for teams to sign up for the spectrum challenge
 (http://dtsn.darpa.mil/spectrumchallenge/Register.aspx). I haven't heard
 much from the crowd here. Is anyone planning on participating?

 Tom


 ___
 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] Bug in digital_bert_rx.py

2013-01-17 Thread Ben Reynwar
On Thu, Jan 17, 2013 at 6:48 AM, Charles Ru ruchengu...@gmail.com wrote:
 I found a bug in digital_bert_rx.py. My current version of GNU Radio is
 3.6.2.
 The bug is in line 118(I'm not sure if I have changed the file already),

 self._source = uhd_receiver(options.args, options.bitrate,

 Here, the options.bitrate should be replaced by symbol_rate.
 May be you guys have fixed this bug in 3.6.3?

 But still problems in digital_bert_rx.py or digital_bert_rx.tx.py, cause I
 do the bpsk test and everything works well.
 But the other mods/demods cannot get a correct BER even though I fix the bug
 above.
 The BER is always aroud 0.1666 or 0.20!
 Can anyone help me on this?

 Thanks,
 Charles

I've created a new issue at http://gnuradio.org/redmine/issues/509
If anybody has any further comments they can add them to the issue
report, rather than posting to the mailing list.

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


Re: [Discuss-gnuradio] Code for GRC blocks

2013-01-15 Thread Ben Reynwar
First of all take a look at the generated python file.

The block constructors will be things like gr.head,
digital.chunks_to_symbols_bc.  The blocks may be implemented in python, by
stringing together existing blocks, or they may be implemented in C++.  The
python subpackage (gr and digital here) indicate what subdirectory the
files will be in (gr corresponds to gnuradio-core, digital to
gr-digital).  I then use 'find' to get the files of interest.

e.g. (assuming a unix-like system)
$ cd gnuradio-core
$ find . -name *head*
./src/lib/general/gr_head.cc
./src/lib/general/gr_head.h
./src/lib/general/gr_head.i
./src/lib/general/gr_skiphead.cc
./src/lib/general/gr_skiphead.h
./src/lib/general/gr_skiphead.i
./src/python/gnuradio/gr/qa_head.py
./src/python/gnuradio/gr/qa_skiphead.py
$ cd ../gr-digital
$ find . -name *chunks_to_symbols*
find . -name *chunks_to_symbols*
./grc/digital_chunks_to_symbols.xml
./include/digital_chunks_to_symbols_XX.h.t
./lib/digital_chunks_to_symbols_XX.cc.t
./python/qa_chunks_to_symbols.py
./swig/digital_chunks_to_symbols_XX.i.t

Sometimes this won't find the python hierarchical files.
So for digital.psk_mod I'd use something like
$  cd gr-digital
$ grep -r class psk_mod .
./python/psk.py:class psk_mod(generic_mod):


On Tue, Jan 15, 2013 at 7:57 AM, Ghulam Rasool Begh grbegh...@yahoo.comwrote:

 Hi all,
 I am new to Gnuradio and learnt few tutorials regarding use of GUI of
 Gnuradio.
 How can I find the code of the blocks used in GR Companion.

 Regards
 G R Begh


 ___
 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] Simple Digital Mod Problem

2013-01-11 Thread Ben Reynwar
Take a look at the packet_encoder and packet_decoder blocks.  The
encoder adds a header to the packet, so that the decoder can
synchronise to it, and get the correct byte boundary.  The
implementation (in the current master branch) is found at
gnuradio/grc/grc_gnuradio/blks2/packet.py.

On Fri, Jan 11, 2013 at 8:21 AM, Hanz dominic1...@googlemail.com wrote:
 Thanks! I see now what you mean, but how can i get rid of these boundary
 mistakes? The Result is similar to the original, but the bytes are kind of
 shifted. So from a FF 00 results a FE 01..



 --
 View this message in context: 
 http://gnuradio.4.n7.nabble.com/Simple-Digital-Mod-Problem-tp38857p38936.html
 Sent from the GnuRadio mailing list archive at Nabble.com.

 ___
 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] Simple Digital Mod Problem

2013-01-11 Thread Ben Reynwar
I don't understand you're question.  What do you mean by fetch the raw
bits or bytes?  It seems that you are already doing that fine with
your file outputs.



On Fri, Jan 11, 2013 at 12:33 PM, Hanz dominic1...@googlemail.com wrote:
 This is actually what i would like to do later by hand. Isnt there a
 possibity how i can fetch the raw bits or bytes directly after receiving?
 Sorry if its a stupid question..



 --
 View this message in context: 
 http://gnuradio.4.n7.nabble.com/Simple-Digital-Mod-Problem-tp38857p38944.html
 Sent from the GnuRadio mailing list archive at Nabble.com.

 ___
 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] doubts on the GRC block PSK_Demod

2013-01-11 Thread Ben Reynwar
You are correct that the digital_constellation_receiver_cb does not do
any symbol timing recovery and that the documentation is incorrect.

Thanks for pointing this out, and sorry for the confusion.

Ben

On Thu, Jan 10, 2013 at 1:54 AM, luca luca.cuc...@gmail.com wrote:
 Hi all,

 I've some doubts on the GRC block PSK_Demod.
 I tried to analyze the inner functions called in the /psk_demod block/ in
 order to understand the algorithms approachs implemented for synchronism
 recovery.

 /psk_demod/ derives from /generic_demod/ and the latter can be found in
 /generic_mod_demod.py/.
 Here, I can find the FLL performed by a band-Edge filters method through the
 functions  /self.freq_recov =
 digital.fll_band_edge_cc(self._samples_per_symbol, self._excess_bw,
 fll_ntaps, self._freq_bw)./

 Furthermore, I can find the timing recovery by polyphase filterbanks
 approach, through /self.time_recov =
 digital.pfb_clock_sync_ccf(self._samples_per_symbol,self._timing_bw,
 taps,nfilts, nfilts//2, self._timing_max_dev) /

 Then, in generic_mod_demod.py, I find the call /self.receiver =
 digital.constellation_receiver_cb(
 self._constellation, self._phase_bw,
 fmin, fmax)./
 My understanding is that this function performs just a Costas loop in order
 to recover the phase and the remaining frequency error.

 Is it correct ?

 My doubts derive from the fact that in
 /digital_constellation_receiver_cb.h/, the function
 digital.constellation_receiver_cb is described also in term of timing
 recovery by a MuellerMuller algorithm.
 In my opinion, the clock recovery, as above indicated, is performed by the
 digital.pfb_clock_sync_ccf.

 Thank you

 Luca




 --
 View this message in context: 
 http://gnuradio.4.n7.nabble.com/doubts-on-the-GRC-block-PSK-Demod-tp38915.html
 Sent from the GnuRadio mailing list archive at Nabble.com.

 ___
 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] Simple Digital Mod Problem

2013-01-07 Thread Ben Reynwar
The output of the demod is unpacked, that is, only one bit in each
byte is used.  Place an unpacked_to_packed block before the sink and
you will have more luck, however you will still get an offset in the
byte boundaries between the input and output.

Ben

On Mon, Jan 7, 2013 at 3:21 AM, Hanz dominic1...@googlemail.com wrote:
 Im a total newbie to GNURadio. So my plan was to simply test a digital
 modulation path, without channel. Then compare input file and output file.
 The input file was a previously captured random file through GNURadio. But
 the problem is, that the output file is about 8 times bigger and clearly not
 the same!
 Any help :)?
 http://gnuradio.4.n7.nabble.com/file/n38857/grc.png



 --
 View this message in context: 
 http://gnuradio.4.n7.nabble.com/Simple-Digital-Mod-Problem-tp38857.html
 Sent from the GnuRadio mailing list archive at Nabble.com.

 ___
 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] Bug Fixers Needed

2012-12-14 Thread Ben Reynwar
Hi all,

Martin sent out an email a few days ago letting you know that we're
trying to use the issue tracker
(http://gnuradio.org/redmine/projects/gnuradio/issues) to report and
fix bugs in a more timely manner.

As part of that process I'm going to send out an occasional email to
the list, to remind everyone that the issue tracker exists, and bring
outstanding bugs to peoples attention.  If anyone feels like having a
go at fixing a bug then assign yourself to it in the issue tracker, so
that we don't get multiple people working on it at the same time.

Bugs that need some attention are:

http://gnuradio.org/redmine/issues/502
The 'Persistence' option that comes with most wxgui-sinks rarely
works, and always produces crashes if it doesn't.

http://gnuradio.org/redmine/issues/421 and
http://gnuradio.org/redmine/issues/496
gr_prefs in C++ does not work

http://gnuradio.org/redmine/issues/495
gr-audio portaudio: doesn't work on windows
gr-audio windows: source is not implemented

http://gnuradio.org/redmine/issues/494
volk_rank_archs.c is not added in the MSVC project

Cheers,
Ben

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


Re: [Discuss-gnuradio] Anybody having QAM mod/demod.

2012-10-30 Thread Ben Reynwar
There was a bug in the QAM demodulator that has been recently fixed
(merged in two weeks ago).  Try checking out the current master or
next branch.

Ben

On Tue, Oct 30, 2012 at 8:47 AM, Ahmed Zaheer ghumman1...@yahoo.com wrote:
 Does anybody have QAM mod/demodulator working in loop back simulation. Mine
 in attached and doesn't work. Infact it's not able to send the video file.
 Can somebody give any suggestion to correct?
 Regards.
 Ahmed.

 ___
 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] Anybody having QAM mod/demod.

2012-10-30 Thread Ben Reynwar
The 'master' branch contains bug fixes to the most recent release.

The 'next' branch also contains new features.

If you used the build-gnuradio script to install you should just be
able to go into the gnuradio directory and type 'git pull' to update
it.

If you installed it using a package manager you'll need to check out
the source using git.

git clone http://gnuradio.org/git/gnuradio.git

See http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGR
for more info

Ben

On Tue, Oct 30, 2012 at 9:25 AM, Ahmed Zaheer ghumman1...@yahoo.com wrote:
 Hi Ben.
 What is this current master or next branch?


 
 From: Ben Reynwar b...@reynwar.net
 To: Ahmed Zaheer ghumman1...@yahoo.com; discuss-gnuradio Discussion Group
 discuss-gnuradio@gnu.org
 Sent: Tuesday, October 30, 2012 9:08 AM

 Subject: Re: [Discuss-gnuradio] Anybody having QAM mod/demod.

 There was a bug in the QAM demodulator that has been recently fixed
 (merged in two weeks ago).  Try checking out the current master or
 next branch.

 Ben

 On Tue, Oct 30, 2012 at 8:47 AM, Ahmed Zaheer ghumman1...@yahoo.com wrote:
 Does anybody have QAM mod/demodulator working in loop back simulation.
 Mine
 in attached and doesn't work. Infact it's not able to send the video file.
 Can somebody give any suggestion to correct?
 Regards.
 Ahmed.

 ___
 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] VOLK configure error in OSX 10.8

2012-09-10 Thread Ben Reynwar
On Mon, Aug 6, 2012 at 6:43 AM, Michael Dickens m...@alum.mit.edu wrote:
 I'm running OSX 10.8.0, Xcode 4.4, latest updates; all background 
 dependencies are installed as both 32 and 64 bit, and includes orc.  Please 
 let me know what tests I can run to get more/better info to help correct this 
 issue. - MLD

 % clang --version
 Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
 Target: x86_64-apple-darwin12.0.0
 Thread model: posix

 % gcc --version
 i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) 
 (LLVM build 2336.11.00)

 % uname -a
 Darwin mld-mbp-17.comcast.net 12.0.0 Darwin Kernel Version 12.0.0: Sun Jun 24 
 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64

 % cmake ../git
 [snip]
 -- Compiler name: GNU
 -- x86* CPU detected
 -- GCC missing xgetbv, Overruled arch avx
 -- CPU width is 64 bits, Overruled arch 32
 -- Available architectures: 
 generic;altivec;neon;64;3dnow;abm;popcount;mmx;sse;sse2;orc;norc;sse3;ssse3;sse4_a;sse4_1;sse4_2
 -- Available machines: 
 generic_orc;neon_orc;sse2_64_mmx_orc;sse3_64_orc;ssse3_64_orc;sse4_a_64_orc;sse4_1_64_orc;sse4_2_64_orc;altivec
 -- Using install prefix: /usr/local
 [snip]

 % make VERBOSE=on
 [snip]
 /opt/local/bin/cmake -H/opt/GNURadio/source/git 
 -B/opt/GNURadio/source/builds/10.8 --check-build-system 
 CMakeFiles/Makefile.cmake 0
 /opt/local/bin/cmake -E cmake_progress_start 
 /opt/GNURadio/source/builds/10.8/CMakeFiles 
 /opt/GNURadio/source/builds/10.8/CMakeFiles/progress.marks
 make -f CMakeFiles/Makefile2 all
 make -f volk/lib/CMakeFiles/volk.dir/build.make 
 volk/lib/CMakeFiles/volk.dir/depend
 cd /opt/GNURadio/source/builds/10.8  /opt/local/bin/cmake -E cmake_depends 
 Unix Makefiles /opt/GNURadio/source/git /opt/GNURadio/source/git/volk/lib 
 /opt/GNURadio/source/builds/10.8 /opt/GNURadio/source/builds/10.8/volk/lib 
 /opt/GNURadio/source/builds/10.8/volk/lib/CMakeFiles/volk.dir/DependInfo.cmake
  --color=
 make -f volk/lib/CMakeFiles/volk.dir/build.make 
 volk/lib/CMakeFiles/volk.dir/build
 /opt/local/bin/cmake -E cmake_progress_report 
 /opt/GNURadio/source/builds/10.8/CMakeFiles
 [  0%] Building C object 
 volk/lib/CMakeFiles/volk.dir/volk_machine_neon_orc.c.o
 cd /opt/GNURadio/source/builds/10.8/volk/lib  /usr/bin/gcc  -Dvolk_EXPORTS 
 -DHAVE_FENV_H -DHAVE_DLFCN_H -O3 -DNDEBUG -fPIC 
 -I/opt/GNURadio/source/builds/10.8/volk/include 
 -I/opt/GNURadio/source/git/volk/include 
 -I/opt/GNURadio/source/builds/10.8/volk/lib 
 -I/opt/GNURadio/source/git/volk/lib -I/opt/local/include/orc-0.4 
 -I/opt/local/include-fvisibility=hidden -mfpu=neon -mfloat-abi=softfp 
 -funsafe-math-optimizations -o CMakeFiles/volk.dir/volk_machine_neon_orc.c.o  
  -c /opt/GNURadio/source/builds/10.8/volk/lib/volk_machine_neon_orc.c
 cc1: error: unrecognized command line option -mfpu=neon
 cc1: error: unrecognized command line option -mfloat-abi=softfp
 make[2]: *** [volk/lib/CMakeFiles/volk.dir/volk_machine_neon_orc.c.o] Error 1
 make[1]: *** [volk/lib/CMakeFiles/volk.dir/all] Error 2
 make: *** [all] Error 2


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

I'm having this issue now.  How did you get it working?

Cheers,
Ben

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


Re: [Discuss-gnuradio] vector sink data

2012-08-16 Thread Ben Reynwar
tb.start()
while not_finished:
time.sleep(10)
my_data = tb.my_probe_signal.level()
print(my_data)
tb.stop()

You can use gr.probe_signal_vc to grab a vector of data, however
you'll only grab data every 10 seconds in the above example.
This method will only give you occasional snapshots of the data so
will not allow an exhaustive search.
If you want to do an exhaustive search then writing a custom signal
processing block in C++ is the way to go.

Ben

On Thu, Aug 16, 2012 at 12:28 AM, abdullah unutmaz
abdullahunut...@yahoo.com wrote:
 Greetings,

 Could I set up an ordinary paralel output shift register using vector_sink
 or probe_signal?
 When I examined both vector_sink  probe_signal, process was ended when the
 output was displayed.
 But, I need an ongoing data acquisition, though I can get different outputs
 from both of the blocks,
 I need a flow of samples. If I can set this up, most of the work  will be
 done.

 In main function, I embed

 
   tb.run()
   time.sleep(10)
   my_data = tb.my_vec_snk.data()
   print data: ,my_data

 
 into a while(True) loop, but this time everything starts from the begining,
 it takes sometime from the FPGA to settle,
 and data acquisition cuts down.

 As an alternative solution, I keep larger amount of samples than actual
 number of samples I need to, and search
 the pattern in the kept sequence. But it is time consuming, this study is
 for a final year project, when I discuss solutions
 with my professor, he decisively wants the system to be ongoing data flow,
 even though in both of the possible
 solutions the process ends right after the data is acquired :).

 Thanks,
 Abdullah

 
 From: abdullah unutmaz abdullahunut...@yahoo.com
 To: Ben Reynwar b...@reynwar.net; discuss-gnuradio@gnu.org
 discuss-gnuradio@gnu.org
 Sent: Friday, August 10, 2012 3:25 PM

 Subject: Re: [Discuss-gnuradio] vector sink data

 Thanks, I realized what I need to do. Next monday I can try it, probably it
 will solve the problem.

 From: Ben Reynwar b...@reynwar.net
 To: abdullah unutmaz abdullahunut...@yahoo.com; discuss-gnuradio
 Discussion Group discuss-gnuradio@gnu.org
 Sent: Friday, August 10, 2012 8:37 PM
 Subject: Re: [Discuss-gnuradio] vector sink data

 I can't tell what your problem might be without seeing your entire script.

 A minimal script doing something like this is:

 from gnuradio import gr
 tb = gr.top_block()
 src = gr.vector_source_f([1,2,3,4,5,6])
 snk = gr.vector_sink_f()
 tb.connect(src, snk)
 tb.run()
 print(snk.data())

 On Fri, Aug 10, 2012 at 4:05 AM, abdullah unutmaz
 abdullahunut...@yahoo.com wrote:
 @Ben, first of all thanks for replying.

 I tried both of the solutions, the output I get is a vector containing
 only
 zeros,

 data:  (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

 When I use probe_signal

 data: 0.0

 But I was sending a vector composed of eleven elements of a combination of
 ones and zeros. It seems extra-ordinary, when I open the file to see the
 data I keep, I see two different symbols, ascii-codes, sequenced
 periodically after skipping an amount of the first stored data.

 What may be the problem, any idea?

 - Abdullah

 
 From: Ben Reynwar b...@reynwar.net
 To: abdullah unutmaz abdullahunut...@yahoo.com; discuss-gnuradio
 Discussion Group discuss-gnuradio@gnu.org
 Sent: Thursday, August 9, 2012 6:29 PM
 Subject: Re: [Discuss-gnuradio] vector sink data

 On Thu, Aug 9, 2012 at 1:53 PM, abdullah unutmaz
 abdullahunut...@yahoo.com wrote:
 Greetings,

 I would like to ask you how to read the data stored in a vector sink. I
 tried the solutions I found in the discussion list. You can see some part
 of
 my python code below.


 --
 ##
# Connections
##
self.connect((self.my_vec_src, 0), (self.my_thro, 0))
 vector_source - throttle
self.connect((self.my_thro, 0), (self.my_h, 0))
 throttle - head
self.connect((self.my_h, 0), (self.my_vec_snk, 0))head -
 vector_sink

time.sleep(10)
my_data=self.my_vec_snk.data()
print data: ,my_data


 
 if __name__ == '__main__':
parser = OptionParser(option_class=eng_option, usage=%prog:
 [options])
(options, args) = parser.parse_args()
tb = top_block()
tb.Run(True)


 --
 Output of the program :

 data:  ()

 I need to read an incoming data to correlate with some predefined data,
 vector. If I am

Re: [Discuss-gnuradio] vector sink data

2012-08-10 Thread Ben Reynwar
I can't tell what your problem might be without seeing your entire script.

A minimal script doing something like this is:

from gnuradio import gr
tb = gr.top_block()
src = gr.vector_source_f([1,2,3,4,5,6])
snk = gr.vector_sink_f()
tb.connect(src, snk)
tb.run()
print(snk.data())

On Fri, Aug 10, 2012 at 4:05 AM, abdullah unutmaz
abdullahunut...@yahoo.com wrote:
 @Ben, first of all thanks for replying.

 I tried both of the solutions, the output I get is a vector containing only
 zeros,

 data:  (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

 When I use probe_signal

 data: 0.0

 But I was sending a vector composed of eleven elements of a combination of
 ones and zeros. It seems extra-ordinary, when I open the file to see the
 data I keep, I see two different symbols, ascii-codes, sequenced
 periodically after skipping an amount of the first stored data.

 What may be the problem, any idea?

 - Abdullah

 
 From: Ben Reynwar b...@reynwar.net
 To: abdullah unutmaz abdullahunut...@yahoo.com; discuss-gnuradio
 Discussion Group discuss-gnuradio@gnu.org
 Sent: Thursday, August 9, 2012 6:29 PM
 Subject: Re: [Discuss-gnuradio] vector sink data

 On Thu, Aug 9, 2012 at 1:53 PM, abdullah unutmaz
 abdullahunut...@yahoo.com wrote:
 Greetings,

 I would like to ask you how to read the data stored in a vector sink. I
 tried the solutions I found in the discussion list. You can see some part
 of
 my python code below.

 --
 ##
# Connections
##
self.connect((self.my_vec_src, 0), (self.my_thro, 0))
 vector_source - throttle
self.connect((self.my_thro, 0), (self.my_h, 0))
 throttle - head
self.connect((self.my_h, 0), (self.my_vec_snk, 0))head -
 vector_sink

time.sleep(10)
my_data=self.my_vec_snk.data()
print data: ,my_data

 
 if __name__ == '__main__':
parser = OptionParser(option_class=eng_option, usage=%prog:
 [options])
(options, args) = parser.parse_args()
tb = top_block()
tb.Run(True)

 --
 Output of the program :

 data:  ()

 I need to read an incoming data to correlate with some predefined data,
 vector. If I am not wrong the best solution is to save data in a vector
 sink
 same length as the predefined vector, then applying the cross-correlation
 to
 them. The program above is just a test program to examine what the vector
 sink
 stores, but I am confused why it does not work, because I saw a similar
 working use of a vector sink with USRPs. I already save the data in a
 file,
 but it does not seem to me as a good solution at least due to possible
 memory waste, though clearing the file is possible in run-time.

 Thanks in advance,
 Abdullah

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


 vector_sink is useful if you're running for a short time, for example
 in a test.  You can access that data using snk.data() after tb.run()
 has completed.
 So something like:
   tb.run()
   time.sleep(10)
   my_data = tb.my_vec_snk.data()
   print data: ,my_data

 To extract data from a running flow graph use the probe blocks
 (gr.probe_signal_*).
   tb.start()
   time.sleep(10)
   my_data = tb.my_probe_signal.level()
   print data: ,my_data



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


Re: [Discuss-gnuradio] QPSK Constellation

2012-08-10 Thread Ben Reynwar
There no way to do this simply by passing an appropriate argument but
you could do it without recompiling by adding in appropriate
digital.map_bb blocks into the modulation and demodulation blocks.

On Fri, Aug 10, 2012 at 9:18 AM, David Miller
davidernestmil...@gmail.com wrote:
 Hey List,

 Is it possible to easily change the QPSK mapping for the PSK
 modulator/demodulators, or does it require a re-compile?

 David

 ___
 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] vector sink data

2012-08-09 Thread Ben Reynwar
On Thu, Aug 9, 2012 at 1:53 PM, abdullah unutmaz
abdullahunut...@yahoo.com wrote:
 Greetings,

 I would like to ask you how to read the data stored in a vector sink. I
 tried the solutions I found in the discussion list. You can see some part of
 my python code below.
 --
 ##
 # Connections
 ##
 self.connect((self.my_vec_src, 0), (self.my_thro, 0))
 vector_source - throttle
 self.connect((self.my_thro, 0), (self.my_h, 0))
 throttle - head
 self.connect((self.my_h, 0), (self.my_vec_snk, 0))head -
 vector_sink

 time.sleep(10)
 my_data=self.my_vec_snk.data()
 print data: ,my_data
 
 if __name__ == '__main__':
 parser = OptionParser(option_class=eng_option, usage=%prog: [options])
 (options, args) = parser.parse_args()
 tb = top_block()
 tb.Run(True)
 --
 Output of the program :

 data:  ()

 I need to read an incoming data to correlate with some predefined data,
 vector. If I am not wrong the best solution is to save data in a vector sink
 same length as the predefined vector, then applying the cross-correlation to
 them. The program above is just a test program to examine what the vector
 sink
 stores, but I am confused why it does not work, because I saw a similar
 working use of a vector sink with USRPs. I already save the data in a file,
 but it does not seem to me as a good solution at least due to possible
 memory waste, though clearing the file is possible in run-time.

 Thanks in advance,
 Abdullah

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


vector_sink is useful if you're running for a short time, for example
in a test.  You can access that data using snk.data() after tb.run()
has completed.
So something like:
   tb.run()
   time.sleep(10)
   my_data = tb.my_vec_snk.data()
   print data: ,my_data

To extract data from a running flow graph use the probe blocks
(gr.probe_signal_*).
   tb.start()
   time.sleep(10)
   my_data = tb.my_probe_signal.level()
   print data: ,my_data

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


[Discuss-gnuradio] hanging on top_block.stop

2012-08-07 Thread Ben Reynwar
Hi all,

The following script hangs for me about 1 time in 10 on the call to
top_block.stop.
Drilling in a bit, it appears to get stuck on a call to 'interrupt' of
a boost::thread instance on line 91 of gruel/src/lib/thread_group.cc.
Has anyone else had this problem?

Cheers,
Ben

import time
from gnuradio import gr

def execute():
tb = gr.top_block()
src = gr.vector_source_c([1], True)
snk = gr.null_sink(gr.sizeof_gr_complex)
tb.connect(src, snk)
tb.start()
time.sleep(0.01)
print(**About to Stop***)
tb.stop()
print(**Stopped***)

if __name__ == __main__:
execute()

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


Re: [Discuss-gnuradio] hanging on top_block.stop

2012-08-07 Thread Ben Reynwar
On Tue, Aug 7, 2012 at 10:31 AM, Ben Reynwar b...@reynwar.net wrote:
 Hi all,

 The following script hangs for me about 1 time in 10 on the call to
 top_block.stop.
 Drilling in a bit, it appears to get stuck on a call to 'interrupt' of
 a boost::thread instance on line 91 of gruel/src/lib/thread_group.cc.
 Has anyone else had this problem?

 Cheers,
 Ben

 import time
 from gnuradio import gr

 def execute():
 tb = gr.top_block()
 src = gr.vector_source_c([1], True)
 snk = gr.null_sink(gr.sizeof_gr_complex)
 tb.connect(src, snk)
 tb.start()
 time.sleep(0.01)
 print(**About to Stop***)
 tb.stop()
 print(**Stopped***)

 if __name__ == __main__:
 execute()

Also, if I write the same logic in straight C++ it works fine.

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


Re: [Discuss-gnuradio] hanging on top_block.stop

2012-08-07 Thread Ben Reynwar
Upgrading to boost 1.48 fixed the problem.
Thanks again,
Ben

On Tue, Aug 7, 2012 at 2:43 PM, Ben Reynwar b...@reynwar.net wrote:
 Great, thanks.  I'm using boost 1.46.1 so hopefully this will go away
 once I upgrade to 1.47.

 On Tue, Aug 7, 2012 at 2:20 PM, Don Ward don2387w...@sprynet.com wrote:
 You don't say what OS or version of boost you are using, but it sounds like
 an old problem. Try looking at
 http://lists.gnu.org/archive/html/discuss-gnuradio/2011-12/msg00098.html in
 the mailing list archives.

 -- Don W.


 - Original Message - From: Ben Reynwar b...@reynwar.net
 To: discuss-gnuradio Discussion Group discuss-gnuradio@gnu.org
 Sent: Tuesday, August 07, 2012 1:31 PM
 Subject: [Discuss-gnuradio] hanging on top_block.stop


 Hi all,

 The following script hangs for me about 1 time in 10 on the call to
 top_block.stop.
 Drilling in a bit, it appears to get stuck on a call to 'interrupt' of
 a boost::thread instance on line 91 of gruel/src/lib/thread_group.cc.
 Has anyone else had this problem?

 Cheers,
 Ben

 import time
 from gnuradio import gr

 def execute():
tb = gr.top_block()
src = gr.vector_source_c([1], True)
snk = gr.null_sink(gr.sizeof_gr_complex)
tb.connect(src, snk)
tb.start()
time.sleep(0.01)
print(**About to Stop***)
tb.stop()
print(**Stopped***)

 if __name__ == __main__:
execute()

 ___
 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] Constallation receiver block in gnuradio companion

2012-06-15 Thread Ben Reynwar
On Thu, Jun 14, 2012 at 4:53 PM, Nazmul Islam
mnis...@winlab.rutgers.edu wrote:
 Hello,

 I want to transmit a continuous stream of data and obtain its synchronized
 version (before decoding) at the receiver using gnuradio companion.
 Following the generic_mod_demod.py, I have designed the transmit and receive
 path in the following way

 Tx:    GLFSR source (producing +1  -1) -- RRC filter -- USRP Sink

 Rx: USRP Source -- AGC2 -- FLL Band Edge -- Polyphase Clock Sync.

 I want to insert the Constellation Receiver block at the end of the
 Polyphase Clock Sync. I have two questions on this:

 1. The Constellation Receiver block asks for constellation object and it
 accepts raw data type. What should I put here? I tried using the options 2
 and bpsk but they did not work.

digital.constellation_bpsk()


 2. The Constellation_Receiver_cb accepts baseband complex streams and
 returns byte level data. Will it output the decoded data? I want the complex
 data, that has gone through the costas and MM recovery block, but has not
 been decoded yet. How can I obtain that?

constellation_receiver_cb only does some fine tuning of the phase, and
then the mapping to symbols.  If you want to get the fine tuning
without the mapping then you'll need to edit
gr-digital/lib/gr_constellation_receiver_cb.cc.  Currently the block
can have 1 or 4 outputs.  If one it just outputs the symbols.  If four
it outputs symbol, phase error, phase estimate, and frequency
estimate.  You could edit the block so that it also outputs the fined
tuned complex data.


 Any suggestion will be appreciated.

 Thanks,

 Nazmul


 --
 Muhammad Nazmul Islam

 Graduate Student
 Electrical  Computer Engineering
 Wireless Information  Networking Laboratory
 Rutgers, USA.


 ___
 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] qam modulation blocks in GRC cannot work btw two computers?

2012-06-15 Thread Ben Reynwar
On Thu, Jun 14, 2012 at 10:58 PM, jiajue ou azalea.a...@yahoo.com.cn wrote:
 Hi all,



 I’m playing with qam modulation and demodulation blocks using GRC.

 To begin with, I built a flow graph in one computer as follows:

 File sourcepacket encoderqam mod-qam demod packet
 decoder-file sink

 It worked well. The file sink can get what is in the file source.



 Then, I separated the flow graph in two computers connected to a USRP N210
 each to test real environment performance:

 Computer1: File sourcepacket encoderqam mod-usrp sink

 Computer2:usrp source qam demod packet decoder-file sink

 However, the file sink cannot get  anything.(both with/without differential
 encoding )



 To find out why, I pinted out the transmitted symbols in qam mod block in
 gnuradio/gnuradio-core/src/gengen/chunks_to_symbol_bc.cc in a txt file, and
 received symbols in qam demod block in
 gnuradio/gr-digital/lib/digital_constellation_recever_cb.cc in another txt
 file. Next, I demodulate those symbols based on closet Euclidean distance
 criterion by MATLAB, however,bit error rate turned to be around 0.5 (some
 shift is made to find the minimum ber ) which implies that received symbols
 and transmitted symbols are independent. AM I RIGHT ABOUT WHERE TO PRINTING
 OUT THE SYMBOLS?



 One thing to notice, when I changed qam blocks to OFDM blocks, the file sink
 can get what is transmitted properly even in the case of  two computers.



 Therefore, I’m wondering if there is any problem with the qam blocks, like
 synchronization or channel equalization etc. that result in transmission
 failure. How can I solve it? MY PURPOSE IS TO GET correct symbols to demap
 to bits by myself.



 Sorry for sending such a long mail. Thank you very much for your help.



 Best,

 Jia


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


The synchronization can be slow, so if you're sending for only a short
time, you might not ever be synchronizing.
How does it work if you put a channel block with a frequency shift in
the one computer flow graph?

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


Re: [Discuss-gnuradio] QAM Demod error in GRC

2012-06-14 Thread Ben Reynwar
This is a bug.
In file gr-digital/grc/digital_qa_demod.xml the line
   gray_coded = $gray_coded
should be changed to
   mod_code = $mod_code


On Wed, Jun 13, 2012 at 7:56 AM, jiajue ou azalea.a...@yahoo.com.cn wrote:
 Hi all,

 I’m using GRC and the simple flow graph(1) at receiver  is as follows:

 Usrp sourceqam demodfile sink



 It works fine at first. However, when I tried to execute another similar
 flow graph(2) that was built before UPDATING GNURADIO from 3.5.0 to 3.6.0.
 an error occurs:



 Generating:”/home/azalea/exp/top_block.py”



 executing:”/home/azalea/exp/top_block.py”



 File :”/home/azalea/exp/top_block.py”, line 79

 Self.digital_qam_demod_0=---



 Syntax error: invalid syntax

 (I looked up the python file, line 79 and line 80 are:

 Self.digital_qam_demod_0=---

 Cannot find ‘gray_coded’: digital.qam.qam_demod(

 )

 Then, I return to the mentioned flow graph(1), same error again.

 I also tried to start a new flow graph or make/make install gnuradio, but in
 vain.

 I’m just confused. The flow graph(1) worked well even after updating
 gnuradio. After that and before the error I didn’t remove or modify any
 module in gnuradio.

 Thanks a lot!



 Best,

 Jia






 ___
 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] QAM Mod and QAM Demod block in GRC

2012-06-03 Thread Ben Reynwar
The python generic_demod.py block uses the constellation_receiver_cb
block to do both some fine-tuning of the phase and the mapping to
bits.  It can be found at:
gnuradio/gr-digital/lib/digital_constellation_receiver_cb.cc
This in turn will use the decision_maker method of the constellation
object to do the mapping which can be found in:
gnuradio/gr-digital/lib/digital_constellation.cc
What exactly are you trying to do?

On Thu, May 31, 2012 at 8:12 PM, jiajue ou azalea.a...@yahoo.com.cn wrote:
 Hi Ben,

 What you mean is the qam blocks in gnuradio companion are implemented in
 Python only? If I want to get the complex symbols before they are demapped
 to bits, I should modify related python scripts?
 Thank you.

 Jia

 -Original Message-
 From: Ben Reynwar [mailto:b...@reynwar.net]
 Sent: Friday, June 01, 2012 12:39 AM
 To: jiajue ou; discuss-gnuradio Discussion Group
 Subject: Re: [Discuss-gnuradio] QAM Mod and QAM Demod block in GRC

 These blocks are implemented in python.
 Have a look at the following two files to start off with:
  gnuradio/gr-digital/python/qam.py
  gnuradio/gr-digital/python/generic_mod_demod.py

 Ben

 On Wed, May 30, 2012 at 11:41 PM, jiajue ou azalea.a...@yahoo.com.cn
 wrote:
 Hi all,



 I'm working on an experiment which needs to modify qam modulation
 block in gnuradio. But I cannot find the source C++ file the qam
 blocks use. e.g., OFDM demod block uses digital_ofdm_frame_sink in
 gnuradiobuild/gnuradio/gr-digital/lib. What about qam blocks?

 Thank you for your help!



 Best,

 jia


 ___
 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] Question on DQPSK Modulation - issue with output

2012-06-03 Thread Ben Reynwar
Hi Vahid,

First I'd try using a much longer string of bits and see if that help.

Second I'd find an example in gnuradio
(gr-digital/python/qa_constellation.py should have a working dqpsk
test) and then work from there.

Thirdly if you want pi/4-dqpsk you won't be able to use the standard
dqpsk_mod and dqpsk_demod, but will need to define a two-dimensional
constellation and use the generic_mod and generic_demod blocks.  The
two-dimensional constellation would be defined something like:

normal_qpsk_points = [blah, blah, blah, blah]
rotated_qpsk_points = [blah, blah, blah, blah]
two_d_points = []
for p in normal_qpsk_points:
for q in rotated_qpsk_points:
two_d_points += [p, q]
pi4dqpsk_constellation = digital.constellation_calcdist(two_d_points, [], 4, 2)

Cheers,
Ben

On Sat, Jun 2, 2012 at 4:20 PM, Vahid Behzadan vbehza...@yahoo.com wrote:

 Dear all,

 I am currently trying to implement a pi/4 dqpsk modulator and demodulator. I
 have tried two approaches, one uses the CQPSK.py (included in osmocom's
 TETRA project) and the other uses digital.qpsk.dqpsk_mod. Both of these
 approaches have failed to return the same string of bits after the process
 of modulations-demodulation. The input comes from a .dat file and is a
 string of bits (tried different sizes, from 2 bits to 32 bits), then the
 output of modulation is written to a sink.dat as gr_complex. This file is
 then fed to a demodulator which saves the output to a final.dat. I have
 attached important bits of the code which uses qpsk.dqpsk_mod/demod. I would
 greatly appreciate any advice.
 Also, could anyone please confirm that what I can achieve a --PI/4--DQPSK
 using the dqpsk_mod?

 Best Regards,

 Vahid
 ---
 Modulator:

 .
 .
 .
        sample_rate = options.sample_rate
        symbol_rate = 18000
        sps = 2

    IN = gr.file_source(gr.sizeof_gr_complex, options.input_file, repeat =
 False)
    #IN = (1,0,0,0,1,1,0,0)
    src = gr.vector_source_b (IN)
    MOD = digital.qpsk.dqpsk_mod( samples_per_symbol = sps,
                                 excess_bw=0.35,
                log=options.log, gray_coded=True,

                                 verbose=options.verbose)

    self.connect(src,MOD)
        OUT = gr.file_sink(gr.sizeof_gr_complex, options.output_file)

    self.sink1 = gr.vector_sink_f()
    self.sink2 = gr.vector_sink_f()

    real = gr.complex_to_real()
    imag = gr.complex_to_imag()
    self.connect(MOD,real)
    self.connect(MOD,imag)

    self.connect(real,self.sink1)
    self.connect(imag,self.sink2)
    self.connect(MOD,OUT)
    def print_data(self):
    print data in sink1 is: ,self.sink1.data()
    print data in sink2 is: ,self.sink2.data()
 .
 .
 .
 -
 Demodulator:


 sample_rate = options.sample_rate
        symbol_rate = 18000
        sps = 2
       # output rate will be 36,000
        ntaps = 11 * sps
        new_sample_rate = symbol_rate * sps

        channel_taps = gr.firdes.low_pass(1.0, sample_rate,
 options.low_pass, options.low_pass * 0.1, gr.firdes.WIN_HANN)

        FILTER = gr.freq_xlating_fir_filter_ccf(1, channel_taps,
 options.calibration, sample_rate)
    IN = gr.file_source(gr.sizeof_gr_complex, options.input_file)
    #IN = (1,1,0,1,1,1,0,0)
    #src = gr.vector_source_b (IN)
    DEMOD = digital.qpsk.dqpsk_demod( samples_per_symbol = sps,
                                 excess_bw=0.35, gray_coded=True,
                log=options.log,

                                 verbose=options.verbose)


    OUT = gr.file_sink(gr.sizeof_char, options.output_file)

    self.sink1 = gr.vector_sink_b()

        r = float(sample_rate) / float(new_sample_rate)

        INTERPOLATOR = gr.fractional_interpolator_cc(0, r)

        self.connect(IN, FILTER, INTERPOLATOR, DEMOD, OUT)
    self.connect(DEMOD,self.sink1)
    def print_data(self):
    print data in sink1 is: ,self.sink1.data()


 --
 View this message in context: 
 http://old.nabble.com/Question-on-DQPSK-Modulation---issue-with-output-tp33950307p33950307.html
 Sent from the GnuRadio mailing list archive at Nabble.com.


 ___
 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] Question on DQPSK Modulation - issue with output

2012-06-03 Thread Ben Reynwar
On Sun, Jun 3, 2012 at 4:31 PM, Ben Reynwar b...@reynwar.net wrote:
 Hi Vahid,

 First I'd try using a much longer string of bits and see if that help.

 Second I'd find an example in gnuradio
 (gr-digital/python/qa_constellation.py should have a working dqpsk
 test) and then work from there.

 Thirdly if you want pi/4-dqpsk you won't be able to use the standard
 dqpsk_mod and dqpsk_demod, but will need to define a two-dimensional
 constellation and use the generic_mod and generic_demod blocks.  The
 two-dimensional constellation would be defined something like:

 normal_qpsk_points = [blah, blah, blah, blah]
 rotated_qpsk_points = [blah, blah, blah, blah]
 two_d_points = []
 for p in normal_qpsk_points:
    for q in rotated_qpsk_points:
        two_d_points += [p, q]
 pi4dqpsk_constellation = digital.constellation_calcdist(two_d_points, [], 4, 
 2)

Just checked the code and it looks like multi-dimensional
constellations aren't supported yet by generic_mod and generic_demod.
Another way might be to edit digital.constellation_receiver_cb so that
it shifts the phase back and forth by pi/4.


 Cheers,
 Ben

 On Sat, Jun 2, 2012 at 4:20 PM, Vahid Behzadan vbehza...@yahoo.com wrote:

 Dear all,

 I am currently trying to implement a pi/4 dqpsk modulator and demodulator. I
 have tried two approaches, one uses the CQPSK.py (included in osmocom's
 TETRA project) and the other uses digital.qpsk.dqpsk_mod. Both of these
 approaches have failed to return the same string of bits after the process
 of modulations-demodulation. The input comes from a .dat file and is a
 string of bits (tried different sizes, from 2 bits to 32 bits), then the
 output of modulation is written to a sink.dat as gr_complex. This file is
 then fed to a demodulator which saves the output to a final.dat. I have
 attached important bits of the code which uses qpsk.dqpsk_mod/demod. I would
 greatly appreciate any advice.
 Also, could anyone please confirm that what I can achieve a --PI/4--DQPSK
 using the dqpsk_mod?

 Best Regards,

 Vahid
 ---
 Modulator:

 .
 .
 .
        sample_rate = options.sample_rate
        symbol_rate = 18000
        sps = 2

    IN = gr.file_source(gr.sizeof_gr_complex, options.input_file, repeat =
 False)
    #IN = (1,0,0,0,1,1,0,0)
    src = gr.vector_source_b (IN)
    MOD = digital.qpsk.dqpsk_mod( samples_per_symbol = sps,
                                 excess_bw=0.35,
                log=options.log, gray_coded=True,

                                 verbose=options.verbose)

    self.connect(src,MOD)
        OUT = gr.file_sink(gr.sizeof_gr_complex, options.output_file)

    self.sink1 = gr.vector_sink_f()
    self.sink2 = gr.vector_sink_f()

    real = gr.complex_to_real()
    imag = gr.complex_to_imag()
    self.connect(MOD,real)
    self.connect(MOD,imag)

    self.connect(real,self.sink1)
    self.connect(imag,self.sink2)
    self.connect(MOD,OUT)
    def print_data(self):
    print data in sink1 is: ,self.sink1.data()
    print data in sink2 is: ,self.sink2.data()
 .
 .
 .
 -
 Demodulator:


 sample_rate = options.sample_rate
        symbol_rate = 18000
        sps = 2
       # output rate will be 36,000
        ntaps = 11 * sps
        new_sample_rate = symbol_rate * sps

        channel_taps = gr.firdes.low_pass(1.0, sample_rate,
 options.low_pass, options.low_pass * 0.1, gr.firdes.WIN_HANN)

        FILTER = gr.freq_xlating_fir_filter_ccf(1, channel_taps,
 options.calibration, sample_rate)
    IN = gr.file_source(gr.sizeof_gr_complex, options.input_file)
    #IN = (1,1,0,1,1,1,0,0)
    #src = gr.vector_source_b (IN)
    DEMOD = digital.qpsk.dqpsk_demod( samples_per_symbol = sps,
                                 excess_bw=0.35, gray_coded=True,
                log=options.log,

                                 verbose=options.verbose)


    OUT = gr.file_sink(gr.sizeof_char, options.output_file)

    self.sink1 = gr.vector_sink_b()

        r = float(sample_rate) / float(new_sample_rate)

        INTERPOLATOR = gr.fractional_interpolator_cc(0, r)

        self.connect(IN, FILTER, INTERPOLATOR, DEMOD, OUT)
    self.connect(DEMOD,self.sink1)
    def print_data(self):
    print data in sink1 is: ,self.sink1.data()


 --
 View this message in context: 
 http://old.nabble.com/Question-on-DQPSK-Modulation---issue-with-output-tp33950307p33950307.html
 Sent from the GnuRadio mailing list archive at Nabble.com.


 ___
 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] QAM Mod and QAM Demod block in GRC

2012-05-31 Thread Ben Reynwar
These blocks are implemented in python.
Have a look at the following two files to start off with:
  gnuradio/gr-digital/python/qam.py
  gnuradio/gr-digital/python/generic_mod_demod.py

Ben

On Wed, May 30, 2012 at 11:41 PM, jiajue ou azalea.a...@yahoo.com.cn wrote:
 Hi all,



 I’m working on an experiment which needs to modify qam modulation block in
 gnuradio. But I cannot find the source C++ file the qam blocks use. e.g.,
 OFDM demod block uses digital_ofdm_frame_sink in
 gnuradiobuild/gnuradio/gr-digital/lib. What about qam blocks?

 Thank you for your help!



 Best,

 jia


 ___
 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] file sink issue

2012-05-23 Thread Ben Reynwar
It depends what you mean by readable format.  If you just want to get
an idea of the values and the file isn't to big then do:

from gnuradio import gr
src = gr.file_source(1, the_file_name)
snk = gr.vector_sink_b()
tb = gr.top_block()
tb.connect(src, snk)
tb.run()
# The bytes will be presented as a list of integers in python.
data = snk.data()
print(data)

On Tue, May 22, 2012 at 9:47 PM, ambily joseph josephamb...@gmail.com wrote:
 Sir
  My file sink input type in 'bytes'...Smthng being written to that
 folder..nd size of that file is increasing,,but when i try to open it its
 octet-stream file...How can i make into a readable format?


 On Mon, May 21, 2012 at 7:44 PM, Ben Reynwar b...@reynwar.net wrote:

 On Mon, May 21, 2012 at 12:19 AM, ambily joseph josephamb...@gmail.com
 wrote:
  Sir
 
  I am trying to build an SID SDR receiver,,where i require a file sink...
  When i run my flow graph,,i get a file of format octet-stream being
  written
  into my computer.
  But i am not able to access or open my dat octet-stream file.
  Sir may i know how can i access the data being written into it?
 
  Thank you
 
  ___
  Discuss-gnuradio mailing list
  Discuss-gnuradio@gnu.org
  https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
 
 The file sink is just a dump of the data stream. If the data stream
 content was simple bytes then the content of the file is
 straightforward. If the data stream contained complex numbers then the
 file will contain a list of complex numbers where each complex number
 is given by two floats and each float by (usually) 4 bytes.

 See the files gnuradio/gnuradio-core/src/lib/io/gr_file_sink.cc and
 gr_file_source.cc for the implementations of the gnuradio file reading
 and writing blocks.

 You could also use python and gnuradio to convert the files into some
 other format.

 from gnuradio import gr
 # Assuming the data stream was complex numbers.
 src = gr.file_source(gr.sizeof_gr_complex, the_file_name)
 snk = gr.vector_sink_c()
 tb = gr.top_block()
 tb.connect(src, snk)
 tb.run()
 # The complex numbers are then accessible as a python list.
 data = snk.data()

 Ben



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


Re: [Discuss-gnuradio] file sink issue

2012-05-21 Thread Ben Reynwar
On Mon, May 21, 2012 at 12:19 AM, ambily joseph josephamb...@gmail.com wrote:
 Sir

 I am trying to build an SID SDR receiver,,where i require a file sink...
 When i run my flow graph,,i get a file of format octet-stream being written
 into my computer.
 But i am not able to access or open my dat octet-stream file.
 Sir may i know how can i access the data being written into it?

 Thank you

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

The file sink is just a dump of the data stream. If the data stream
content was simple bytes then the content of the file is
straightforward. If the data stream contained complex numbers then the
file will contain a list of complex numbers where each complex number
is given by two floats and each float by (usually) 4 bytes.

See the files gnuradio/gnuradio-core/src/lib/io/gr_file_sink.cc and
gr_file_source.cc for the implementations of the gnuradio file reading
and writing blocks.

You could also use python and gnuradio to convert the files into some
other format.

from gnuradio import gr
# Assuming the data stream was complex numbers.
src = gr.file_source(gr.sizeof_gr_complex, the_file_name)
snk = gr.vector_sink_c()
tb = gr.top_block()
tb.connect(src, snk)
tb.run()
# The complex numbers are then accessible as a python list.
data = snk.data()

Ben

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


Re: [Discuss-gnuradio] make test failure at qa_constellation_receiver

2012-04-14 Thread Ben Reynwar
It appears that each test case is being run twice.  I think once to
generate the xml output, and once to generate output for stdout and
tell you whether it failed.  The random number generator isn't being
reseeded at the start of each test so they can produce different
results, so you can sometimes see debug statements that indicate it
should fail, but the output to stdout claims that is passes.  I've
attached a patch that make each test use it's own random number
generating object which seems a tidier way to do this, and makes the
tests repeatable.

Since there seem to be a fair number of choices of seed that produce
an error fraction of over 0.2, I've also increased the acceptable
error rate in the test to 0.3, as Alick initially suggested.

On Sat, Apr 14, 2012 at 9:39 AM, Alick Zhao alick9...@gmail.com wrote:
 On Sat, 14 Apr 2012 13:40:35 +0200, Martin Braun wrote:
 On Sat, Apr 14, 2012 at 05:20:13PM +0800, Alick Zhao wrote:
 Yes the bug still occurs.

 I just wrote a simple script to ran the test for 50 times on T60 with
 Ubuntu, GNU Radio 3.5.3 equipped, before and after FREQUENCY_OFFSET set
 to 0. All failed the test. (n_pass is 0/50 in both sets) Every test's
 output is almost identical in each set except particular test time
 length. The ones before FREQUENCY_OFFSET change is basically the same as
 test.t60.log already attached. One of the ones with FREQUENCY_OFFSET set
 to 0 is attached below. I guess the almost same contents of output is
 due to fixed random seed.

 I also ran the script on a Dell desktop with Fedora, and the result is
 50/50 pass the test. Then I notice one line in the qa python file says
 that seed 1234 fails. However, 50/50 are OK with seed 1234 on the Dell
 desktop.

 So,

 I tried this on a native 32-Bit Ubuntu 11.10, and it fails (tells me
 it's using Volk machine: sse3_32.

 I also noticed the line that says seed=1234 fails. Also, the seed is set
 multiple times in the script. If this is the source of the bug or not,
 it should be fixed, because the seed is reset somewhere in the guts of
 the test. I'll post a patch on patch-gnuradio--this eliminates the
 problem on my machine, for some reason. If it does the same for you,
 this might actually be the solution.

 MB



 I applied the patch and tested it. No failure, yeah!

 However, with my debugging line, I can see this:

 [...]
 constellation: constellation psk (m=32)  differential: True  correct:
 0.942307692308
 constellation: constellation psk (m=64)  differential: True  correct:
 0.772435897436
 constellation: constellation psk (m=2)  differential: True  correct: 1.0
 [...]

 So why 0.77XXX on the second line does not cause the assert to fail?

 alick

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


0001-Improving-qa_constellation_receiver.patch
Description: Binary data
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] make test failure at qa_constellation_receiver

2012-04-13 Thread Ben Reynwar
2012/4/12 Alick Zhao alick9...@gmail.com:
 Hi all,

 Recently I have upgraded my gnuradio build to v3.5.3 on several
 computers, and I find that on two machines with Ubuntu 11.10, make test
 will fail the test qa_constellation_receiver while on the other two with
 Fedora 16 all tests are passed.

 To investigate the problem, I add one line in the file
 `gr-digital/python/qa_constellation_receiver.py` which just print the
 value of constellation, differential, and correct before the assert.
 Then I run the script
 `build/gr-digital/python/qa_constellation_receiver_test.sh`. The output
 is recorded and attached below. Among them:

 * test.t41.log is from a Thinkpad T41 with Ubuntu 11.10 32bit installed,
 * test.t60.log is from a Thinkpad T60 with Ubuntu 11.10 32bit installed,
 * test.f16.log is from a HP 6531s with Fedora 16 x86_64 installed.

 Hope these logs are helpful to diagnose the problem.

 PS: As a side note, my debugging line's output appears later than the
 result, which is not the case for screen output. I think this is
 probably related to stdout buffering.

 PS2: I once changed the REQ_CORRECT to 0.7 on one Ubuntu machine,
 and then made the test passed. I wonder if it is a valid fix.

 alick

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


Weird.  This test is probabilistic (not ideal really) but the chance
of it failing due to chance should be very small.  If it's
consistently failing on one machine but not another then there's
something fishy going on, and lowering REQ_CORRECT, while making the
test pass, wouldn't help finding what's causing the problem.

First thing I'd do would be to repeat the test a bunch of times and
confirm you're getting a consistently higher BER on one computer than
another.  Then I'd do a complete uninstall and reinstall of gnuradio
on a computer having the issue.  If the problem is still there then
it's probably going to be an unpleasant bug to find.

Has anybody else seen this?

Cheers,
Ben

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


Re: [Discuss-gnuradio] make test failure at qa_constellation_receiver

2012-04-13 Thread Ben Reynwar
2012/4/12 Alick Zhao alick9...@gmail.com:
 Hi all,

 Recently I have upgraded my gnuradio build to v3.5.3 on several
 computers, and I find that on two machines with Ubuntu 11.10, make test
 will fail the test qa_constellation_receiver while on the other two with
 Fedora 16 all tests are passed.

 To investigate the problem, I add one line in the file
 `gr-digital/python/qa_constellation_receiver.py` which just print the
 value of constellation, differential, and correct before the assert.
 Then I run the script
 `build/gr-digital/python/qa_constellation_receiver_test.sh`. The output
 is recorded and attached below. Among them:

 * test.t41.log is from a Thinkpad T41 with Ubuntu 11.10 32bit installed,
 * test.t60.log is from a Thinkpad T60 with Ubuntu 11.10 32bit installed,
 * test.f16.log is from a HP 6531s with Fedora 16 x86_64 installed.

 Hope these logs are helpful to diagnose the problem.

 PS: As a side note, my debugging line's output appears later than the
 result, which is not the case for screen output. I think this is
 probably related to stdout buffering.

 PS2: I once changed the REQ_CORRECT to 0.7 on one Ubuntu machine,
 and then made the test passed. I wonder if it is a valid fix.

 alick

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


It sounds like this is definitely a bug, but it's hard for me to track
it down because I can't replicate it.  Does the bug still occur if you
set FREQUENCY_OFFSET = 0 in the test case?

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


Re: [Discuss-gnuradio] Modifying C++ Files

2012-04-11 Thread Ben Reynwar
On Wed, Apr 11, 2012 at 3:29 PM, Samuel Ibarra sibar...@ucr.edu wrote:
 Hello Ben,

 Thank you for your help. I was able to get the result I wanted with the line
 of code you suggested. I was changing d_constellation[0] = gr_complex(-1,0)
 to d_constellation[0]= gr_complex(0,0). In order to demodulate my signal, I
 should be able to make the same change in the demodulator part of the code,
 correct?

Yes.

On the off chance that you decide you want to edit the
digital_constellation.cc file (rather than using the generic
constellation_calcdist)  make sure that you also edit the
decision_maker method.

 Thank you very much for your help and time.

 Thanks
 Sam

 On Tue, Apr 10, 2012 at 7:09 PM, Ben Reynwar b...@reynwar.net wrote:

 Hi Sam,

 In bpsk.py you'll see the line

 constellation = digital_swig.constellation_bpsk()

 If you change this to:

 constellation = digital.constellation_calcdist((1+0i, 0+0i), [], 1, 1)

 , you should get the change in modulation you want.

 You only need to mess with the digital_constellation.cc file if you
 want to implement an efficient non-generic
 decision maker for this modulation.

 To know why what you're doing isn't working, I'd need to know what
 modifications you're making to the .cc file.  It sounds like you're
 doing everything right.

 Cheers,
 Ben

 On Tue, Apr 10, 2012 at 11:34 AM, sibar002 sibar...@ucr.edu wrote:
 
  Hello,
 
  I am attempting to modify the bpsk.py file in order to obtain OOK
  modulation. I would like to change my constellation points to 1+0i and
  0+0i.
  I understand that the digital_costellation.cc file is being used to set
  these parameters. I have tried to modify the digitial_constellation.cc
  file
  in the gr-digital folder, but I am not able to see any changes. I have
  made
  sure that I make and make install every time I change the file. I was
  hoping
  someone could tell me what I am doing wrong. I would greatly appreciate
  any
  help or advice that anyone could give me. Thank you for your time and
  help.
 
  Sam
 
  --
  View this message in context:
  http://old.nabble.com/Modifying-C%2B%2B-Files-tp33663518p33663518.html
  Sent from the GnuRadio mailing list archive at Nabble.com.
 
 
  ___
  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] Modifying C++ Files

2012-04-10 Thread Ben Reynwar
Hi Sam,

In bpsk.py you'll see the line

constellation = digital_swig.constellation_bpsk()

If you change this to:

constellation = digital.constellation_calcdist((1+0i, 0+0i), [], 1, 1)

, you should get the change in modulation you want.

You only need to mess with the digital_constellation.cc file if you
want to implement an efficient non-generic
decision maker for this modulation.

To know why what you're doing isn't working, I'd need to know what
modifications you're making to the .cc file.  It sounds like you're
doing everything right.

Cheers,
Ben

On Tue, Apr 10, 2012 at 11:34 AM, sibar002 sibar...@ucr.edu wrote:

 Hello,

 I am attempting to modify the bpsk.py file in order to obtain OOK
 modulation. I would like to change my constellation points to 1+0i and 0+0i.
 I understand that the digital_costellation.cc file is being used to set
 these parameters. I have tried to modify the digitial_constellation.cc file
 in the gr-digital folder, but I am not able to see any changes. I have made
 sure that I make and make install every time I change the file. I was hoping
 someone could tell me what I am doing wrong. I would greatly appreciate any
 help or advice that anyone could give me. Thank you for your time and help.

 Sam

 --
 View this message in context: 
 http://old.nabble.com/Modifying-C%2B%2B-Files-tp33663518p33663518.html
 Sent from the GnuRadio mailing list archive at Nabble.com.


 ___
 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] Problem with USRP!

2012-04-08 Thread Ben Reynwar
For the vector source it looks like you're using [1,1,1,0,0,0].
Perhaps the rest is getting cut-off, but if not then I would change
this to use a long random vector for the testing.  If you are using
[1,1,1,0,0,0] repeated then the four symbols won't be used with
similar frequency, which might make things more difficult.

Also the differential encoding and decoding should be taken care of
within the DPSK mod and demod blocks, so that should be OK.

On Sun, Apr 8, 2012 at 2:25 PM, huzaifazafar108
huzaifazafar...@gmail.com wrote:

 We just removed the throttle blocks and the same problem remains. Please let
 us know how to achieve symbol synchronization.



 huzaifazafar108 wrote:

 Dear John,

 Thank you for such a prompt reply. Okay, we will remove the throttle
 blocks just now. But can you guide us how to achieve symbol
 synchronization then?

 Best Regards,
 Huzaifa



 John Malsbury wrote:

 You do not need to use throttles when using a UHD sink/source, because
 the device provides timing for the flowgraph.

 Remove the throttles and try again.  If you still see the failure I'd
 say you are not achieving symbol sync.

 -John



 On 04/08/2012 01:58 PM, Huzaifa Zafar wrote:
 Dear all,

 I am working with 3 people on a project involving GNU Radio and USRP1.
 We have tried to implement a simple point to point digital
 communication system in GRC involving DQPSK modulation. Using a vector
 source we are sending a finite stream of zeros and ones (the vector
 source has Repeat set to yes). On the receiver side, what we receive
 is really very strange: The same stream of zeros and ones, but with
 extra zeros in between our actual data. For example, we send three
 ones and three zeros, but what we receive is a one followed by seven
 zeros, another one followed by seven zeros, another one followed by
 seven zeros, and then a zero followed by seven zeros e.t.c. We tried
 to experiment more by using the 'KEEP 1 in N' block and the
 'DECIMATING FIR FILTER', but things are not working out the way they
 should.

 I am also attaching a snapshot of the .grc file for your reference.
 Please tell us the reason why these extra zeros are present between
 our data bits, and the way to combat this effect (remember that the
 decimating fir filter and keep 1 in N block are not showing the
 desired output). Any kind of help is appreciated in advance.

 --
 Huzaifa Zafar


 ___
 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




 --
 View this message in context: 
 http://old.nabble.com/Problem-with-USRP%21-tp33653047p33653150.html
 Sent from the GnuRadio mailing list archive at Nabble.com.


 ___
 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] Pack k bits?

2012-04-01 Thread Ben Reynwar
So I'll add a bit more detail, and bump the thread because I don't
understand this either.

If we apply the following unpackings to a byte of value 69 we get:

gr.packed_to_unpacked_bb(1, gr.GR_LSB_FIRST)  - (1, 0, 1, 0, 0, 0, 1, 0)
gr.packed_to_unpacked_bb(1, gr.GR_MSB_FIRST) - (0, 1, 0, 0, 0, 1, 0, 1)
gr.packed_to_unpacked_bb(2, gr.GR_LSB_FIRST) - (2, 2, 0, 2)
gr.packed_to_unpacked_bb(2, gr.GR_MSB_FIRST) - (1, 0, 1, 1)

packed_to_unpacked and unpacked_to_packed are consistent with one another.

On Fri, Mar 30, 2012 at 1:33 PM, Nowlan, Sean
sean.now...@gtri.gatech.edu wrote:
 Any comment on this? I think the current implementation of
 gr_packed_to_unpacked_bb(int k, gr_endianness_t endianness) puts bits in an
 incorrect order when k  1 and endianness = gr.GR_LSB_FIRST.



 From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org
 [mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On
 Behalf Of Nowlan, Sean
 Sent: Wednesday, March 28, 2012 9:26 AM
 To: discuss-gnuradio@gnu.org
 Subject: Re: [Discuss-gnuradio] Pack k bits?



 I think it would work if I modified
 gnuradio/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t (line
 119) to the following:



 x = (x1) | (get_bit_le(in, index_tmp)  (d_bits_per_chunk - 1) );



 -OR-



 x |= get_bit_le(in, index_tmp)  j;



 I haven’t tested, but I think these are functionally equivalent. Does this
 change sound reasonable?



 -- Sean



 From: discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org
 [mailto:discuss-gnuradio-bounces+sean.nowlan=gtri.gatech@gnu.org] On
 Behalf Of Nowlan, Sean
 Sent: Wednesday, March 28, 2012 8:49 AM
 To: discuss-gnuradio@gnu.org
 Subject: [Discuss-gnuradio] Pack k bits?



 I want to take an input stream of bytes in which only one LSB is relevant
 (e.g., the output of the GR GLFSR block) and pack these bits into bytes with
 k relevant bits. For example, I’d like to take a stream of raw bits
 generated by the GLFSR and feed them to an M-PSK modulator, which requires
 chunks with k=log2(M) bits. Unfortunately I haven’t found this to be
 straightforward. There is no “pack_k_bits” module that I could find, so I
 tried using  unpacked_to_packed_bb and packed_to_unpacked_bb. They are not
 working like I would expect. For instance, here’s an example in Python:



 …

 data = [1,0,1,0, 0,0,1,0, 1,1,1,0, 0,1,1,0]    #
 45 67

 self.source = gr.vector_source_b(data, False, 1)

 self.pack = gr.unpacked_to_packed_bb(1, gr.GR_LSB_FIRST)

 self.unpack = gr.packed_to_unpacked_bb(2, gr.GR_LSB_FIRST)  # stuff 2
 bits into LSB of each output byte

 self.head = gr.head(gr.sizeof_char, 8)  # should
 have 16/2 = 8 output bytes

 self.sink = gr.file_sink(gr.sizeof_char, “out.bin”)

 self.connect(self.source, self.pack, self.unpack, self.head, self.sink)

 …



 This gives the following:

 $ hexdump -C out.bin

 000  02 02 00 02 03 02 01 02   |……..|

 008



 But I would expect the following:

 000  01 01 00 01 03 01 02 01   |……..|

 008



 Notice that the two least significant bits are in reverse order. Any clue
 what’s going on here?



 Thanks,

 Sean


 ___
 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] Looking for working hello world example for function probe with signal probe

2012-03-28 Thread Ben Reynwar
On Wed, Mar 28, 2012 at 6:04 AM, mario behn mario.b...@gmail.com wrote:
 Hi,

 I'm looking for a working hello world example for using
 function probe with signal probe in gnuradio companion.

 I can't get it to work with the existing documentation found.

 Thanks for any input.

 Mario

In the Function Probe block you want:
Block ID: whatever the ID of your Probe Signal block is.
Function Name: level



 ___
 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] Building new blocks in Gnu Radio

2012-03-27 Thread Ben Reynwar
On Mon, Mar 26, 2012 at 12:54 PM, Ben Reynwar b...@reynwar.net wrote:
 On Mon, Mar 26, 2012 at 10:42 AM, Francisco
 francisco_pais...@hotmail.com wrote:
 Ben Reynwar ben at reynwar.net writes:


 I think that the best way to get started is to use Martins gr-modtool.
  It will help you to make out-of-tree blocks (out-of-tree means
 separate but compatible with your main gnuradio installation).

 It can be found at:
 https://github.com/mbant/gr-modtool

 On Mon, Mar 26, 2012 at 2:58 AM, Ebtisam Ahmed ebtisamahmed90 at 
 gmail.com
 wrote:
  Indeed i have read but i cant understand the building process. I built
  it the i understood but it failed terribly, i have made .h .cc .i and
  makefile.am. Put them in one folder and then done make. i also tried
  ./configure and ./bootstrap but it doesnt work
 
  Anyways thanx for ur time and help me on this
 
  Regards,
  Ebtisam
 
  ___
  Discuss-gnuradio mailing list
  Discuss-gnuradio at gnu.org
  https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


 Hi all,

 I've decided to follow your suggestion and get gr_modtool.py.

 First I created the module with this script which created some folders, files
 and the .cc and .h files with skeleton code.

 Then I put my code in the .cc and .h files. I also changed the .xml file so I
 can use GRC (I haven't used python yet to create graphs).

 After this, I used cmake. I wrote:
cmake -i
sudo make
sudo make install
sudo ldconfig

 These were my steps to build a new block to use in GRC. However, I get this
 error:

 ImportError: /usr/local/lib/python2.7/dist-
 packages/mycoolstuff/_mycoolstuff_swig.so: undefined symbol:
 _Z38mycoolstuff_make_decimated_average_vccifi

 Yes. My module and block are called mycoolstuff and decimated_average_vcc.cc

 It seems that there is a problem with the swig. Do I have to configure 
 anything
 in the .i files before starting to use cmake?

 Regards,
 Francisco


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

 It looks like there is currently a bug in gr-modtool where when you
 generate a new block it gets the module and block name wrong way
 round.

There's no bug.  I'm just incompetent.

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


Re: [Discuss-gnuradio] Building new blocks in Gnu Radio

2012-03-27 Thread Ben Reynwar
On Mon, Mar 26, 2012 at 10:42 AM, Francisco
francisco_pais...@hotmail.com wrote:
 Ben Reynwar ben at reynwar.net writes:


 I think that the best way to get started is to use Martins gr-modtool.
  It will help you to make out-of-tree blocks (out-of-tree means
 separate but compatible with your main gnuradio installation).

 It can be found at:
 https://github.com/mbant/gr-modtool

 On Mon, Mar 26, 2012 at 2:58 AM, Ebtisam Ahmed ebtisamahmed90 at 
 gmail.com
 wrote:
  Indeed i have read but i cant understand the building process. I built
  it the i understood but it failed terribly, i have made .h .cc .i and
  makefile.am. Put them in one folder and then done make. i also tried
  ./configure and ./bootstrap but it doesnt work
 
  Anyways thanx for ur time and help me on this
 
  Regards,
  Ebtisam
 
  ___
  Discuss-gnuradio mailing list
  Discuss-gnuradio at gnu.org
  https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


 Hi all,

 I've decided to follow your suggestion and get gr_modtool.py.

 First I created the module with this script which created some folders, files
 and the .cc and .h files with skeleton code.

 Then I put my code in the .cc and .h files. I also changed the .xml file so I
 can use GRC (I haven't used python yet to create graphs).

 After this, I used cmake. I wrote:
cmake -i
sudo make
sudo make install
sudo ldconfig

 These were my steps to build a new block to use in GRC. However, I get this
 error:

 ImportError: /usr/local/lib/python2.7/dist-
 packages/mycoolstuff/_mycoolstuff_swig.so: undefined symbol:
 _Z38mycoolstuff_make_decimated_average_vccifi

 Yes. My module and block are called mycoolstuff and decimated_average_vcc.cc

 It seems that there is a problem with the swig. Do I have to configure 
 anything
 in the .i files before starting to use cmake?


The only thing that 'must' be edited are the gr_make_io_signature
arguments in the .cc file, although without editing the work function
you won't get much signal processing going on.
All the swig stuff should be taken care of by gr-modtool.

You can test whether it's working in python by doing:
from mycoolstuff import decimated_average_vcc
that way you can get it working without worrying about the grc stuff.

 Regards,
 Francisco


 ___
 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] Building new blocks in Gnu Radio

2012-03-26 Thread Ben Reynwar
I think that the best way to get started is to use Martins gr-modtool.
 It will help you to make out-of-tree blocks (out-of-tree means
separate but compatible with your main gnuradio installation).

It can be found at:
https://github.com/mbant/gr-modtool

On Mon, Mar 26, 2012 at 2:58 AM, Ebtisam Ahmed ebtisamahme...@gmail.com wrote:
 Indeed i have read but i cant understand the building process. I built
 it the i understood but it failed terribly, i have made .h .cc .i and
 makefile.am. Put them in one folder and then done make. i also tried
 ./configure and ./bootstrap but it doesnt work

 Anyways thanx for ur time and help me on this

 Regards,
 Ebtisam

 ___
 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] Building new blocks in Gnu Radio

2012-03-26 Thread Ben Reynwar
On Mon, Mar 26, 2012 at 10:42 AM, Francisco
francisco_pais...@hotmail.com wrote:
 Ben Reynwar ben at reynwar.net writes:


 I think that the best way to get started is to use Martins gr-modtool.
  It will help you to make out-of-tree blocks (out-of-tree means
 separate but compatible with your main gnuradio installation).

 It can be found at:
 https://github.com/mbant/gr-modtool

 On Mon, Mar 26, 2012 at 2:58 AM, Ebtisam Ahmed ebtisamahmed90 at 
 gmail.com
 wrote:
  Indeed i have read but i cant understand the building process. I built
  it the i understood but it failed terribly, i have made .h .cc .i and
  makefile.am. Put them in one folder and then done make. i also tried
  ./configure and ./bootstrap but it doesnt work
 
  Anyways thanx for ur time and help me on this
 
  Regards,
  Ebtisam
 
  ___
  Discuss-gnuradio mailing list
  Discuss-gnuradio at gnu.org
  https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


 Hi all,

 I've decided to follow your suggestion and get gr_modtool.py.

 First I created the module with this script which created some folders, files
 and the .cc and .h files with skeleton code.

 Then I put my code in the .cc and .h files. I also changed the .xml file so I
 can use GRC (I haven't used python yet to create graphs).

 After this, I used cmake. I wrote:
cmake -i
sudo make
sudo make install
sudo ldconfig

 These were my steps to build a new block to use in GRC. However, I get this
 error:

 ImportError: /usr/local/lib/python2.7/dist-
 packages/mycoolstuff/_mycoolstuff_swig.so: undefined symbol:
 _Z38mycoolstuff_make_decimated_average_vccifi

 Yes. My module and block are called mycoolstuff and decimated_average_vcc.cc

 It seems that there is a problem with the swig. Do I have to configure 
 anything
 in the .i files before starting to use cmake?

 Regards,
 Francisco


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

It looks like there is currently a bug in gr-modtool where when you
generate a new block it gets the module and block name wrong way
round.

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


Re: [Discuss-gnuradio] usrp_nbfm_ptt.py Error: __init__() takes exactly 4 arguments (6 given)

2012-03-23 Thread Ben Reynwar
That sounds like the example is out-of-date.  It's calling some
function that expects a different number of arguments than it is
giving it.  If you included the entire error output then we could
better see what the problem was (i.e. which function is raising this
error).

Cheers,
Ben

On Fri, Mar 23, 2012 at 9:02 AM, mario behn mario.b...@gmail.com wrote:
 Hi,

 I'm trying to make usrp_nbfm_ptt.py to work with a N210 Rev.4. on
 Ubuntu 11.10 and with Gnuradio
 3.5.2.1

 After my normal system info (see below), however, I get following message:

 The debugged program raised the exception unhandled TypeError
 __init__() takes exactly 4 arguments (6 given)
 File: /home/usrp1/USRP/gnuradio/gr-uhd/examples/usrp_nbfm_ptt.py, Line: 81

 I wonder if anyone has seen this error and let me know what I'm doing wrong.

 With kind regards

 Mario Behn

 --

 linux; GNU C++ version 4.6.1; Boost_104601; UHD_003.004.000-325-g7e296167

 -- Opening a USRP2/N-Series device...
 -- Current recv frame size: 1472 bytes
 -- Current send frame size: 1472 bytes

 UHD Warning:
    The hardware does not support the requested TX sample rate:
    Target sample rate: 0.32 MSps
    Actual sample rate: 0.320513 MSps
 PCM name: pulse
 Access types:
    MMAP_INTERLEAVED     NO
    MMAP_NONINTERLEAVED  NO
    MMAP_COMPLEX         NO
    RW_INTERLEAVED       YES
    RW_NONINTERLEAVED    NO
 Formats:
    U8                   YES
    S16_LE               YES
    S16_BE               YES
    S32_LE               YES
    S32_BE               YES
    FLOAT_LE             YES
    FLOAT_BE             YES
    MU_LAW               YES
    A_LAW                YES
 Number of channels
    min channels: 1
    max channels: 32
    1 channels  YES
    2 channels  YES
    3 channels  YES
    4 channels  YES
    5 channels  YES
    6 channels  YES
    7 channels  YES
    8 channels  YES
    9 channels  YES
    10 channels YES
    11 channels YES
    12 channels YES
    13 channels YES
    14 channels YES
    15 channels YES
    16 channels YES
 Sample Rates:
    min rate:       1 (dir = 0)
    max rate:  192000 (dir = 0)
      8000  YES
     16000  YES
     22050  YES
     32000  YES
     44100  YES
     48000  YES
     96000  YES
    192000  YES
 audio_alsa_source[pulse]: using S32_LE
 Using Volk machine: avx_32
 gr_fir_fff: using SSE
 gr_fir_ccf: using SSE

 ___
 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] usrp_nbfm_ptt.py Error: __init__() takes exactly 4 arguments (6 given)

2012-03-23 Thread Ben Reynwar
On Fri, Mar 23, 2012 at 11:30 AM, mario behn mario.b...@gmail.com wrote:
 On Fri, Mar 23, 2012 at 5:50 PM, Ben Reynwar b...@reynwar.net wrote:
 That sounds like the example is out-of-date.  It's calling some
 function that expects a different number of arguments than it is
 giving it.  If you included the entire error output then we could
 better see what the problem was (i.e. which function is raising this
 error).

 Cheers,
 Ben

 Hi Ben,

 thank you for your answer. I agree, here is the total text of the
 error, eric4 gives me:

 The debugged program raised the exception unhandled TypeError
 __init__() takes exactly 4 arguments (6 given)
 File: /home/usrp1/USRP/gnuradio/gr-uhd/examples/usrp_nbfm_ptt.py, Line: 81

 and highlights line 81 correspondingly:

 76     self.txpath = transmit_path(options.args, options.spec,
 77                                    options.antenna, options.tx_gain,
 78                                    options.audio_input)
 79     self.rxpath = receive_path(options.args, options.spec,
 80                                   options.antenna, options.rx_gain,
 81                                   options.audio_output)
 82      self.connect(self.txpath)
 83      self.connect(self.rxpath)

 and it is actually the file available here:

 http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/v3.5.3git/changes/gr-uhd/examples/usrp_nbfm_ptt.py

 Is there any quick fix I can apply?

 Cheers

 Mario Behn

Yep, there is an error in that file.  The receive_path defined on line
371 isn't compatible with the call to receive_path on line 79.
Perhaps try removing options.spec and options.antenna from the call,
but I'm just guessing, I haven't used this example before.

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


Re: [Discuss-gnuradio] usrp_nbfm_ptt.py Error: __init__() takes exactly 4 arguments (6 given)

2012-03-23 Thread Ben Reynwar
I'm pretty sure this will fix it.

replace line 372:

def __init__(self, args, gain, audio_output):

with

def __init__(self, args, spec, antenna, gain, audio_output):

On Fri, Mar 23, 2012 at 1:23 PM, Ben Reynwar b...@reynwar.net wrote:
 On Fri, Mar 23, 2012 at 11:30 AM, mario behn mario.b...@gmail.com wrote:
 On Fri, Mar 23, 2012 at 5:50 PM, Ben Reynwar b...@reynwar.net wrote:
 That sounds like the example is out-of-date.  It's calling some
 function that expects a different number of arguments than it is
 giving it.  If you included the entire error output then we could
 better see what the problem was (i.e. which function is raising this
 error).

 Cheers,
 Ben

 Hi Ben,

 thank you for your answer. I agree, here is the total text of the
 error, eric4 gives me:

 The debugged program raised the exception unhandled TypeError
 __init__() takes exactly 4 arguments (6 given)
 File: /home/usrp1/USRP/gnuradio/gr-uhd/examples/usrp_nbfm_ptt.py, Line: 81

 and highlights line 81 correspondingly:

 76     self.txpath = transmit_path(options.args, options.spec,
 77                                    options.antenna, options.tx_gain,
 78                                    options.audio_input)
 79     self.rxpath = receive_path(options.args, options.spec,
 80                                   options.antenna, options.rx_gain,
 81                                   options.audio_output)
 82      self.connect(self.txpath)
 83      self.connect(self.rxpath)

 and it is actually the file available here:

 http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/v3.5.3git/changes/gr-uhd/examples/usrp_nbfm_ptt.py

 Is there any quick fix I can apply?

 Cheers

 Mario Behn

 Yep, there is an error in that file.  The receive_path defined on line
 371 isn't compatible with the call to receive_path on line 79.
 Perhaps try removing options.spec and options.antenna from the call,
 but I'm just guessing, I haven't used this example before.

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


[Discuss-gnuradio] segfault in volk_32fc_x2_multiply_32fc_a_sse3 using current master branch

2012-03-21 Thread Ben Reynwar
I'm seeing a segfault in volk_32fc_x2_multiply_32fc_a_sse3 and am
using the current master branch.

It occurs when I connect a gr.multiply_cc to a running flowgraph
(using tb.lock() and tb.unlock()).  If the multiply_cc block is
connected before the flowgraph starts running then I don't see a
segfault.

I have attached:
  - a minimal python script that reproduces the problem for me.
  - the output from gdb (backtrace and disassemble)

OS is 32 bit Ubuntu 11.04 beta.
cpu is Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz


minimal_segfault.py
Description: Binary data


gdb.log
Description: Binary data
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Help on blks2.ofdm_mod

2012-03-18 Thread Ben Reynwar
On Sat, Mar 17, 2012 at 12:21 AM, Ebtisam Ahmed
ebtisamahme...@gmail.com wrote:
 hi all,

 Im interested in making the ofdm program in python and im facing
 problem in the input arguements of the blks2.ofdm_mod. I tried to find
 that in the net but cant find it satisfactorily. can any one help me
 out in this.

 Thanx for ur time

 Regards,
 Ebtisam

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

Looking at the source code is currently the easiest solution.

If you know where the source code is and you're on a unix system you
could go to the source directory and do a:
grep -r ofdm_mod .
to try to find the file where it is defined.
This might even turn up some example files where the block is used.

If you don't where the source is, then you can find where the python
source is installed using python by:
 import gnuradio
 gnuradio.__file__

Finally, yes, it would be nice to be able to get this information
without diving into the source code, and we're working on that.

Cheers,
Ben

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


Re: [Discuss-gnuradio] how to rebuild the digital_swig for the modification of ofdm

2012-03-14 Thread Ben Reynwar
Depends on what exactly your trying to do:

1) modify existing blocks in gnuradio.digital.
2) add new blocks to gnuradio.digital
3) add new blocks out-of-tree

In the case of 1) you can just edit the files, recompile and reinstall.

In the case of 2) you need to edit some other files so the new blocks
are included.  For a purely cmake build a list of the files you'd have
to edit is:
gr-digital/swig/digital_swig.i, gr-digital/lib/CMakeLists.txt,
gr-digital/include/CMakeLists.txt, gr-digital/swig/CMakeLists.txt
(Disclaimer: I didn't test this so it's possible I left one out)

In the case of 3) you can use Martin's fabulous gr_modtool.

Cheers,
Ben



On Tue, Mar 13, 2012 at 10:54 PM, Alex Zhang cingular.a...@gmail.com wrote:
 Hi Gurus,

 I am modifying some c++ code over the current ofdm modulator and
 demodulator. My question is:

 As the all the sub C++ blocks of ofdm are combined together into the
 digital_swig, how can I re-generate these blocks? If I follow the guide of
 how_to_write_a_signal_process_block, I am expecting that only one of the
 block can be generated instead of combing it into the digital_swig module. I
 don't know how to update the digital_swig correctly.

 Does any friend has the clues?

 --

 Alex,
 Dreams can come true – just believe.


 ___
 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] Unhandled exception after upgrading gnuradio- backtrace included

2012-03-14 Thread Ben Reynwar
On Sat, Mar 10, 2012 at 5:38 AM, Tom Rondeau t...@trondeau.com wrote:
 On Sat, Mar 10, 2012 at 5:20 AM, MOHD RAFIQ mohd_rafiq...@yahoo.com wrote:

 Hi,
 pls suggest fix for this, i have attached my cat /proc/cpuinfo .
 Thanks


 I already did. To quote:

 Ok, I have a branch 'volk_32bit_fixes' published at:
 git://github.com/trondeau/gnuradio.git

 This should fix the fft_filter issue and another issue in one of the volk
 convert functions (that is not used in GNU Radio but was failing anyway).

 I'm still seeing the 32fc_x2_dot_product_32fc failure. It looks like this is
 in the SSE_32 proto-kernel. I'm seeing if we can get a quick fix for it.
 This is the same problem Martin was seeing. If we can't get a fix for it,
 I'm going to temporarily disable it until we get it fixed.

 Tom


 I have been waiting for people with 32-bit machines to try it out and report
 back before merging it.

 Tom

I also had this segfault issue.  With the fixed branch, it appears to
work fine again.



 
 From: MOHD RAFIQ mohd_rafiq...@yahoo.com
 To: discuss-gnuradio@gnu.org discuss-gnuradio@gnu.org
 Sent: Thursday, 8 March 2012 9:45 PM
 Subject: Re: [Discuss-gnuradio] Unhandled exception after upgrading
 gnuradio- backtrace included


 I apologise for not being clear, here is the backtrace

 [New Thread 0xb21feb70 (LWP 16921)]
 [Thread 0xb19fdb70 (LWP 16920) exited]
 [New Thread 0xb19fdb70 (LWP 16922)]
 [New Thread 0xb29ffb70 (LWP 16923)]
 [New Thread 0xb33ffb70 (LWP 16924)]
 [New Thread 0xb3dffb70 (LWP 16925)]
 [New Thread 0xb51ffb70 (LWP 16926)]
 [New Thread 0xb47ffb70 (LWP 16927)]
 [New Thread 0xb11fcb70 (LWP 16928)]
 [New Thread 0xb09fbb70 (LWP 16929)]
 [New Thread 0xb01fab70 (LWP 16930)]

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0xb29ffb70 (LWP 16923)]
 0x002fc4a0 in volk_32fc_x2_multiply_32fc_a_sse3 ()
    from /usr/local/lib/libvolk.so.0.0.0
 (gdb) bt
 #0  0x002fc4a0 in volk_32fc_x2_multiply_32fc_a_sse3 ()
    from /usr/local/lib/libvolk.so.0.0.0
 #1  0x002c25d2 in get_volk_32fc_x2_multiply_32fc_a ()
    from /usr/local/lib/libvolk.so.0.0.0
 #2  0x005125bf in gri_fft_filter_ccc_generic::filter(int,
 std::complexfloat const*, std::complexfloat*) ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #3  0x005196ff in gr_fft_filter_ccc::work(int, std::vectorvoid const*,
 std::allocatorvoid const* , std::vectorvoid*, std::allocatorvoid* )
 ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #4  0x004e537a in gr_sync_decimator::general_work(int, std::vectorint,
 std::allocatorint , std::vectorvoid const*, std::allocatorvoid const*
 , std::vectorvoid*, std::allocatorvoid* ) ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #5  0x004c983c in gr_block_executor::run_one_iteration() ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #6  0x004e7a7f in
 gr_tpb_thread_body::gr_tpb_thread_body(boost::shared_ptrgr_block, int) ()
 from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #7  0x004e2374 in
 boost::detail::function::void_function_obj_invoker0gruel::thread_body_wrappertpb_container,
 void::invoke(boost::detail::function::function_buffer) () from
 /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #8  0x006c8156 in boost::detail::thread_databoost::function0void
 ::run() ()
    from /usr/local/lib/libgruel-3.5.3git.so.0.0.0
 #9  0x0017444d in thread_proxy () from
 /usr/lib/libboost_thread-mt.so.1.46.0
 #10 0x4f94ca2e in start_thread () from /lib/libpthread.so.0
 #11 0x4f86689e in clone () from /lib/libc.so.6

 Thanks,
 rafiq


 
 From: Tom Rondeau t...@trondeau.com
 To: MOHD RAFIQ mohd_rafiq...@yahoo.com
 Cc: discuss-gnuradio@gnu.org discuss-gnuradio@gnu.org
 Sent: Thursday, 8 March 2012 8:51 PM
 Subject: Re: [Discuss-gnuradio] Unhandled exception after upgrading
 gnuradio

 On Thu, Mar 8, 2012 at 5:40 AM, MOHD RAFIQ mohd_rafiq...@yahoo.com
 wrote:

 Hi,
    I am using benchmark_tx.py and benchmark_rx.py in code to make WBX
 usrp2 as transceiver, this was running without error until I upgraded my
 gnuradio from 3.5.1 to current version
 v3.5.2-1-g57ad294b, when I run the same code now it gives a segmenatation
 fault(core dump), below are the /var/log/messages when seg. fault occurs

 Mar  8 15:29:10 MRAFIQ-NGN kernel: [75426.998302] python[12650] general
 protection ip:b2d4a0 sp:b51fee80 error:0 in libvolk.so.0.0.0[ae2000+be000]
 Mar  8 15:29:11 MRAFIQ-NGN abrt[12658]: saved core dump of pid 12635
 (/usr/bin/python) to
 /var/spool/abrt/ccpp-2012-03-08-15:29:10-12635.new/coredump (127561728
 bytes)
 Mar  8 15:29:11 MRAFIQ-NGN abrtd: Directory
 'ccpp-2012-03-08-15:29:10-12635' creation detected
 Mar  8 15:29:11 MRAFIQ-NGN abrtd: Interpreter crashed, but no packaged
 script detected: 'python algo-sink.py'
 Mar  8 15:29:11 MRAFIQ-NGN abrtd: Corrupted or bad dump
 /var/spool/abrt/ccpp-2012-03-08-15:29:10-12635 (res:2), deleting

 In the code this occurs at tb.start() inside 

Re: [Discuss-gnuradio] Unhandled exception after upgrading gnuradio- backtrace included

2012-03-14 Thread Ben Reynwar
On Wed, Mar 14, 2012 at 1:12 PM, Ben Reynwar b...@reynwar.net wrote:
 On Sat, Mar 10, 2012 at 5:38 AM, Tom Rondeau t...@trondeau.com wrote:
 On Sat, Mar 10, 2012 at 5:20 AM, MOHD RAFIQ mohd_rafiq...@yahoo.com wrote:

 Hi,
 pls suggest fix for this, i have attached my cat /proc/cpuinfo .
 Thanks


 I already did. To quote:

 Ok, I have a branch 'volk_32bit_fixes' published at:
 git://github.com/trondeau/gnuradio.git

 This should fix the fft_filter issue and another issue in one of the volk
 convert functions (that is not used in GNU Radio but was failing anyway).

 I'm still seeing the 32fc_x2_dot_product_32fc failure. It looks like this is
 in the SSE_32 proto-kernel. I'm seeing if we can get a quick fix for it.
 This is the same problem Martin was seeing. If we can't get a fix for it,
 I'm going to temporarily disable it until we get it fixed.

 Tom


 I have been waiting for people with 32-bit machines to try it out and report
 back before merging it.

 Tom

 I also had this segfault issue.  With the fixed branch, it appears to
 work fine again.
Forgot: cpu is Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz



 
 From: MOHD RAFIQ mohd_rafiq...@yahoo.com
 To: discuss-gnuradio@gnu.org discuss-gnuradio@gnu.org
 Sent: Thursday, 8 March 2012 9:45 PM
 Subject: Re: [Discuss-gnuradio] Unhandled exception after upgrading
 gnuradio- backtrace included


 I apologise for not being clear, here is the backtrace

 [New Thread 0xb21feb70 (LWP 16921)]
 [Thread 0xb19fdb70 (LWP 16920) exited]
 [New Thread 0xb19fdb70 (LWP 16922)]
 [New Thread 0xb29ffb70 (LWP 16923)]
 [New Thread 0xb33ffb70 (LWP 16924)]
 [New Thread 0xb3dffb70 (LWP 16925)]
 [New Thread 0xb51ffb70 (LWP 16926)]
 [New Thread 0xb47ffb70 (LWP 16927)]
 [New Thread 0xb11fcb70 (LWP 16928)]
 [New Thread 0xb09fbb70 (LWP 16929)]
 [New Thread 0xb01fab70 (LWP 16930)]

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0xb29ffb70 (LWP 16923)]
 0x002fc4a0 in volk_32fc_x2_multiply_32fc_a_sse3 ()
    from /usr/local/lib/libvolk.so.0.0.0
 (gdb) bt
 #0  0x002fc4a0 in volk_32fc_x2_multiply_32fc_a_sse3 ()
    from /usr/local/lib/libvolk.so.0.0.0
 #1  0x002c25d2 in get_volk_32fc_x2_multiply_32fc_a ()
    from /usr/local/lib/libvolk.so.0.0.0
 #2  0x005125bf in gri_fft_filter_ccc_generic::filter(int,
 std::complexfloat const*, std::complexfloat*) ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #3  0x005196ff in gr_fft_filter_ccc::work(int, std::vectorvoid const*,
 std::allocatorvoid const* , std::vectorvoid*, std::allocatorvoid* )
 ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #4  0x004e537a in gr_sync_decimator::general_work(int, std::vectorint,
 std::allocatorint , std::vectorvoid const*, std::allocatorvoid const*
 , std::vectorvoid*, std::allocatorvoid* ) ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #5  0x004c983c in gr_block_executor::run_one_iteration() ()
    from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #6  0x004e7a7f in
 gr_tpb_thread_body::gr_tpb_thread_body(boost::shared_ptrgr_block, int) ()
 from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #7  0x004e2374 in
 boost::detail::function::void_function_obj_invoker0gruel::thread_body_wrappertpb_container,
 void::invoke(boost::detail::function::function_buffer) () from
 /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
 #8  0x006c8156 in boost::detail::thread_databoost::function0void
 ::run() ()
    from /usr/local/lib/libgruel-3.5.3git.so.0.0.0
 #9  0x0017444d in thread_proxy () from
 /usr/lib/libboost_thread-mt.so.1.46.0
 #10 0x4f94ca2e in start_thread () from /lib/libpthread.so.0
 #11 0x4f86689e in clone () from /lib/libc.so.6

 Thanks,
 rafiq


 
 From: Tom Rondeau t...@trondeau.com
 To: MOHD RAFIQ mohd_rafiq...@yahoo.com
 Cc: discuss-gnuradio@gnu.org discuss-gnuradio@gnu.org
 Sent: Thursday, 8 March 2012 8:51 PM
 Subject: Re: [Discuss-gnuradio] Unhandled exception after upgrading
 gnuradio

 On Thu, Mar 8, 2012 at 5:40 AM, MOHD RAFIQ mohd_rafiq...@yahoo.com
 wrote:

 Hi,
    I am using benchmark_tx.py and benchmark_rx.py in code to make WBX
 usrp2 as transceiver, this was running without error until I upgraded my
 gnuradio from 3.5.1 to current version
 v3.5.2-1-g57ad294b, when I run the same code now it gives a segmenatation
 fault(core dump), below are the /var/log/messages when seg. fault occurs

 Mar  8 15:29:10 MRAFIQ-NGN kernel: [75426.998302] python[12650] general
 protection ip:b2d4a0 sp:b51fee80 error:0 in libvolk.so.0.0.0[ae2000+be000]
 Mar  8 15:29:11 MRAFIQ-NGN abrt[12658]: saved core dump of pid 12635
 (/usr/bin/python) to
 /var/spool/abrt/ccpp-2012-03-08-15:29:10-12635.new/coredump (127561728
 bytes)
 Mar  8 15:29:11 MRAFIQ-NGN abrtd: Directory
 'ccpp-2012-03-08-15:29:10-12635' creation detected
 Mar  8 15:29:11 MRAFIQ-NGN abrtd: Interpreter crashed, but no packaged
 script detected: 'python algo-sink.py'
 Mar  8 15:29:11 MRAFIQ-NGN abrtd: Corrupted or bad dump

Re: [Discuss-gnuradio] Reference documentation to the python interface

2012-03-08 Thread Ben Reynwar
On Thu, Mar 8, 2012 at 7:00 AM, Martin Braun martin.br...@kit.edu wrote:
 On Wed, Mar 07, 2012 at 04:36:57PM -0700, Ben Reynwar wrote:
 I've got a somewhat complete reference for the python interface of
 gnuradio radio done now.  It can be found at:

 www.reynwar.net/gnuradio/sphinx/

 Hi Ben,

 fantastic stuff!

 Any suggestions on how we could improve these docs?

 I'm not sure if this goes here or if it's due to the swig_doc stuff, but
 it would be great if block methods would also appear in the docs. A lot
 of the blocks have functions to configure them (e.g. add_cc.set_k())
 which aren't in the docs.

Yep, I overlooked this.  Thanks for pointing it out.

 But it's still great stuff :)

 MB

 --
 Karlsruhe Institute of Technology (KIT)
 Communications Engineering Lab (CEL)

 Dipl.-Ing. Martin Braun
 Research Associate

 Kaiserstraße 12
 Building 05.01
 76131 Karlsruhe

 Phone: +49 721 608-43790
 Fax: +49 721 608-46071
 www.cel.kit.edu

 KIT -- University of the State of Baden-Württemberg and
 National Laboratory of the Helmholtz Association

 ___
 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] Reference documentation to the python interface

2012-03-08 Thread Ben Reynwar
On Thu, Mar 8, 2012 at 7:19 AM, Michael Dickens m...@alum.mit.edu wrote:
 Hi Ben - Ditto Martin: great stuff!  I think keep filling in the blanks is 
 my improvement recommendation :) -- some items contain This docstring is not 
 useful or the equivalent, or are just empty (e.g., 
 gnuradio.optfir.band_pass).  I'm guessing some items are like this because 
 the source code does not contain useful info (yet).  Nice work! - MLD

Yeah, I think in most cases it's because the documentation is missing
in the source code, and fixing that for all of gnuradio is obviously
an undertaking that I am not keen or able to do.  In optfir.bandpass
it is because the documentation is given as a comment rather than a
docstHopefully having the documentation accessible like this will help
us spot where documentation needs work.

 ___
 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] Reference documentation to the python interface

2012-03-08 Thread Ben Reynwar
On Thu, Mar 8, 2012 at 8:35 AM, Tom Rondeau t...@trondeau.com wrote:
 On Thu, Mar 8, 2012 at 10:22 AM, Ben Reynwar b...@reynwar.net wrote:

 On Thu, Mar 8, 2012 at 7:19 AM, Michael Dickens m...@alum.mit.edu wrote:
  Hi Ben - Ditto Martin: great stuff!  I think keep filling in the
  blanks is my improvement recommendation :) -- some items contain This
  docstring is not useful or the equivalent, or are just empty (e.g.,
  gnuradio.optfir.band_pass).  I'm guessing some items are like this 
  because
  the source code does not contain useful info (yet).  Nice work! - MLD

 Yeah, I think in most cases it's because the documentation is missing
 in the source code, and fixing that for all of gnuradio is obviously
 an undertaking that I am not keen or able to do.  In optfir.bandpass
 it is because the documentation is given as a comment rather than a
 docstHopefully having the documentation accessible like this will help
 us spot where documentation needs work.



 Hey Ben,
 Since you're having more luck with Sphinx than we have in the past with
 Doxygen for the Python documentation, I'd say we're ok changing the
 documentation markup to make it more friendly with Sphinx. I think you're
 right that a lot of the empty documentation here is due to the formatting of
 the documentation in the Python files (as well as an absence in some
 instances).

 Have you been able to fully automate the process? I think that's really key
 to the success. We don't want any manual effort to have to go into building
 these.

 When you've got it working and everything, we can then update the
 documentation on the Wiki for how to document the Python code so that it
 works nicely with this.

 Thanks!
 Tom


I haven't done any work on the automation yet.  My goal with that is
to automate the inclusion of signal processing blocks but to leave
other objects to be added manually.  So if you add a new signal
processing block the documentation should take care of itself, but if
you add a new utility function you have to explicitly alter the
documentation source files so that it is included.  Since it's not
desirable that all functions defined appear in the documentation,
something like this is necessary.  For example, if you added a new
utility function to gr.digital this might consist of adding the line

   gnuradio.digital.my_new_function

to gnuradio/docs/sphinx/digital/index.rst
and the line

.. autofunction:: gnuradio.digital.my_new_function

to gnuradio/docs/sphinx/digital/utilities.rst

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


Re: [Discuss-gnuradio] Reference documentation to the python interface

2012-03-08 Thread Ben Reynwar
On Thu, Mar 8, 2012 at 10:01 AM, Tom Rondeau t...@trondeau.com wrote:
 On Thu, Mar 8, 2012 at 11:44 AM, Ben Reynwar b...@reynwar.net wrote:

 On Thu, Mar 8, 2012 at 8:35 AM, Tom Rondeau t...@trondeau.com wrote:
  On Thu, Mar 8, 2012 at 10:22 AM, Ben Reynwar b...@reynwar.net wrote:
 
  On Thu, Mar 8, 2012 at 7:19 AM, Michael Dickens m...@alum.mit.edu
  wrote:
   Hi Ben - Ditto Martin: great stuff!  I think keep filling in the
   blanks is my improvement recommendation :) -- some items contain
   This
   docstring is not useful or the equivalent, or are just empty (e.g.,
   gnuradio.optfir.band_pass).  I'm guessing some items are like this
   because
   the source code does not contain useful info (yet).  Nice work! - MLD
 
  Yeah, I think in most cases it's because the documentation is missing
  in the source code, and fixing that for all of gnuradio is obviously
  an undertaking that I am not keen or able to do.  In optfir.bandpass
  it is because the documentation is given as a comment rather than a
  docstHopefully having the documentation accessible like this will help
  us spot where documentation needs work.
 
 
 
  Hey Ben,
  Since you're having more luck with Sphinx than we have in the past with
  Doxygen for the Python documentation, I'd say we're ok changing the
  documentation markup to make it more friendly with Sphinx. I think
  you're
  right that a lot of the empty documentation here is due to the
  formatting of
  the documentation in the Python files (as well as an absence in some
  instances).
 
  Have you been able to fully automate the process? I think that's really
  key
  to the success. We don't want any manual effort to have to go into
  building
  these.
 
  When you've got it working and everything, we can then update the
  documentation on the Wiki for how to document the Python code so that it
  works nicely with this.
 
  Thanks!
  Tom
 

 I haven't done any work on the automation yet.  My goal with that is
 to automate the inclusion of signal processing blocks but to leave
 other objects to be added manually.  So if you add a new signal
 processing block the documentation should take care of itself, but if
 you add a new utility function you have to explicitly alter the
 documentation source files so that it is included.  Since it's not
 desirable that all functions defined appear in the documentation,
 something like this is necessary.  For example, if you added a new
 utility function to gr.digital this might consist of adding the line

   gnuradio.digital.my_new_function

 to gnuradio/docs/sphinx/digital/index.rst
 and the line

 .. autofunction:: gnuradio.digital.my_new_function

 to gnuradio/docs/sphinx/digital/utilities.rst


 Tha's ok. When I was talking about being automated, I was really thinking
 about automating the generation of the output docs during make. I think you
 had said before that there was some hand-editing you were doing each time.
 As long as we just have to amend the index file once for a new block, that's
 fine. I just don't want to have to do any manual intervention every time we
 want to build it.

 Tom


Ah! No wonder you were worried :).  Sorry for the confusion.  I meant
that I couldn't completely automate the generation of the files which
are then used to generate the documentation.

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


[Discuss-gnuradio] Reference documentation to the python interface

2012-03-07 Thread Ben Reynwar
I've got a somewhat complete reference for the python interface of
gnuradio radio done now.  It can be found at:

www.reynwar.net/gnuradio/sphinx/

Any suggestions on how we could improve these docs?

I also have two questions:
  - I need improved docstrings for the subpackages.  In particular
noaa, pager, and video_sdl.  Suggestions from people who know what
these are would be much appreciated.
  - A lot of python blocks contain doxygen markup (e.g. @param).
Anyone object to me changing this to a more pythonesque format since
we're not using doxygen for the python code?  For example:
   
   brief description

   detailed description

   Args:
   arg1: description
   arg2: description
   
   can be easily parsed by sphinx.
   I've also modifed doxyxml so that it extracts parameter
descriptions from the doxygen xml, and swig_doc.py so that it
generates docstrings for the swiged blocks in the above format.

Things to do:
 - Add a sphinx extension to automate the inclusion of signal processing blocks.
 - Handling of latex formatted math notation.

Cheers,
Ben

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


Re: [Discuss-gnuradio] Documentation generation using Sphinx

2012-03-01 Thread Ben Reynwar
Just to clarify, I'm not suggesting we get rid of the Doxygen
documentation.  I think it documents the C++ side of things really
well.  What I'm suggesting is that we have two sets of documentation.
Doxygen-generated docs for the C++ stuff,  and sphinx-generated docs
for the python interface.

At the moment the subheaders are coming from the \ingroup tag
indirectly, in that I use that them to generate the initial
documentation, but it won't update automatically if they are changed.
I think automating the documentation generation to the level where
these would update automatically would complicate things more than it
would help.

I'll continue extending and tidying up the documentation and let you
know when it's at a more presentable point.

Cheers,
Ben

On Thu, Mar 1, 2012 at 7:57 AM, Tom Rondeau t...@trondeau.com wrote:
 Ben,
 Yes, I was definitely confused. I think this is promising. So you're saying
 that it gets populated by Doxygen markup that's already in the files? So we
 don't have to redo any of the documentation that we already have, right?

 Also, I've been adding Doxygen pages (.dox files) with more descriptions,
 examples, etc. into the Doxygen manual. I really like this way as it keeps
 things all together as part of the code and the automatically generated
 manual. If we can keep these as well, that's great. And I'm assuming that
 the subheaders like Signal Sources and Signal Sinks are taken from the
 \ingroup tags?

 Another thing that I've been doing with the Doxygen manual is keeping older
 versions of it alive on the website so that people can look at the manual
 for their particular version of GNU Radio
 (http://gnuradio.org/redmine/projects/gnuradio/wiki/Old-docs). So again, I'd
 like to be able to easily host these. Looking at your URL, it looks like
 it'll be simple.

 So yes, I say continue on this path. Taking what Martin and Michael said
 about fixing some of the structure/styling would really help it, too.

 Thanks!
 Tom


 On Thu, Mar 1, 2012 at 5:42 AM, Martin Braun martin.br...@kit.edu wrote:

 On Wed, Feb 29, 2012 at 08:05:46PM -0700, Ben Reynwar wrote:
  What I'm trying to do with this is to create some nice documentation
  that we can put online that serves as a reference for someone
  developing with gnuradio in python.  I had a go at this last year, but
  didn't get very far, partly because the swig_doc stuff wasn't fully
  working.  Now that the swig_docs is all sorted, it felt like a good
  time to push with the documentation again.
 
  Stuff that needs work is
   - (*args, **kwargs) appears for some blocks but for others it
  displays the parameters correctly.
   - sometimes it displays __dummy_0_ for parameter types
   - there a bunch of subpackages which I haven't touched yet
 
  It'll take a bit of work to get this done, and unless people are on
  board with the general concept of using sphinx to generate this
  documentation, it doesn't make sense for me to spend time doing it,
  which is why I'm bugging you all now with some half-finished
  documentation.

 I think it's great! Something like this is really missing, especially if
 you're used to browsing the official Python docs; in that case Sphinx is
 probably a sight you're used to.

 One thing I don't love is this:
 snip
 gnuradio.gr.glfsr_source_b Creates a glfsr_source_b blocksk.
 gnuradio.gr.glfsr_source_f Creates a glfsr_source_f block.
 gnuradio.gr.lfsr_32k_source_s Creates a lfsr_32k_source_s block.
 gnuradio.gr.nowull_source Creates a null_source block.
 gnuradio.gr.noise_source_c Createseates a noise_source_c block.
 gnuradio.gr.noise_source_f Creates a noise_source_fse_source_f block.
 /snip

 This contains zero information. To get to the interesting information, I
 have to first click the entry. If I try help(gr.glfsr_source_b) on my
 machine, I get the interesting part of the docs straight away (Galois
 LFSR pseudo-random source generating float outputs -1.0 - 1.0. instead
 of Creates a glfsr_source_b block).

 In the gr.digital package, this isn't quite as bad. Perhaps a
 documentation
 standard wouldn't be a bad idea (but none of this has anything to do
 with Sphinx, I guess ;).

 MB

 --
 Karlsruhe Institute of Technology (KIT)
 Communications Engineering Lab (CEL)

 Dipl.-Ing. Martin Braun
 Research Associate

 Kaiserstraße 12
 Building 05.01
 76131 Karlsruhe

 Phone: +49 721 608-43790
 Fax: +49 721 608-46071
 www.cel.kit.edu

 KIT -- University of the State of Baden-Württemberg and
 National Laboratory of the Helmholtz Association


 ___
 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 mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman

Re: [Discuss-gnuradio] Documentation generation using Sphinx

2012-03-01 Thread Ben Reynwar
On Thu, Mar 1, 2012 at 11:20 AM, Tom Rondeau t...@trondeau.com wrote:
 On Thu, Mar 1, 2012 at 12:16 PM, Ben Reynwar b...@reynwar.net wrote:

 Just to clarify, I'm not suggesting we get rid of the Doxygen
 documentation.  I think it documents the C++ side of things really
 well.  What I'm suggesting is that we have two sets of documentation.
 Doxygen-generated docs for the C++ stuff,  and sphinx-generated docs
 for the python interface.


 It looks like you have all of the C++ blocks moved over into the
 Sphinx-generated docs, too, though, which duplicates what's in Doxygen.
 Having two sets of documentation seems a bit confusing to me, but I can see
 how a C++-only developer might get confused about stuff mentioned in the
 manual that's only available if using Python.

 So with the latter argument in mind, I guess we could (and maybe should)
 have separate documents for the two cases.

Yeah, ideally it would be nice to have one set of documentation that
covers the C++ and python levels, but I can't think of a way to do
that, that doesn't do a bad job of one or the other.  Creating two
sets of documentation is the path of least resistance to finally
getting a reference for the python interface out there.


 At the moment the subheaders are coming from the \ingroup tag
 indirectly, in that I use that them to generate the initial
 documentation, but it won't update automatically if they are changed.
 I think automating the documentation generation to the level where
 these would update automatically would complicate things more than it
 would help.


 I think Josh worked out in cmake how to regenerate the swigdoc output if any
 of the files are changed, so it seems like a similar thing should be
 applicable here, too.

Although I generated the source files for sphinx to avoid tediousness,
I also did a bunch of manual editing afterwards.   There are lots of
objects in the python modules that aren't swiged signal processing
blocks and so don't have \ingroup tags, for example python
hierarchical blocks, constellation objects, utility functions, and
random internal stuff that is floating around in the module namespace.
 Automating the decision on whether to include or exclude these
objects in the documentation, and what category to place them in would
be non-trivial.  This is why using a tool like epydoc does not work
for us.

At the moment, when the html is regenerated, the docstrings themselves
will be updated, but the organization of the objects into categories
will not change unless the sphinx source files have been manually
edited.



 I'll continue extending and tidying up the documentation and let you
 know when it's at a more presentable point.

 Cheers,
 Ben


 Thanks,
 Tom


 On Thu, Mar 1, 2012 at 7:57 AM, Tom Rondeau t...@trondeau.com wrote:
  Ben,
  Yes, I was definitely confused. I think this is promising. So you're
  saying
  that it gets populated by Doxygen markup that's already in the files? So
  we
  don't have to redo any of the documentation that we already have, right?
 
  Also, I've been adding Doxygen pages (.dox files) with more
  descriptions,
  examples, etc. into the Doxygen manual. I really like this way as it
  keeps
  things all together as part of the code and the automatically generated
  manual. If we can keep these as well, that's great. And I'm assuming
  that
  the subheaders like Signal Sources and Signal Sinks are taken from
  the
  \ingroup tags?
 
  Another thing that I've been doing with the Doxygen manual is keeping
  older
  versions of it alive on the website so that people can look at the
  manual
  for their particular version of GNU Radio
  (http://gnuradio.org/redmine/projects/gnuradio/wiki/Old-docs). So again,
  I'd
  like to be able to easily host these. Looking at your URL, it looks like
  it'll be simple.
 
  So yes, I say continue on this path. Taking what Martin and Michael said
  about fixing some of the structure/styling would really help it, too.
 
  Thanks!
  Tom
 
 
  On Thu, Mar 1, 2012 at 5:42 AM, Martin Braun martin.br...@kit.edu
  wrote:
 
  On Wed, Feb 29, 2012 at 08:05:46PM -0700, Ben Reynwar wrote:
   What I'm trying to do with this is to create some nice documentation
   that we can put online that serves as a reference for someone
   developing with gnuradio in python.  I had a go at this last year,
   but
   didn't get very far, partly because the swig_doc stuff wasn't fully
   working.  Now that the swig_docs is all sorted, it felt like a good
   time to push with the documentation again.
  
   Stuff that needs work is
    - (*args, **kwargs) appears for some blocks but for others it
   displays the parameters correctly.
    - sometimes it displays __dummy_0_ for parameter types
    - there a bunch of subpackages which I haven't touched yet
  
   It'll take a bit of work to get this done, and unless people are on
   board with the general concept of using sphinx to generate this
   documentation, it doesn't make sense for me to spend time

Re: [Discuss-gnuradio] Documentation generation using Sphinx

2012-03-01 Thread Ben Reynwar
On Thu, Mar 1, 2012 at 12:05 PM, Tom Rondeau t...@trondeau.com wrote:
 On Thu, Mar 1, 2012 at 2:00 PM, Ben Reynwar b...@reynwar.net wrote:

 On Thu, Mar 1, 2012 at 11:20 AM, Tom Rondeau t...@trondeau.com wrote:
  On Thu, Mar 1, 2012 at 12:16 PM, Ben Reynwar b...@reynwar.net wrote:
 
  At the moment the subheaders are coming from the \ingroup tag
  indirectly, in that I use that them to generate the initial
  documentation, but it won't update automatically if they are changed.
  I think automating the documentation generation to the level where
  these would update automatically would complicate things more than it
  would help.
 
 
  I think Josh worked out in cmake how to regenerate the swigdoc output if
  any
  of the files are changed, so it seems like a similar thing should be
  applicable here, too.

 Although I generated the source files for sphinx to avoid tediousness,
 I also did a bunch of manual editing afterwards.   There are lots of
 objects in the python modules that aren't swiged signal processing
 blocks and so don't have \ingroup tags, for example python
 hierarchical blocks, constellation objects, utility functions, and
 random internal stuff that is floating around in the module namespace.
  Automating the decision on whether to include or exclude these
 objects in the documentation, and what category to place them in would
 be non-trivial.  This is why using a tool like epydoc does not work
 for us.

 At the moment, when the html is regenerated, the docstrings themselves
 will be updated, but the organization of the objects into categories
 will not change unless the sphinx source files have been manually
 edited.


 Ok, I see. Is there a way to just stick all of these into an uncategorized
 section? We could then edit the offenders to give them a proper group.

 Tom


I you're really keen on getting the block categorization automated
then I'm sure I can come up with a way.  Sphinx is extendable so I
would probably create a new sphinx markup command that includes all
the blocks for a given category.  In this way the sphinx source file
would still be manually edited if you want to add a new utility
function, or python hierarchical block to the documentation but the
swiged signal processing blocks would be added automatically.


 
  I'll continue extending and tidying up the documentation and let you
  know when it's at a more presentable point.
 
  Cheers,
  Ben
 
 
  Thanks,
  Tom
 
 
  On Thu, Mar 1, 2012 at 7:57 AM, Tom Rondeau t...@trondeau.com wrote:
   Ben,
   Yes, I was definitely confused. I think this is promising. So you're
   saying
   that it gets populated by Doxygen markup that's already in the files?
   So
   we
   don't have to redo any of the documentation that we already have,
   right?
  
   Also, I've been adding Doxygen pages (.dox files) with more
   descriptions,
   examples, etc. into the Doxygen manual. I really like this way as it
   keeps
   things all together as part of the code and the automatically
   generated
   manual. If we can keep these as well, that's great. And I'm assuming
   that
   the subheaders like Signal Sources and Signal Sinks are taken
   from
   the
   \ingroup tags?
  
   Another thing that I've been doing with the Doxygen manual is keeping
   older
   versions of it alive on the website so that people can look at the
   manual
   for their particular version of GNU Radio
   (http://gnuradio.org/redmine/projects/gnuradio/wiki/Old-docs). So
   again,
   I'd
   like to be able to easily host these. Looking at your URL, it looks
   like
   it'll be simple.
  
   So yes, I say continue on this path. Taking what Martin and Michael
   said
   about fixing some of the structure/styling would really help it, too.
  
   Thanks!
   Tom
  
  
   On Thu, Mar 1, 2012 at 5:42 AM, Martin Braun martin.br...@kit.edu
   wrote:
  
   On Wed, Feb 29, 2012 at 08:05:46PM -0700, Ben Reynwar wrote:
What I'm trying to do with this is to create some nice
documentation
that we can put online that serves as a reference for someone
developing with gnuradio in python.  I had a go at this last year,
but
didn't get very far, partly because the swig_doc stuff wasn't
fully
working.  Now that the swig_docs is all sorted, it felt like a
good
time to push with the documentation again.
   
Stuff that needs work is
 - (*args, **kwargs) appears for some blocks but for others it
displays the parameters correctly.
 - sometimes it displays __dummy_0_ for parameter types
 - there a bunch of subpackages which I haven't touched yet
   
It'll take a bit of work to get this done, and unless people are
on
board with the general concept of using sphinx to generate this
documentation, it doesn't make sense for me to spend time doing
it,
which is why I'm bugging you all now with some half-finished
documentation.
  
   I think it's great! Something like this is really missing,
   especially

[Discuss-gnuradio] Documentation generation using Sphinx

2012-02-29 Thread Ben Reynwar
Hi all,

Every 6 months or so I have a crack at getting some python level
documentation working.  In this attempt, I've generated documentation
for the gr and digital modules using sphinx.

The generated html is at:
http://www.reynwar.net/gnuradio/sphinx/

Source for the generated documentation is at:
https://github.com/benreynwar/gnuradio/tree/sphinx/docs/sphinx/source

The documentation generation is semi-automatic.  I created files
containing lists of the objects we want to document, and organized
them into categories.  The actual documentation itself was pulled from
the docstrings automatically.  It would be necessary to manually edit
files when new blocks or other objects are added, so there is a danger
that this kind of documentation could become incomplete, however
because the content is taken from the docstrings it should remain
accurate, if not complete.

Are there any objections to me continuing down this path of
documentation generation?  Any suggestions?

Cheers,
Ben

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


Re: [Discuss-gnuradio] Documentation generation using Sphinx

2012-02-29 Thread Ben Reynwar
On Wed, Feb 29, 2012 at 6:50 PM, Tom Rondeau t...@trondeau.com wrote:
 On Wed, Feb 29, 2012 at 3:26 PM, Ben Reynwar b...@reynwar.net wrote:

 Hi all,

 Every 6 months or so I have a crack at getting some python level
 documentation working.  In this attempt, I've generated documentation
 for the gr and digital modules using sphinx.

 The generated html is at:
 http://www.reynwar.net/gnuradio/sphinx/

 Source for the generated documentation is at:
 https://github.com/benreynwar/gnuradio/tree/sphinx/docs/sphinx/source

 The documentation generation is semi-automatic.  I created files
 containing lists of the objects we want to document, and organized
 them into categories.  The actual documentation itself was pulled from
 the docstrings automatically.  It would be necessary to manually edit
 files when new blocks or other objects are added, so there is a danger
 that this kind of documentation could become incomplete, however
 because the content is taken from the docstrings it should remain
 accurate, if not complete.

 Are there any objections to me continuing down this path of
 documentation generation?  Any suggestions?

 Cheers,
 Ben


 I'm a bit confused, Ben. What does this do that we aren't doing in the
 swig_docs work we put in last year?

 Tom


The swig_doc stuff got all the documentation from doxygen into the
python docstrings.

What I'm trying to do with this is to create some nice documentation
that we can put online that serves as a reference for someone
developing with gnuradio in python.  I had a go at this last year, but
didn't get very far, partly because the swig_doc stuff wasn't fully
working.  Now that the swig_docs is all sorted, it felt like a good
time to push with the documentation again.

Stuff that needs work is
 - (*args, **kwargs) appears for some blocks but for others it
displays the parameters correctly.
 - sometimes it displays __dummy_0_ for parameter types
 - there a bunch of subpackages which I haven't touched yet

It'll take a bit of work to get this done, and unless people are on
board with the general concept of using sphinx to generate this
documentation, it doesn't make sense for me to spend time doing it,
which is why I'm bugging you all now with some half-finished
documentation.

Cheers,
Ben

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


[Discuss-gnuradio] Detection and classification of signals

2012-02-21 Thread Ben Reynwar
Hi all,

I'm working an a little project using gnuradio for receiving ham radio
psk31 signals.  I can decode a signal given a rough estimate of the
carrier frequency but I'd really like to take a big swath of bandwidth
as the input, detect the psk31 signals, and decode them all in
parallel.

However I don't even know what search terms to use to find methods to
detect the peaks, and make a guess as to whether they are psk31.  What
words should I be typing into my google searches?

My naive first attempt would be to find the peaks in the intensity
that have about the correct width and then try to decode them, but I
thought there might be more robust techniques out there.

Cheers,
Ben

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


Re: [Discuss-gnuradio] Detection and classification of signals

2012-02-21 Thread Ben Reynwar
Wicked, thank you.  That'll go a long way towards getting me started.
It's frustrating when you're so ignorant you don't even know which
search terms to type in.

On Tue, Feb 21, 2012 at 3:31 PM, Ben Hilburn b...@ettus.com wrote:
 I'll note that none of my suggestions are actual techniques, but just
 keywords that such techniques fall under.

 If anyone is aware of actual techniques for Ben to use, that would probably
 be more directly helpful.

 Cheers,
 Ben


 On Tue, Feb 21, 2012 at 2:30 PM, Ben Hilburn b...@ettus.com wrote:

 Ben -

 Searching for Automatic Modulation Classification (AMC), on Google or
 IEEExplore, will give you fairly good start =)

 Related terms may be: Peak Detection, Robust Statistics, and even
 Primary User Detection (from the cognitive radio side of things).

 Cheers,
 Ben



 On Tue, Feb 21, 2012 at 1:54 PM, Ben Reynwar b...@reynwar.net wrote:

 Hi all,

 I'm working an a little project using gnuradio for receiving ham radio
 psk31 signals.  I can decode a signal given a rough estimate of the
 carrier frequency but I'd really like to take a big swath of bandwidth
 as the input, detect the psk31 signals, and decode them all in
 parallel.

 However I don't even know what search terms to use to find methods to
 detect the peaks, and make a guess as to whether they are psk31.  What
 words should I be typing into my google searches?

 My naive first attempt would be to find the peaks in the intensity
 that have about the correct width and then try to decode them, but I
 thought there might be more robust techniques out there.

 Cheers,
 Ben

 ___
 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] need help for digital.constellation_decoder_cb in release 3.5.0

2011-12-08 Thread Ben Reynwar
On Thu, Dec 8, 2011 at 5:33 PM, Arturo Rinaldi arty.n...@gmail.com wrote:
 I noticed dramatic changes in the 3.5.0 release in the generation of the
 constellation points of digital modulations. So, if the easy part is to
 again modify the source code to match my needs, i need some help in using
 the new block :

 digital.constellation_decoder_cb(arg1)

 instead of

 gr.constellation_decoder(arg1,arg2)

 I usually used the last one where arg1 is a list containing the complex
 values of a generic digital modulation and arg2 is the symbol mapping (Gray
 Coding for instance). Which blocks do i need to put together to get the same
 result ?

 Regards, Arturo

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


Simplest solution is probably:

constell = digital.digital_constellation(list_of_complex_points, [], 1, 1)
decoder = digital.constellation_decoder_cb(constell)

To get the symbol mapping you want, just choose the appropriate order
of the complex points in the list.

The 2nd, 3rd and 4th arguments to the constellation constructor while
not relevant to this example are:
 - a mapping to be applied before differential encoding.
 - the rotational-symmetry of the constellation
 - the dimensionality of the constellation (i.e. number of complex
points that together map to one symbol)

Functions to simplify the creation of commonly used constellations can
be found in digital.bpsk, digital.qpsk, digital.psk, and digital.qam.

Ben

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


Re: [Discuss-gnuradio] Problem with new swig docs stuff

2011-12-07 Thread Ben Reynwar
On Tue, Dec 6, 2011 at 3:51 PM, Josh Blum j...@ettus.com wrote:

 snip
 [ 47%] Generating general_swig_doc.i
 Error in xml in file 
 /home/gr/source/git/gnuradio/build/gnuradio-core/src/lib/swig/general_swig_doc_swig_docs/xml/gr__simple__framer__sync_8h.xml
 Traceback (most recent call last):
   File /home/gr/source/git/gnuradio/docs/doxygen/swig_doc.py, line 253, in 
 module
     make_swig_interface_file(di, swigdocfilename, 
 custom_output=custom_output)
   File /home/gr/source/git/gnuradio/docs/doxygen/swig_doc.py, line 196, in 
 make_swig_interface_file
     blocks = di.in_category(Block)
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py, line 
 140, in in_category
     self.confirm_no_error()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py, line 
 206, in confirm_no_error
     self.check_parsed()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py, line 
 203, in check_parsed
     self._parse()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/doxyindex.py, 
 line 51, in _parse
     self._members += converted.members()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py, line 
 174, in members
     self.confirm_no_error()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py, line 
 206, in confirm_no_error
     self.check_parsed()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/base.py, line 
 203, in check_parsed
     self._parse()
   File /home/gr/source/git/gnuradio/docs/doxygen/doxyxml/doxyindex.py, 
 line 163, in _parse
     self.set_descriptions(self._retrieved_data.compounddef)
 AttributeError: 'NoneType' object has no attribute 'compounddef'
 make[2]: *** [gnuradio-core/src/lib/swig/general_swig_doc.i] Error 1
 make[1]: *** 
 [gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_filter.dir/all] Error 2
 make: *** [all] Error 2


 Tom/Ben,

 I think doxyindex.py may be relying on an xml field that older doxygen's
 do not define.

 Perhaps we could put a big try/catch around this in case it fails and
 print to stderr. That way the build keeps going, and its just a warning
 printed out in the terminal.

 -josh

You're right, it clearly needs to be more robust.  I'll have a look tonight.

Ben

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


Re: [Discuss-gnuradio] raised cosine filter taps implementation

2011-11-14 Thread Ben Reynwar
PSK31 for ham radio uses a raised cosine filter rather than the RRC.

On Mon, Nov 14, 2011 at 9:26 AM, Tom Rondeau trondeau1...@gmail.com wrote:
 On Mon, Nov 14, 2011 at 10:40 AM, Nowlan, Sean sean.now...@gtri.gatech.edu
 wrote:

 Because I need a raised cosine filter. If I convolve root raised cosine
 filter coefficients with themselves (generated with gr_firdes), do I need to
 apply a scaling factor?

 Ok, but my question was Why do you need a raised cosine filter? I'm just
 curious about what applications use this instead of RRC filters?
 Tom




 From: Tom Rondeau [mailto:trondeau1...@gmail.com]
 Sent: Monday, November 14, 2011 9:56 AM
 To: Nowlan, Sean
 Cc: discuss-gnuradio@gnu.org
 Subject: Re: [Discuss-gnuradio] raised cosine filter taps implementation



 On Sun, Nov 13, 2011 at 6:56 PM, Nowlan, Sean
 sean.now...@gtri.gatech.edu wrote:

 I want to add a raised cosine filter to gr_firdes.* in
 gnuradio/gnuradio-core/src/lib/general/. I see there's already a root-raised
 cosine there. After looking through a few sources, I have the following
 time-domain response of an RC filter:

 h(t) = [sin(pi * t / T_s) / (pi * t / T_s)] / [cos(pi * alpha * t / T_s) /
 (1 - (2 * alpha * t / T_s )^2 )]

 As far as I can tell, I should be able to compute the taps using:

 for n = -FLOOR(ntaps/2) to FLOOR(ntaps/2), do
     h(n) = [sin(pi * n) / (pi * n)] / [cos(pi * alpha * n) / (1 - (2 *
 alpha * n)^2 )]
 end_for

 The things I'll have to worry about:
 1) if n is 0: h(n) = 1
 2) if n is +/- 1/(2 * alpha): h(n) = (1 / (8 * alpha) ) * sin(pi / (2 *
 alpha) )    #I think I did this right...
 3) rounding errors: not sure what to do here given we're operating with
 floats.

 Any tips/suggestions?

 Thanks,
 Sean



 Sean,

 We've gotten this question before, and I'm again curious why you want a
 raised cosine filter? If you really are using it for something, the easiest
 thing to do is just create a root raised cosine filter and convolve it with
 itself.



 Tom



 ___
 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] raised cosine filter taps implementation

2011-11-14 Thread Ben Reynwar
On Mon, Nov 14, 2011 at 10:03 AM, Tom Rondeau trondeau1...@gmail.com wrote:
 On Mon, Nov 14, 2011 at 12:01 PM, Ben Reynwar b...@reynwar.net wrote:

 PSK31 for ham radio uses a raised cosine filter rather than the RRC.

 Interesting. Thanks.
 Do you know why the do it? Do they just have the filter on one side?
 Tom

I don't think it's for any good reason.  The raised cosine filter is
on the transmit side and I guess you can put whatever you want on the
receive side.  I would have thought another raised cosine filter on
the receiver side was the best way to go to maximise the signal and
then deal with the ISI afterwards.  I haven't looked at other peoples
code to see how they're doing it.

 On Mon, Nov 14, 2011 at 9:26 AM, Tom Rondeau trondeau1...@gmail.com
 wrote:
  On Mon, Nov 14, 2011 at 10:40 AM, Nowlan, Sean
  sean.now...@gtri.gatech.edu
  wrote:
 
  Because I need a raised cosine filter. If I convolve root raised cosine
  filter coefficients with themselves (generated with gr_firdes), do I
  need to
  apply a scaling factor?
 
  Ok, but my question was Why do you need a raised cosine filter? I'm just
  curious about what applications use this instead of RRC filters?
  Tom
 
 
 
 
  From: Tom Rondeau [mailto:trondeau1...@gmail.com]
  Sent: Monday, November 14, 2011 9:56 AM
  To: Nowlan, Sean
  Cc: discuss-gnuradio@gnu.org
  Subject: Re: [Discuss-gnuradio] raised cosine filter taps
  implementation
 
 
 
  On Sun, Nov 13, 2011 at 6:56 PM, Nowlan, Sean
  sean.now...@gtri.gatech.edu wrote:
 
  I want to add a raised cosine filter to gr_firdes.* in
  gnuradio/gnuradio-core/src/lib/general/. I see there's already a
  root-raised
  cosine there. After looking through a few sources, I have the following
  time-domain response of an RC filter:
 
  h(t) = [sin(pi * t / T_s) / (pi * t / T_s)] / [cos(pi * alpha * t /
  T_s) /
  (1 - (2 * alpha * t / T_s )^2 )]
 
  As far as I can tell, I should be able to compute the taps using:
 
  for n = -FLOOR(ntaps/2) to FLOOR(ntaps/2), do
      h(n) = [sin(pi * n) / (pi * n)] / [cos(pi * alpha * n) / (1 - (2 *
  alpha * n)^2 )]
  end_for
 
  The things I'll have to worry about:
  1) if n is 0: h(n) = 1
  2) if n is +/- 1/(2 * alpha): h(n) = (1 / (8 * alpha) ) * sin(pi / (2 *
  alpha) )    #I think I did this right...
  3) rounding errors: not sure what to do here given we're operating with
  floats.
 
  Any tips/suggestions?
 
  Thanks,
  Sean
 
 
 
  Sean,
 
  We've gotten this question before, and I'm again curious why you want a
  raised cosine filter? If you really are using it for something, the
  easiest
  thing to do is just create a root raised cosine filter and convolve it
  with
  itself.
 
 
 
  Tom
 
 
 
  ___
  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] raised cosine filter taps implementation

2011-11-14 Thread Ben Reynwar
On Mon, Nov 14, 2011 at 11:11 AM, Tom Rondeau trondeau1...@gmail.com wrote:
 On Mon, Nov 14, 2011 at 1:09 PM, Ben Reynwar b...@reynwar.net wrote:

 On Mon, Nov 14, 2011 at 10:03 AM, Tom Rondeau trondeau1...@gmail.com
 wrote:
  On Mon, Nov 14, 2011 at 12:01 PM, Ben Reynwar b...@reynwar.net wrote:
 
  PSK31 for ham radio uses a raised cosine filter rather than the RRC.
 
  Interesting. Thanks.
  Do you know why the do it? Do they just have the filter on one side?
  Tom
 
 I don't think it's for any good reason.  The raised cosine filter is
 on the transmit side and I guess you can put whatever you want on the
 receive side.  I would have thought another raised cosine filter on
 the receiver side was the best way to go to maximise the signal and
 then deal with the ISI afterwards.  I haven't looked at other peoples
 code to see how they're doing it.

 I would have figured it was on the Tx side for bandwidth control, and you
 could do various things on the receiver side with that. It's of course why
 we normally use RRC filters though; restrict the transmitted signal
 bandwidth, then the receive RRC does both a matched filter and creates
 Nyquist pulses (ignoring multipath).
 Tom

Yep.  I meant that I don't think there was a good reason for the
author of PSK31 choosing raised cosine over RRC.


 
  On Mon, Nov 14, 2011 at 9:26 AM, Tom Rondeau trondeau1...@gmail.com
  wrote:
   On Mon, Nov 14, 2011 at 10:40 AM, Nowlan, Sean
   sean.now...@gtri.gatech.edu
   wrote:
  
   Because I need a raised cosine filter. If I convolve root raised
   cosine
   filter coefficients with themselves (generated with gr_firdes), do I
   need to
   apply a scaling factor?
  
   Ok, but my question was Why do you need a raised cosine filter? I'm
   just
   curious about what applications use this instead of RRC filters?
   Tom
  
  
  
  
   From: Tom Rondeau [mailto:trondeau1...@gmail.com]
   Sent: Monday, November 14, 2011 9:56 AM
   To: Nowlan, Sean
   Cc: discuss-gnuradio@gnu.org
   Subject: Re: [Discuss-gnuradio] raised cosine filter taps
   implementation
  
  
  
   On Sun, Nov 13, 2011 at 6:56 PM, Nowlan, Sean
   sean.now...@gtri.gatech.edu wrote:
  
   I want to add a raised cosine filter to gr_firdes.* in
   gnuradio/gnuradio-core/src/lib/general/. I see there's already a
   root-raised
   cosine there. After looking through a few sources, I have the
   following
   time-domain response of an RC filter:
  
   h(t) = [sin(pi * t / T_s) / (pi * t / T_s)] / [cos(pi * alpha * t /
   T_s) /
   (1 - (2 * alpha * t / T_s )^2 )]
  
   As far as I can tell, I should be able to compute the taps using:
  
   for n = -FLOOR(ntaps/2) to FLOOR(ntaps/2), do
       h(n) = [sin(pi * n) / (pi * n)] / [cos(pi * alpha * n) / (1 - (2
   *
   alpha * n)^2 )]
   end_for
  
   The things I'll have to worry about:
   1) if n is 0: h(n) = 1
   2) if n is +/- 1/(2 * alpha): h(n) = (1 / (8 * alpha) ) * sin(pi /
   (2 *
   alpha) )    #I think I did this right...
   3) rounding errors: not sure what to do here given we're operating
   with
   floats.
  
   Any tips/suggestions?
  
   Thanks,
   Sean
  
  
  
   Sean,
  
   We've gotten this question before, and I'm again curious why you
   want a
   raised cosine filter? If you really are using it for something, the
   easiest
   thing to do is just create a root raised cosine filter and convolve
   it
   with
   itself.
  
  
  
   Tom
  
  
  
   ___
   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] raised cosine filter taps implementation

2011-11-14 Thread Ben Reynwar
On Mon, Nov 14, 2011 at 11:21 AM, Ben Reynwar b...@reynwar.net wrote:
 On Mon, Nov 14, 2011 at 11:11 AM, Tom Rondeau trondeau1...@gmail.com wrote:
 On Mon, Nov 14, 2011 at 1:09 PM, Ben Reynwar b...@reynwar.net wrote:

 On Mon, Nov 14, 2011 at 10:03 AM, Tom Rondeau trondeau1...@gmail.com
 wrote:
  On Mon, Nov 14, 2011 at 12:01 PM, Ben Reynwar b...@reynwar.net wrote:
 
  PSK31 for ham radio uses a raised cosine filter rather than the RRC.
 
  Interesting. Thanks.
  Do you know why the do it? Do they just have the filter on one side?
  Tom
 
 I don't think it's for any good reason.  The raised cosine filter is
 on the transmit side and I guess you can put whatever you want on the
 receive side.  I would have thought another raised cosine filter on
 the receiver side was the best way to go to maximise the signal and
 then deal with the ISI afterwards.  I haven't looked at other peoples
 code to see how they're doing it.

 I would have figured it was on the Tx side for bandwidth control, and you
 could do various things on the receiver side with that. It's of course why
 we normally use RRC filters though; restrict the transmitted signal
 bandwidth, then the receive RRC does both a matched filter and creates
 Nyquist pulses (ignoring multipath).
 Tom

 Yep.  I meant that I don't think there was a good reason for the
 author of PSK31 choosing raised cosine over RRC.


I just remembered it's raised cosine in time not raised cosine in
frequency space, and so completely different from what the original
question was about.  Oh well.
Cheers,
Ben


 
  On Mon, Nov 14, 2011 at 9:26 AM, Tom Rondeau trondeau1...@gmail.com
  wrote:
   On Mon, Nov 14, 2011 at 10:40 AM, Nowlan, Sean
   sean.now...@gtri.gatech.edu
   wrote:
  
   Because I need a raised cosine filter. If I convolve root raised
   cosine
   filter coefficients with themselves (generated with gr_firdes), do I
   need to
   apply a scaling factor?
  
   Ok, but my question was Why do you need a raised cosine filter? I'm
   just
   curious about what applications use this instead of RRC filters?
   Tom
  
  
  
  
   From: Tom Rondeau [mailto:trondeau1...@gmail.com]
   Sent: Monday, November 14, 2011 9:56 AM
   To: Nowlan, Sean
   Cc: discuss-gnuradio@gnu.org
   Subject: Re: [Discuss-gnuradio] raised cosine filter taps
   implementation
  
  
  
   On Sun, Nov 13, 2011 at 6:56 PM, Nowlan, Sean
   sean.now...@gtri.gatech.edu wrote:
  
   I want to add a raised cosine filter to gr_firdes.* in
   gnuradio/gnuradio-core/src/lib/general/. I see there's already a
   root-raised
   cosine there. After looking through a few sources, I have the
   following
   time-domain response of an RC filter:
  
   h(t) = [sin(pi * t / T_s) / (pi * t / T_s)] / [cos(pi * alpha * t /
   T_s) /
   (1 - (2 * alpha * t / T_s )^2 )]
  
   As far as I can tell, I should be able to compute the taps using:
  
   for n = -FLOOR(ntaps/2) to FLOOR(ntaps/2), do
       h(n) = [sin(pi * n) / (pi * n)] / [cos(pi * alpha * n) / (1 - (2
   *
   alpha * n)^2 )]
   end_for
  
   The things I'll have to worry about:
   1) if n is 0: h(n) = 1
   2) if n is +/- 1/(2 * alpha): h(n) = (1 / (8 * alpha) ) * sin(pi /
   (2 *
   alpha) )    #I think I did this right...
   3) rounding errors: not sure what to do here given we're operating
   with
   floats.
  
   Any tips/suggestions?
  
   Thanks,
   Sean
  
  
  
   Sean,
  
   We've gotten this question before, and I'm again curious why you
   want a
   raised cosine filter? If you really are using it for something, the
   easiest
   thing to do is just create a root raised cosine filter and convolve
   it
   with
   itself.
  
  
  
   Tom
  
  
  
   ___
   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] Building on Mac OSX

2011-10-26 Thread Ben Reynwar
On Wed, Oct 26, 2011 at 8:44 AM, Jeff Scaparra j...@scaparra.com wrote:
 Hello,

 I have almost gotten all the dependencies needed for gnuradio recognized
 however I have qt qwt and wx installed but they aren't being recognized by
 cmake. I have also tried to manually enable them with the -DENABLE_GR_QTGUI
 AND -DENABLE_GR_WXGUI options with no luck. I have used homebrew to install
 almost all of the dependencies and it has been a great help. If anyone have
 any experience building gnuradio on OSX I would appreciate any input.

 Thanks,

 Jeff (KK4EPP)

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



If you're not using homebrew for anything else, it's probably easier
just to switch to using macports.  I had a good crack at getting
gnuradio installed via homebrew but switched to macports in the end
because I couldn't get the gui stuff working.

Cheers,
Ben

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


Re: [Discuss-gnuradio] gr-trellis broken on next branch

2011-10-21 Thread Ben Reynwar
The block I added into gr-trellis is trellis_constellation_metrics_cf.
 This block is equivalent to trellis_metrics_c in that it takes a
stream of symbols and outputs a stream of metrics.  The difference is
that treliis_constellation_metrics_cf uses a constellation object
(which is passed to it upon initialisation) to perform the symbol to
metrics conversion.  trellis_metrics_c calculates the distance between
each symbol and each constellation point, which could clearly be
improved upon by the modulation specific method in a constellation
object, especially for large constellations.

The constellation classes themselves are defined in gr-digital, so all
modulation specific code would be contained in gr-digital.  The
dependency on gr-digital enables modulation specific code to be
accessed by the gr-trellis code without requiring that modulation
specific code be in gr-trellis itself.  I think that's a pretty
logical arrangement.

 from gnuradio import digital, trellis
 constellation = digital.qam.qam_constellation(16)
 symbols_to_metrics = trellis.constellation_metrics_cf(constellation, 
 digital.TRELLIS_EUCLIDEAN)

Although currently there's just the one block with a dependency on
gr-digital, going forward it might be nice to have combined blocks
using constellation objects, so I would be disinclined to move it out
of gr-trellis.

Cheers,
Ben



On Fri, Oct 21, 2011 at 1:06 PM, Achilleas Anastasopoulos
anas...@umich.edu wrote:
 Tom,

 this requires some further discussion.

 We need to know what is the plan with gr-digital.
 In some sense EVERYTHING can be included in there,
 however this is not a good design.

 gr-trellis is not an implementation of digital
 modulation; it provides digital encoding/decoding techniques
 that is important to keep modulation INDEPENDENT.
 This was the design philosophy from the first line of
 code that went into this and can be seen in all the examples
 that are provided: the only aspect of these examples that depends on
 a specific modulation is the lookuptable of the constellation.

 I would like to welcome more users/developers to comment
 on this before we make any significant changes to the module.

 best,
 Achilleas


 On 10/21/2011 3:19 PM, Tom Rondeau wrote:

 On Thu, Oct 20, 2011 at 10:34 PM, Achilleas Anastasopoulos
 anas...@umich.edu mailto:anas...@umich.edu wrote:

    After installing the next branch i realized that gr-trellis is not
    working properly!

    This is due to some work (by Ben Raynwar) that makes gr-trellis
    dependent on gr-digital (???)
    In particular the constants related to trellis_metric_type.h cannot be
    accessed in python/grc
    as part of the trellis module, but as part of the digital module
    (this problem appears for instance if you run some of the pccc/sccc
    examples in gnuradio-examples/grc/trellis).

    This can be an easy fix (import digital in all the grc blocks
    requiring metric types, and make appropriate changes).

    However I wonder what is the point of making a self-contained
    module like gr-trellis dependent on another module (gr-digital)
    If the only reason is to to use the constellation object in the
    metrics blocks then these blocks should
    reside in the gr-digital module instead of the gr-trellis, so that the
    latter can still be self-contained.

    Ben, can you please explain what is your rational in doing these
    changes.

    thanks,
    Achilleas



 Achilleas,
 This was my doing. Ben had moved the metric types into gnuradio-core to
 work with his constellation work, so I moved them over with everything
 else into gr-digital. I then made gr-trellis depend on gr-digital
 because of this. Because gr-trellis is an implementation of digital
 modulation, it makes sense that it should depend on gr-digital.

 I made sure that gr-trellis would both build and pass 'make check,' so
 the QA code is obviously not testing all of the proper dependencies and
 cases in gr-trellis. We need to fix that to make sure the applications
 still run as we move stuff around.

 Depending on what gr-trellis requires out of gr-digital, we could
 possibly import digital into the trellis module inside of the
 __init__.py file.

 Tom


 ___
 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] Ben's docstring work

2011-10-17 Thread Ben Reynwar
I've made a few changes to doxyxml so that the DoxyFile objects should
be exposing their descriptions and have changed swig_doc.py so that
it's grabbing documentation from the file if it is present.  It
doesn't appear to be picking any file descriptions up and I'm not sure
if that's because it's not working or because there aren't any.  If
you know of some good blocks to test it on let me know.
commit is 
https://github.com/benreynwar/gnuradio/commit/d6e36498174dcb20f92369cc6097514a5d102ded

At the moment the layout for a docstring for a python creator function:


brief description from class

detailed description from class

brief description from make func

detailed description from make func

brief description from file

detailed description from file

Params: (list of input parameters)


The docstring for the class itself is the same without the parameter
list at the end.

Cheers,
Ben

On Mon, Oct 17, 2011 at 9:36 AM, Josh Blum j...@joshknows.com wrote:
 Ahhh much better. I added generation for a few of the components in core
 (general, gengen, filter, io)
 http://gnuradio.org/cgit/jblum.git/commit/?h=swig_docsid=d65572359a74e97ee6a01d89dcc44fd77ce54fef

 Basically, its pretty nice. The xml only regenerates when header files
 change, and the swig docs.i only regenerate when the xml is changed, and
 so on. No checked-in generated files. XML generation is very quick. Your
 python script actually takes a bit longer (but im not complaining). :-)

 I would like to get the grc docs parser looking for __doc__ strings soon.

 A few comments on your doc generator. Im not sure we agree on a standard
 here for documenting headers... but useful doc blocks may be in several
 places in the header:

 1) docs for the factor/make function
 2) docs for class definition
 3) docs just in the header, think \file

 It looks like the generated docstrings only gets one of these. I suggest
 concatenating all forms of docs into the one class docstring so the full
 amount of docs is available at runtime to python.

 -Josh


 It was the position of the %include swig_doc.i in the digital_swig.i file.
 It needs to be at the top rather than at the bottom.
 Here's a diff.

 diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i
 index c804b5c..f6372b1 100644
 --- a/gr-digital/swig/digital_swig.i
 +++ b/gr-digital/swig/digital_swig.i
 @@ -23,6 +23,8 @@

  %include gri_control_loop.i

 +%include swig_doc.i
 +
  %{
  #include digital_binary_slicer_fb.h
  #include digital_clock_recovery_mm_cc.h
 @@ -59,8 +61,6 @@
  %include digital_cpmmod_bc.i
  %include digital_gmskmod_bc.i

 -%include swig_doc.i
 -
  #if SWIGGUILE
  %scheme %{
  (load-extension-global libguile-gnuradio-digital_swig
 scm_init_gnuradio_digital_swig_module)


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


Re: [Discuss-gnuradio] Ben's docstring work

2011-10-16 Thread Ben Reynwar
On Sat, Oct 15, 2011 at 10:58 PM, Ben Reynwar b...@reynwar.net wrote:
 On Sat, Oct 15, 2011 at 4:16 PM, Josh Blum j...@joshknows.com wrote:


 Hi Josh,

 The docstrings should be accessible using the __doc__ property in the
 normal way.

 If you look at the generated python file the docstrings should be
 present in the function and class definitions as usual.
 e.g.
 def kurtolic_equalizer_cc(blah blah):
     docstring here
     blah blah blah

 If that's not happening, then it's not working.


 Looks like i did it wrong then. But I cant see anything wrong with the
 process. :-)

 python -c from gnuradio import digital; print
 digital.kurtotic_equalizer_cc.__doc__

 kurtotic_equalizer_cc(int num_taps, float mu) -
 digital_kurtotic_equalizer_cc_sptr

 I cloned your repo and checked out your swig_docs branch but got a
 compilation error.

 [ 46%] Generating gengen/gr_peak_detector_fb.i,
 gengen/gr_peak_detector_ib.i, gengen/gr_peak_detector_sb.i
 [ 51%] Built target gengen_generated
 [ 51%] Swig source
 [ 52%] Swig source
 /home/ben/gnuradio-jblum/jblum/gnuradio-core/src/lib/gengen/gengen.i:33:
 Error: Unable to find 'gengen_generated.i'
 make[2]: *** 
 [gnuradio-core/src/lib/swig/gnuradio_core_gengenPYTHON_wrap.cxx]
 Error 1
 make[1]: *** 
 [gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_filter.dir/all]
 Error 2
 make: *** [all] Error 2


 Ah, yea, I fixed that this morning but forgot to push. Just re-checkout
 the repo.

 -Josh


 So, it's a bug in swig_doc.py, but I haven't worked out where yet..
 It should be generating a docstring for kurtotic_equalizer_cc, but
 it is generating it for digital_make_kurtotic_equalizer_cc instead.
 There's some stuff in swig_doc.py that determines whether a class or
 function is part of a Block or just a normal class or function.
 That appears to be not working.  I'll see if I can work out why not.


Nope, that wasn't the problem.  I have no idea why it's not working.
I'll have another look at it tomorrow night.

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


Re: [Discuss-gnuradio] Ben's docstring work

2011-10-16 Thread Ben Reynwar
On Sat, Oct 15, 2011 at 11:33 PM, Josh Blum j...@joshknows.com wrote:


 On 10/15/2011 11:30 PM, Ben Reynwar wrote:
 On Sat, Oct 15, 2011 at 10:58 PM, Ben Reynwar b...@reynwar.net wrote:
 On Sat, Oct 15, 2011 at 4:16 PM, Josh Blum j...@joshknows.com wrote:


 Hi Josh,

 The docstrings should be accessible using the __doc__ property in the
 normal way.

 If you look at the generated python file the docstrings should be
 present in the function and class definitions as usual.
 e.g.
 def kurtolic_equalizer_cc(blah blah):
     docstring here
     blah blah blah

 If that's not happening, then it's not working.


 Looks like i did it wrong then. But I cant see anything wrong with the
 process. :-)

 python -c from gnuradio import digital; print
 digital.kurtotic_equalizer_cc.__doc__

 kurtotic_equalizer_cc(int num_taps, float mu) -
 digital_kurtotic_equalizer_cc_sptr

 I cloned your repo and checked out your swig_docs branch but got a
 compilation error.

 [ 46%] Generating gengen/gr_peak_detector_fb.i,
 gengen/gr_peak_detector_ib.i, gengen/gr_peak_detector_sb.i
 [ 51%] Built target gengen_generated
 [ 51%] Swig source
 [ 52%] Swig source
 /home/ben/gnuradio-jblum/jblum/gnuradio-core/src/lib/gengen/gengen.i:33:
 Error: Unable to find 'gengen_generated.i'
 make[2]: *** 
 [gnuradio-core/src/lib/swig/gnuradio_core_gengenPYTHON_wrap.cxx]
 Error 1
 make[1]: *** 
 [gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_filter.dir/all]
 Error 2
 make: *** [all] Error 2


 Ah, yea, I fixed that this morning but forgot to push. Just re-checkout
 the repo.

 -Josh


 So, it's a bug in swig_doc.py, but I haven't worked out where yet..
 It should be generating a docstring for kurtotic_equalizer_cc, but
 it is generating it for digital_make_kurtotic_equalizer_cc instead.
 There's some stuff in swig_doc.py that determines whether a class or
 function is part of a Block or just a normal class or function.
 That appears to be not working.  I'll see if I can work out why not.




 It wouldnt be so bad to parameterize the package name for swig_doc.py.
 Each invocation of the generation macro would just need to pass this
 package name into the python script like so:

 python swig_doc.py $builddir/gr-digital/swig/doxygen/xml
 $builddir/gr-digital/swig/swig_doc.i digital

 ... if that makes life easier

 Nope, that wasn't the problem.  I have no idea why it's not working.
 I'll have another look at it tomorrow night.

 ok cool

 im looking forward to generating docs for each package, and getting grc
 to read the docstrings rather than the xml



It was the position of the %include swig_doc.i in the digital_swig.i file.
It needs to be at the top rather than at the bottom.
Here's a diff.

diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i
index c804b5c..f6372b1 100644
--- a/gr-digital/swig/digital_swig.i
+++ b/gr-digital/swig/digital_swig.i
@@ -23,6 +23,8 @@

 %include gri_control_loop.i

+%include swig_doc.i
+
 %{
 #include digital_binary_slicer_fb.h
 #include digital_clock_recovery_mm_cc.h
@@ -59,8 +61,6 @@
 %include digital_cpmmod_bc.i
 %include digital_gmskmod_bc.i

-%include swig_doc.i
-
 #if SWIGGUILE
 %scheme %{
 (load-extension-global libguile-gnuradio-digital_swig
scm_init_gnuradio_digital_swig_module)

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


  1   2   >