[Discuss-gnuradio] USRP/gnuradio Issues in OS X
Hi! I'm new to gnuradio, and I just got my USRP several days ago. I'm trying to use it with my Mac running Snow Leopard, and I'm having some issues with some of the USRP utilities and examples. I've built the gnuradio software from the head revision in the git repository, with the pre-requisite libraries supplied by MacPorts. My USRP hardware appears to be working correctly, since I can run many of the examples such as usrp_fft.py, usrp_wfm_rcv.py, usrp_nbfm_rcv.py and usrp_siggen.py, all with reasonable results. Some of the other examples and utilities aren't working for me though. In this message I'll just focus on two of them: usrper and usrp_benchmark_usb.py. I've tried running the test routine (?), and it fails like this: ~% usrper load_standard_bits Assertion failed: (ctx != NULL), function usrp_find_device, file usrp_prims_libusb1.cc, line 184. Abort ~% I've also tried running the bandwidth benchmark, and it fails like this: ...examples/usrp% ./usrp_benchmark_usb.py Testing 2MB/sec... usrp: libusb_control_transfer failed: Unknown error usrp: failed to get hash usrp: libusb_control_transfer failed: Unknown error write_internal_ram failed usrp: failed to load firmware /usr/local/share/usrp/rev4/std.ihx. Traceback (most recent call last): File ./usrp_benchmark_usb.py, line 106, in module main () File ./usrp_benchmark_usb.py, line 96, in main ok = run_test (rate, verbose) File ./usrp_benchmark_usb.py, line 67, in run_test usrp_rx = usrp.source_s (0, rx_decim, 1, 0x32103210, usrp.FPGA_MODE_LOOPBACK) File /usr/local/lib/python2.6/site-packages/gnuradio/usrp/usrp_swig.py, line 2067, in source_s return _usrp_swig.source_s(*args, **kwargs) RuntimeError: can't open usrp ...examples/usrp% Some notes on my build environment: I found that I need to use the native gcc instead of the one provided by MacPorts in order for gr-audio-osx to build (it can't find some of the core audio headers otherwise), and that I need to pass some flags into configure so that the required libraries and headers are found. Also, MacPorts installs libtoolize as glibtoolize to avoid a name collision with the native Mac libtool program, so I created a symbolic from /usr/local/bin/libtoolize to /opt/local/bin/glibtoolize in order to get the bootstrap script to run. I configured the gnuradio software this way: ./configure CC=/usr/bin/gcc \ CXX=/usr/bin/g++ \ CPPFLAGS=-I/opt/local/include -I/opt/local/include/qwt -I/opt/local/include/qwtplot3d \ LDFLAGS=-L/opt/local/lib -F/opt/local/Library/Frameworks \ --with-fusb-tech=libusb1 \ --enable-gr-qtgui \ --enable-gr-audio-osx The two --enable* flags probably aren't strictly necessary, but they are leftover from when I was finding the pre-requisites for those packages by trial and error. Everything seems to build OK, and I can use the USRP with some of the examples. I tried make check, and it passes a whole bunch of tests and then chokes when a test that I haven't identified yet complains about failing to connect to a socket. There are other examples which presently don't work for me, such as hfx2.py and usrp_am_mw_rcv.py... I'll try debugging those some more myself before I ask about them here. Have any of y'all seen these kinds of failures before? Thanks in advance for any hints or suggestions. -- Mark J. Blair, NF6X n...@nf6x.net Web page: http://www.nf6x.net/ GnuPG public key available from my web page. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Installing Simulink_USRP_Blockset
Hi everyone, I have a USRP rev. 4 and i want to install Simulink_USRP_Blockset on http://www.cel.kit.edu/english/downloads.php . Is it possible to install this blockset for rev 4. Thanks. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Google Summer of Code: Bridging SciLab with Python (and Gnuradio?)
Hi, this could be a good approach for a Gnuradio integration into SciLab: http://www.scilab.org/projects/development/google Simulink import in Xcos Jerzy Zagorski Importation of most of the Simulink schemas from Xcos. Python import Baozeng Ding Introduction of a mechanism to load and use Python code (objects in particular) from Scilab. So, Gnuradio blocks could be integrated via Python into a Scilab or Scilab/Xcos-Simulation (Simulink-like with the possibility of Simulink imports). I'm not sure if this is also possible with streaming data, or just for calling single functions. Moeller ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Combining filters
On Sun, Aug 15, 2010 at 12:46 AM, Brian Padalino bpadal...@gmail.com wrote: On Sat, Aug 14, 2010 at 8:18 PM, Marcus D. Leech mle...@ripnet.com wrote: On 08/14/2010 08:08 PM, Brian Padalino wrote: On Sat, Aug 14, 2010 at 7:59 PM, Marcus D. Leech mle...@ripnet.com wrote: I have an application that's running on some fairly spartan hardware, so I'm trying to find ways to make the flow-graph more computationally efficient, so that I have more headroom for inevitable feature creep. Part of my flow-graph has a FIR bandpass filter, which is followed immediately by an FFT filter. The FIR bandpass is simply to define my passband of interest (I bring in 1MHz, but only need/want 700KHz in the middle), and the FFT filter is designed to allow me to dynamically notch-out narrowband interferers. Is there an efficient way to combine these two into a single filter, that will be more computationally efficient than two filters in series? You should be able to convolve the time domain taps of both filters to achieve the cascaded performance of the two filters in series. Oh, I knew somebody would say just convolve 'em, but that yields a filter that's computationally the some order as the two in series, give or take. Sigh. Glad I could be that somebody. I am not sure this would really yield any better computational results, but it's the easiest thing that comes to mind. Switching to fixed point for your filtering may be the best bang-for-your-buck as long as you don't need a massive amount of dynamic range. My impression is that floating-point performance these days, on *86 hardware, is generally better than integer, particular with the SIMD floating-point instructions. The particular platform is Atom based, a D510, which is a dual-core CPU running at about 1.7GHz. The current app is taking up about 65% of the combined CPU, and I just want to get a little more headroom. If you take that approach, you'd get better performance for the longer SIMD instructions since you wouldn't be fetching as many instructions using the convolved filters, right? The number of operations ends up being the same, but how quickly and how concise you can tell the processor to do the operation is what you're fighting now it seems. It's a shame it's a D510 and doesn't support DPPS or DPPD dot product instruction as described here: http://en.wikipedia.org/wiki/SSE4#SSE4.1 Either way, you may be able to pack twice as many samples if you use 16-bit samples instead of 32-bit floats: http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions But that ends up as a reduction in dynamic range, which I'm not sure you can deal with. I'd be interested to hear what solution you come up with. Me too :-) Actually, something I'd thought of would be to treat the edges as multiple contiguous notches, and run that in the FFT filter only, and eliminate the FIR bandpass filter. But I'm not sure I'll get really good stop-band attenuation that way. Not knowing your bandpass FIR filter, but guessing equiripple - you could complex mix your center to baseband and do a real low-pass filter which should be a lower order than an equivalent bandpass equiripple - but I am making a lot of assumptions about your filters, your data/dynamic range requirements and all sorts of other crucial bits. -- Marcus Leech Principal Investigator Shirleys Bay Radio Astronomy Consortium http://www.sbrac.org In the end, I'm no microarchitecture expert - especially when it comes to x86. Good luck. Brian I've done a fair amount of testing of the FIR vs. FFT filters for speed comparisons. My main insight here is that you really should be using an FFT filter for what you're doing. The performance crossover is around 22 taps for complex filters, and less than 22 taps, the FIR filter doesn't buy you all that much savings. If you convolve the taps and get a longer filter, using the FFT filter won't cost you all that much more in performance. In fact, the performance is fairly flat between powers of two. By that I mean, running a 32 - 63 tap filter is _roughly_ the same cost, and a 64 - 127 tap filter is more expensive, but within that range, it is again _roughly_ the same. At that point, you're doing so much better than the FIR filter, too. In summary, make single filter shape by convolving the two filter taps and then process it with the FFT filter. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Suggested reading order
Hi, I'll give it a shot. I studied DSP etc. in college, but have worked mostly in pure software development, so I may be able to guess what you need to focus on. This may be contentious advice, and I'll defer to anyone with differing views. The following may be a good reading order for you: 1. DSP - starting with the basics of signals systems, sampling etc. Understanding Digital Signal Processing by Richard Lyons is a really good reference, but you can try starting off with the free online book at http://www.dspguide.com/, and see if that is enough for your needs. It's been a while since I've read through either reference, but I remember they were both good, although the Lyons book is a classic. 2. Digital Communications: DSP as applied to communications... modulation, demodulation, coding etc. Personally, I found the MIT course (Principles of Digital Communications I on OCW) way too theoretical, so you can skip that. Any of the books may be a really good reference, but I've only read Proakis. The http://www.complextoreal.com/tutorial.htm website may be useful too. 3.Software Radio in General - once you understand the previous two sections, you'll see that most signal processing can be implemented as algorithms on a stream of numbers. The details of Software Radio may then be intuitive to you as a programmer. So it may be enough to skim through some of the briefer references in this section, and focus on the GNU Radio docs / articles. If you don't need to mess with the FPGA or the hardware, you can safely skip the Electronics and Verilog sections. If you don't need to deal with techniques requiring advanced RF topics or antenna design (e.g. MIMO etc.), you can safely skip the Radio and RF design section, although a skim of Wikipedia on the topic can't hurt. I think http://www.complextoreal.com/tutorial.htm may be a decent starting point for both, DSP basics, and digital communications. I haven't gone through all the tutorials there yet, but I thought the Fourier Analysis Made Easy tutorials were easy to read. Keep in mind, I already had studied DSP previously, so it may not be as easy for a complete beginner. Hope this helps. Kunal On Sat, Aug 14, 2010 at 10:02 PM, Jim sukhoi...@gmail.com wrote: Hi, Tom: Thank you for the suggestion, I'll give it a try. Thanks Jim Tom Rondeau wrote: On Wed, Aug 11, 2010 at 10:52 AM, Jim sukhoi...@gmail.com wrote: Hi,: I'm a newbie to GNURadio/USRP, I have checked the suggested reading at http://gnuradio.org/redmine/wiki/gnuradio/SuggestedReading, but there're a lot of material there, it would probably take a year to go through all sections even if I just read one book from each section. I wonder if every section is a must read or some can be skipped if I'm not going to modify the hardware? Also is there an order by which I should go through the different sections (for example Electronics first, then Radio and RF Design, then ...). I have strong background in software development, so Programming/C++/Python should be no problem, but I know very little about hardware/radio/communication/dsp. Thanks Jim Hi Jim, I haven't spent much time thinking about this question before, and I suspect from the lack of response to your query, not many others have, either. The best I can tell you right now is to take the Wikipedia approach. That is, find something to start with and move around when you find something interesting or that needs more explanation. Probably best to start with reading up on GNU Radio first and see what doesn't make sense, then try to fill in those holes first. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Suggested reading order
Hi, Kunal: This is great advice, I was tempted to give the MIT course a try, now I guess I'll start with complextoreal tutorial, then Lyons and Proakis books. Thank you very much! Thanks RJX Kunal Kandekar wrote: Hi, I'll give it a shot. I studied DSP etc. in college, but have worked mostly in pure software development, so I may be able to guess what you need to focus on. This may be contentious advice, and I'll defer to anyone with differing views. The following may be a good reading order for you: 1. DSP - starting with the basics of signals systems, sampling etc. Understanding Digital Signal Processing by Richard Lyons is a really good reference, but you can try starting off with the free online book at http://www.dspguide.com/, and see if that is enough for your needs. It's been a while since I've read through either reference, but I remember they were both good, although the Lyons book is a classic. 2. Digital Communications: DSP as applied to communications... modulation, demodulation, coding etc. Personally, I found the MIT course (Principles of Digital Communications I on OCW) way too theoretical, so you can skip that. Any of the books may be a really good reference, but I've only read Proakis. The http://www.complextoreal.com/tutorial.htm website may be useful too. 3.Software Radio in General - once you understand the previous two sections, you'll see that most signal processing can be implemented as algorithms on a stream of numbers. The details of Software Radio may then be intuitive to you as a programmer. So it may be enough to skim through some of the briefer references in this section, and focus on the GNU Radio docs / articles. If you don't need to mess with the FPGA or the hardware, you can safely skip the Electronics and Verilog sections. If you don't need to deal with techniques requiring advanced RF topics or antenna design (e.g. MIMO etc.), you can safely skip the Radio and RF design section, although a skim of Wikipedia on the topic can't hurt. I think http://www.complextoreal.com/tutorial.htm may be a decent starting point for both, DSP basics, and digital communications. I haven't gone through all the tutorials there yet, but I thought the Fourier Analysis Made Easy tutorials were easy to read. Keep in mind, I already had studied DSP previously, so it may not be as easy for a complete beginner. Hope this helps. Kunal On Sat, Aug 14, 2010 at 10:02 PM, Jim sukhoi...@gmail.com wrote: Hi, Tom: Thank you for the suggestion, I'll give it a try. Thanks Jim Tom Rondeau wrote: On Wed, Aug 11, 2010 at 10:52 AM, Jim sukhoi...@gmail.com wrote: Hi,: I'm a newbie to GNURadio/USRP, I have checked the suggested reading at http://gnuradio.org/redmine/wiki/gnuradio/SuggestedReading, but there're a lot of material there, it would probably take a year to go through all sections even if I just read one book from each section. I wonder if every section is a must read or some can be skipped if I'm not going to modify the hardware? Also is there an order by which I should go through the different sections (for example Electronics first, then Radio and RF Design, then ...). I have strong background in software development, so Programming/C++/Python should be no problem, but I know very little about hardware/radio/communication/dsp. Thanks Jim Hi Jim, I haven't spent much time thinking about this question before, and I suspect from the lack of response to your query, not many others have, either. The best I can tell you right now is to take the Wikipedia approach. That is, find something to start with and move around when you find something interesting or that needs more explanation. Probably best to start with reading up on GNU Radio first and see what doesn't make sense, then try to fill in those holes first. Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Dynamic range questions
I have an application that must operate in the 25MHz to 40MHz region, with a channel having a nominal bandwidth of 50Khz to 700KHz or so. The Rx center frequency may be anywhere in the 25MHz to 40MHz region. My question is about dynamic range requirements when operating a receiver in that neighbourhood of the spectrum. It's not a neighbourhood I've habitually hung out in, so I don't have any intuitive feel for how crowded it is, with emphasis on the Rx being in deep rural locations. My suspicion is that things like GSM receivers have a much worse time of it, and do OK with 14 bits of A/D. Is it likely that I'll need to do narrower analog filtering in the RF front end, to avoid dynamic range issues? It's more convenient if I don't have to do that, but specific Rx locations could have analog filters installed to more closely match their specific Rx frequencies. Cheers -- Marcus Leech Principal Investigator Shirleys Bay Radio Astronomy Consortium http://www.sbrac.org ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Suggested reading order
On Sun, Aug 15, 2010 at 8:46 PM, Kunal Kandekar kunalkande...@gmail.com wrote: Hi, I'll give it a shot. I studied DSP etc. in college, but have worked mostly in pure software development, so I may be able to guess what you need to focus on. This may be contentious advice, and I'll defer to anyone with differing views. The following may be a good reading order for you: 1. DSP - starting with the basics of signals systems, sampling etc. Understanding Digital Signal Processing by Richard Lyons is a really good reference, but you can try starting off with the free online book at http://www.dspguide.com/, and see if that is enough for your needs. It's been a while since I've read through either reference, but I remember they were both good, although the Lyons book is a classic. 2. Digital Communications: DSP as applied to communications... modulation, demodulation, coding etc. Personally, I found the MIT course (Principles of Digital Communications I on OCW) way too theoretical, so you can skip that. Any of the books may be a really good reference, but I've only read Proakis. The http://www.complextoreal.com/tutorial.htm website may be useful too. 3.Software Radio in General - once you understand the previous two sections, you'll see that most signal processing can be implemented as algorithms on a stream of numbers. The details of Software Radio may then be intuitive to you as a programmer. So it may be enough to skim through some of the briefer references in this section, and focus on the GNU Radio docs / articles. If you don't need to mess with the FPGA or the hardware, you can safely skip the Electronics and Verilog sections. If you don't need to deal with techniques requiring advanced RF topics or antenna design (e.g. MIMO etc.), you can safely skip the Radio and RF design section, although a skim of Wikipedia on the topic can't hurt. I think http://www.complextoreal.com/tutorial.htm may be a decent starting point for both, DSP basics, and digital communications. I haven't gone through all the tutorials there yet, but I thought the Fourier Analysis Made Easy tutorials were easy to read. Keep in mind, I already had studied DSP previously, so it may not be as easy for a complete beginner. Hope this helps. Kunal Kunal, This is really good. Would you be up for putting this on the Wiki page for future reference? Thanks! Tom ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Unable to build firmware binary
Hi I have recently made some changes to the usrp2 firmware, and tried to build according to USRP2 User FAQ. As far as I could tell from the aforementioned FAQ, this should have resulted in a file txrx.bin being created, that I can download to the SD card for the USRP2. However, in the first instance, the build failed due to some unlocated files in the linking stage. Hence, I did a fresh make bootstrap/configure/make etc. from the top directory, and the make succeeded but I still get no txrx.bin Finally, I tried to uninstall old make and clean git as per instructions on gnu radio website. Still, I do not get the txrx.bin when I make from gnuradio/usrp2 directory. Can anyone suggest what I might be doing wrong or how to fix this problem? Thanks Ian. This message is intended only for the use of the intended recipient(s) If you are not an intended recipient, you are hereby notified that any use, dissemination, disclosure or copying of this communication is strictly prohibited. If you have received this communication in error please destroy all copies of this message and its attachments and notify the sender immediately ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio