discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] GNU Radio release 3.7.0 available for download


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] GNU Radio release 3.7.0 available for download
Date: Wed, 3 Jul 2013 16:09:49 -0400

On Wed, Jul 3, 2013 at 3:57 PM, LD Zhang <address@hidden> wrote:
> Is it true that the blks2 is gotten rid of in 3.7? I have gotten used to some 
> code that uses blks2 and some documentation. Will those online 
> documentation/code examples also be updated with version 3.7?
>
> We are getting a new USRP, should I stick with 3.6 or go to 3.7?
>
> Thanks,
>
> LD

All of the blocks in blks2impl are still there but are now in their
more natural components. Look for them under the python/ directory for
different top-level components. Specifically, you'll find many in
gr-digital, gr-analog, and gr-filter.

This wiki is designed to help people transition over to the new code.
Help in documenting where some of these blocks went would be very
welcome:

http://gnuradio.org/redmine/projects/gnuradio/wiki/Move_3-6_to_3-7

Tom


>
> -----Original Message-----
> From: address@hidden [mailto:address@hidden On Behalf Of Johnathan Corgan
> Sent: Wednesday, July 03, 2013 12:03 PM
> To: address@hidden
> Subject: [Discuss-gnuradio] GNU Radio release 3.7.0 available for download
>
> GNU Radio release 3.7.0 is available for download:
>
> http://gnuradio.org/releases/gnuradio/gnuradio-3.7.0.tar.gz
>
> MD5 sum:
>
> c2856ee14b415a64abf5dc9af0f5374c  gnuradio-3.7.0.tar.gz
>
> This is a major new release of GNU Radio, culminating a year and a half of 
> side-by-side development with the new features added to the GNU Radio
> 3.6 API. With the significant restructuring that was occurring as part of the 
> 3.7 development, at times this seemed like rebuilding a race car engine while 
> still driving it.
>
> All the appropriate bug fixes applied in the 3.6.0 - 3.6.5.1 series of 
> releases were incorporated into 3.7.0 and are not re-listed here.
> Otherwise, this release has all the features added to 3.6 and the new ones 
> listed below that could only be done in the 3.7 API.
>
> The GNU Radio SDR framework/runtime gained many new capabilities in 3.6, and 
> our project focus now during the 3.7 development series will be to use these 
> new capabilities to improve GNU Radio DSP block libraries and example 
> applications.
>
> The detailed release notes follow.
>
>
> Contributors:
>
> Ben Reynwar <address@hidden>
> Gerald Baier <address@hidden> Jaroslav Škarvada <address@hidden> Jeff Long 
> <address@hidden> Johnathan Corgan <address@hidden> Josh Blum <address@hidden> 
> Mark Plett <address@hidden> Martin Braun <address@hidden> Michael Dickens 
> <address@hidden> Nicholas Corgan <address@hidden> Nick Foster 
> <address@hidden> Nick McCarthy <address@hidden> Philip Balister 
> <address@hidden> Sreeraj Rajendran <address@hidden> Tim Newman 
> <address@hidden> Tim O'Shea <address@hidden> Tom Rondeau <address@hidden> 
> Volker Schroer <address@hidden>
>
>
> Code Structure Changes (Johnathan Corgan, Tom Rondeau)
>
> The GNU Radio source code was restructured and flattened. All top-level 
> components now use the same structure for consistency and ease of use.
> All blocks were moved out of gnuradio-core, which has been renamed to 
> gnuradio-runtime. The blocks are now in their appropriate top-level 
> components and reimplemented with the new 3.7 API style. The new API makes 
> use of C++ namespaces and the virtual private implementation class pattern to 
> better hide GNU Radio internals from user code.
>
> Details about this can be found here:
>
> http://gnuradio.org/redmine/projects/gnuradio/wiki/Move_3-6_to_3-7
>
> A Google doc showing all items that were moved from one place to another in 
> the new style is here:
>
> http://ow.ly/mDpey
>
> Blocks not listed were already in their own components. Many blocks were 
> removed. All columns marked with ‘-----’ means that column is not applicable 
> to that block or class. Any column (except those marked as
> Remove) that are blank means that we might be able to improve upon it, which 
> normally indicates using VOLK or improving documentation.
>
> A Google doc showing the new component and Doxygen categories for all 
> components is here:
>
> http://ow.ly/mDplO
>
>
> Important new features:
>
> ControlPort (Tom Rondeau, Tim O’Shea)
>
> ControlPort is a new interface for standardizing remote procedure calls in 
> GNU Radio:
>
> * Remote control and visualization.
> * Use of ControlPort to debug without requiring extra debug streams.
> * Abstracted interface, but currently using ICE (www.zeroc.com).
> * No additional CPU usage while no monitoring is occurring.
> * Can connect multiple remotes to same GNU Radio application.
> * Can also have single ControlPort app control multiple GR apps.
>
> Each block creates interfaces to control data members, by defining ‘get’
> and ‘set’ interface to query and update values of block variables.
> Preference files control the state of ControlPort in section [ControlPort] of 
> gnuradio-runtime.conf.
>
> ControlPort comes with a generic utility to allow you to see all interfaces 
> of a flowgraph:
>
> * gr-ctrlport-monitor <ip address> -p <port>
>
> Within a flowgraph, one can also use ControlPort probes to pass vectors of 
> data to a ControlPort client, including complex IQ data. One useful probe 
> calculates the power spectral density of a block output for remote display.
>
> See the ControlPort page in the GNU Radio manual for more information:
>
> http://gnuradio.org/doc/doxygen/page_ctrlport.html
>
>
> Performance Measurement Tools
>
> Performance Counters were first built into GNU Radio in 3.6.5, but could only 
> be accessed locally. Now, all Performance Counters can be exported over 
> ControlPort.
>
> Performance Counters must be compiled into GNU Radio using 
> -DENABLE_PERFORMANCE_COUNTERS=True. They can be toggled on/off at runtime 
> using the [PerfCounters] section in gnuradio-runtime.conf. Use option 
> ‘export’ to export Performance Counters over ControlPort.
>
> We now include a new tool to visualize the Performance Counters over 
> ControlPort. This is installed as gr-perf-monitorx and requires the Python 
> modules Scipy, NetworkX, and Matplotlib. Nodes of the flowgraph are 
> represented as blue squares. The size of the square is proportional to the 
> amount of time spent in the work function (either thread time or monotonic 
> (wall clock) time). The size and depth of the shade of red of the edges is 
> proportional to how full the block’s output buffer is.
>
>
> QTGUI Enhancements (Tom Rondeau, Nick Foster, Ben Reynwar)
>
> The QTGUI widgets defined in gr-qtgui have had a major overhaul in 3.7.
> All plots are now split out into individual components, including:
>
> * Time plots (amplitude versus time)
> * FFT plots (or PSD) (log magnitude versus frequency)
> * Waterfall plots (or spectrograms) (time versus frequency with magnitude as 
> the color intensity)
> * Constellation plots (imaginary (quadrature) versus real (inphase))
> * Time raster plots (time vs. time)
>
> Each plot can accept multiple connections that will overlay the signals on 
> them. Zooming and unzooming are the same using the left and right mouse 
> buttons. The center mouse button will pull up a context menu to allow 
> manipulations of all kinds of properties of the display, such as line and 
> marker styles, the size of the FFT, averaging, line transparency, etc. 
> Significant work has gone into improving the performance, including the use 
> of VOLK and more intelligent ways of handling the display to reduce the 
> computational load.
>
> QT defined QT Style Sheets (QSS) that allow us to specify looks, colors, and 
> other properties of a display. Support for the use of QSS has been added to 
> gr-qtgui to make establishing your preferences easier.
>
> gr-qtgui/examples contains a number of examples showing how to use each type 
> of plot and the QSS definition and interface.
>
>
> Uninstalled imports (Ben Reynwar)
>
> The GNU Radio source tree was updated to allow us to directly import all GNU 
> Radio components in-tree before install but using the same syntax.
> This change greatly reduces problems and complexity of writing Python code 
> for use in both normal installations and QA code. This change will also allow 
> us to automatically build the Sphinx Python manual during make.
>
>
> Updated gr_filter_design (Sreeraj Rajendran)
>
> Overhauled the current gr_filter_design to add better visualization and 
> interactive tools. Installed as part of the gr-filter component now, the 
> gr_filter_design tool adds many new features for visualizing filters as well 
> as support for IIR filter tap design. The new tool also includes a 
> programmatic API that allows a user to launch the filter design tool inline 
> in a program, design the new filter, and pass back an object containing the 
> filter taps and parameters. Passing a callback function allows the designer 
> to run in a separate thread and every time a new filter is designed, the 
> callback function can be triggered to update a filter.
>
> Examples of using the programmatic access to gr_filter_design can be found in 
> gr-filter/examples/gr_filtdes_*.
>
>
> Other New Components and Features
>
> New blocks added:
>
> * gr::analog::fast_noise_source - pre-generates a table of random samples 
> from the selected PDF and randomly samples from them. This has somewhat less 
> entropy than the normal noise_source block but is significantly faster.
>
> * gr::analog::agc3_*: Performs an initial linear gain ramp to quickly 
> converge on a signal during startup and then falls back to an iterative loop 
> similar to agc2.
>
> * The agc, agc2, and agc3 blocks have been made to use a unified interface 
> that now includes a default maximum gain value (set to 2^16 so that it can 
> scale up even the LSB of a USRP’s device).
>
>
> New gr-fec component
>
> This new top-level component mainly functions as a placeholder for new FEC 
> block implementations.  Currently contains only a couple of purpose-built FEC 
> blocks.
>
>
> New gr-channels component (Tim O'Shea)
>
> This new top-level component holds current and future channel model blocks.  
> The standard AWGN channel_model has moved here. In addition, there are two 
> new channel models:
>
> * fading_model - Uses configurable max Doppler shift, Rician power factor, 
> and lists of the delays (in samples) and magnitudes of a power delay profile.
>
> * selective_fading model - Basic fading model that can have a number of 
> sinusoids, max Doppler shift, and Rician power factor defined for it.
>
>
> volk_modtool (Nick McCarthy)
>
> This new tool allows the creation of out-of-tree VOLK libraries. These allow 
> developers or organizations to develop a set of VOLK kernels for internal use 
> apart from the main libvolk provided by GNU Radio.
>
>
> GnuradioConfig.cmake (Tom Rondeau, Tim O’Shea)
>
> New GnuradioConfig.cmake and GnuradioConfigVersion.cmake cmake files are 
> installed into the system under $prefix/lib/cmake/gnuradio. These files can 
> be used by any other project to easily test if any GNU Radio components are 
> installed and the minimum API-compatible version required.
>
> Set GR_REQUIRED_MODULES to any of the top-level components in GNU Radio in 
> all caps. Then use find_package(Gnuradio) to search for them. The second 
> optional argument is the API compatible version is was built against. For 
> example, to test if gnuradio-runtime, gnuradio-blocks, and gnuradio-filter 
> are installed, we would use:
>
> set(GR_REQUIRED_MODULES RUNTIME BLOCKS FILTER) find_package(Gnuradio 3.7.0)
>
>
> Additional Fixes (Ben Reynwar, Tom Rondeau, Josh Blum, Nicholas Corgan)
>
> * Added symbol output stream from constellation_receiver so we can see the 
> locked constellation as well as the output bits.
>
> * Introduced a new pfb_arb_resampler kernel class that can be used by other 
> blocks. We have used this to significantly simplify the 
> pfb_arb_resampler_ccf/fff blocks.
>
> * All PFB code has new QA and fixed a few minor bugs in the calculation of 
> some of the filters.
>
> * Added more QAM support with Gray coding.
>
> * Reworked VOLK. All kernels are now in volk/kernels/volk, made all kernels 
> consistent in use of num_points, and redid any kernels that used num_bytes.
>
> * Removed assumptions that were Linux-only to continue to support native MSVC 
> builds.
>
>
> Obsoleted and/or removed functionality
>
> The following components have been removed or redone:
>
> * gr-shd (removed)
> * gruel (removed; all functionality now in gnuradio-runtime)
> * gr-howto-write-a-block (functionality replaced by gr_modtool)
>
> For more removed items, see:
>
> http://ow.ly/mDpey
>
>
> Deprecated functionality
>
> These are items that are currently part of GNU Radio, but are planned to be 
> removed in the next API release (3.8).
>
> * gr-noaa - will be reimplemented as a stand-alone, out-of-tree project and 
> supported with PyBOMBS
>
> * gr-pager - will be reimplemented as a stand-alone, out-of-tree project and 
> supported with PyBOMBS
>
>
> --
> Johnathan Corgan
> Corgan Labs - SDR Training and Development Services http://corganlabs.com
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]