Hello list, A bunch of great work has been merged into the master. For those following the work on the master branch, and not a release, you will need to update your firmware and FPGA images: http://code.ettus.com/redmine/ettus/projects/uhd/wiki#Binary-downloads http://files.ettus.com/uhd_releases/master_images/ ----------------------------------------------------------------------- -- RX bandwidth doubled with complex-int8 mode ----------------------------------------------------------------------- One may wish to send alternative formats over the wire: for example to increase bandwidth at the expense of precision. All USRPs now support receiving complex-int8 over the wire (previously only complex-int16 implemented). To make use of this feature, see the notes below on the API changes. ----------------------------------------------------------------------- -- Stream API changes ----------------------------------------------------------------------- There has been some fundamental changes to the UHD API in terms of streaming. Before I continue, I should state that the recent changes are *backwards compatible*. All code out there, C++ or python will continue to compile and run. Basically, rather than calling send() or recv(), on a device object, you create a streamer object with some parameters and call send()/recv() on that streamer. http://files.ettus.com/uhd_docs/doxygen/html/stream_8hpp.html Essentially, each streamer represents a group of channels with its own sample rate and format. This will allow users to receive from multiple heterogeneous channels, and support the complex-int8 type as mentioned above. The best way to understand this is to take a look at the examples directory. All examples have been updated to reflect the API changes. ----------------------------------------------------------------------- -- Stream API and GNURadio ----------------------------------------------------------------------- The USRP source and sink blocks have been updated to reflect the new API; as well as the python and C++ examples and applications. The gr-uhd component will continue to compile with the UHD releases and the recent work on master. The source and sink block feature new constructors which take the stream args as a parameter. With stream args, users can specify the number of channels and host format, and more importantly, the wire format to support the new complex-int8 feature. Unfortunately, the source and sink blocks do not yet support heterogeneous channels (different rates and/or IO types). This is too much change to me to handle at the moment. I believe the implementation would involve multiple work functions (threads), one for each streamer. For code examples, see any of the gr-uhd/examples or gr-uhd/apps. Or my personal favorite: make a flow graph in GRC, and inspect the generated code. ----------------------------------------------------------------------- -- Clock config API changes ----------------------------------------------------------------------- I am deprecating clock config as the method of configuring the device's time reference and clock reference. All calls to set clock config will continue to work, they are just mapped into the new interface. This applies UHD, gr-uhd, C++, and python: Clock config has been split into two separate calls: set_time_source() and set_clock_source(), where each source has a name identified by a string, such as "external", "internal", "mimo", "gps". Users may also query the list of possible time or clock sources. http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a57a5580ba06d7d6a037c9ef64f1ea361 GRC blocks have been updated to generate calls for the API changes. ----------------------------------------------------------------------- -- Hooks for IQ balance and DC offset correction ----------------------------------------------------------------------- Hooks have been added into UHD, gr-uhd, c++, and python to configure the various correction registers in the FPGA. Users can use this to control the DC offset correction and IQ imbalance correction arithmetic in the FPGA. http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a7beb49c1a04a81b3e7569db482453746
on 2011-11-08 05:11
on 2011-11-10 22:08
On Tue, Nov 8, 2011 at 5:11 AM, Josh Blum <josh@ettus.com> wrote: > Hello list, > > A bunch of great work has been merged into the master. > > ----------------------------------------------------------------------- > -- Hooks for IQ balance and DC offset correction > ----------------------------------------------------------------------- > Hooks have been added into UHD, gr-uhd, c++, and python to configure the > various correction registers in the FPGA. Users can use this to control > the DC offset correction and IQ imbalance correction arithmetic in the FPGA. This means that calling set_tx_iq_balance with (1,-1) I will get an "inverted spectrum" ? G. -- cpp-today.blogspot.com
on 2011-11-15 07:13
Dear Josh, I am assuming that with new IQ balance and DC offset correction methods, we can calibrate a multi-channel USRP system for their phase and LO offsets in real-time streaming. May you please elaborate it a little more for our convenience: if and how it can be achieved. Thanks for the great work, Khalid. Josh Blum wrote in post #1030750: > > ----------------------------------------------------------------------- > -- Hooks for IQ balance and DC offset correction > ----------------------------------------------------------------------- > Hooks have been added into UHD, gr-uhd, c++, and python to configure the > various correction registers in the FPGA. Users can use this to control > the DC offset correction and IQ imbalance correction arithmetic in the > FPGA. > > http://files.ettus.com/uhd_docs/doxygen/html/classuhd_1_1usrp_1_1multi__usrp.html#a7beb49c1a04a81b3e7569db482453746
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.