[Discuss-gnuradio] Re: change connection during execution
Josh Blum josh at joshknows.com writes: top_block_gui inherits from a top block and wxgui window. It has all the methods of a top block. So you can do anything that a top block can. i solved this by reading the example: usrp_siggen.py regards Markus ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Re: uses gr.file_sink 32 bit or 64 bit
Brian Padalino bpadalino at gmail.com writes: Wherefor is the first line ? For the I part or the Q part ? Does the lines of the I and Q part change from line to line ? 0 - 1i -- real(I) - imag(I) -1 + 0i -- real(Q) + imag(Q) You may want to refresh your knowledge of complex numbers: http://en.wikipedia.org/wiki/Complex_number http://www.dspguru.com/info/tutor/QuadSignals.pdf Thanks Brian for your nice link, but if you only post a link and do not wrote a simple answer like yes or no to my question, then i will be confused. Or is there something totally wrong i wrote ? Then please also wrote my mistake ! How ever do you have also a good link or answer, why this http://img90.imageshack.us/my.php?image=from100to164bits.jpg doesn't looks like the FFT-Spectrum we get in gnuradio in the FFT-sink. The Howto http://gnuradio.org/trac/wiki/Octaveis incomplete !? Thanks and Regards Markus ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] location of installed gnuradio programs Q
On Mar 27, 2009, at 11:09 PM, davek wrote: What is the criteria for a gnu radio program that determines if it gets put in /usr/local/bin or /usr/local/share/gnuradio/examples These are parameters that can be specified as 'configure' arguments: the former is --prefix=[path] and the latter is -- datarootdir=[path] and then the examples will be installed in $ {datarootdir}/gnuradio/examples . You listed the defaults for these ( ${prefix}=/usr/local and ${datarootdir}=${prefix}/share ), which are specified internally in configure.ac and/or config/*.m4 files. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] CIC Interpolator Filter in the FPGA
Hello, i have read that the interplation rate set in the GNU Radio Python script is actually a combination of 2 interpolation rate values on the USRP. the AD9860 chips are set by default to interpolate at a value of 4. therefore, the user must select an interpolation rate that is divisible by 4. can anyone explain how implemented the CIC interploator Filter (how many stages) in the FPGA. if we want a interpolation of 32, the interpolation rate is 4 in the AD9860 (4x interpolation), sothat the interpolation is 32/4=8 in the FPGA (stages ??), am i right? thanks a lot! slimchao -- View this message in context: http://www.nabble.com/CIC-Interpolator-Filter-in-the-FPGA-tp22757289p22757289.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] location of installed gnuradio programs Q
Ok, but when people check in programs to the repository, what makes them decide if its a /bin program of a /example program? Is there some reason behind the choice? On Sat, Mar 28, 2009 at 10:13 AM, Michael Dickens m...@alum.mit.edu wrote: On Mar 27, 2009, at 11:09 PM, davek wrote: What is the criteria for a gnu radio program that determines if it gets put in /usr/local/bin or /usr/local/share/gnuradio/examples These are parameters that can be specified as 'configure' arguments: the former is --prefix=[path] and the latter is --datarootdir=[path] and then the examples will be installed in ${datarootdir}/gnuradio/examples . You listed the defaults for these ( ${prefix}=/usr/local and ${datarootdir}=${prefix}/share ), which are specified internally in configure.ac and/or config/*.m4 files. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] CIC Interpolator Filter in the FPGA
Hi, On Sat, 3/28/09, slimchao slim1...@hotmail.com wrote: Hello, can anyone explain how implemented the CIC interploator Filter (how many stages) in the FPGA. if we want a interpolation of 32, the interpolation rate is 4 in the AD9860 (4x interpolation), sothat the interpolation is 32/4=8 in the FPGA (stages ??), am i right? thanks a lot! slimchao See: http://gnuradio.org/trac/wiki/UsrpFAQ/DDC http://gnuradio.org/trac/wiki/UsrpFAQ/DUC BR Firas ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Re: uses gr.file_sink 32 bit or 64 bit
On Sat, Mar 28, 2009 at 10:09 AM, feldmaus feldmann_mar...@gmx.de wrote: Thanks Brian for your nice link, but if you only post a link and do not wrote a simple answer like yes or no to my question, then i will be confused. Or is there something totally wrong i wrote ? Then please also wrote my mistake ! As the old proverb goes: Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime. You seem to have a grave misunderstanding of what complex numbers are and how they are represented. I highly recommend you brush up on your knowledge. Said links should be sufficient for you to correct your own mistakes. How ever do you have also a good link or answer, why this http://img90.imageshack.us/my.php?image=from100to164bits.jpg doesn't looks like the FFT-Spectrum we get in gnuradio in the FFT-sink. Unfortunately, this plot does not indicate how to interpret the data I am reading. Moreover, you did not supply the means of how you created the graph with both the script or the source data. On top of that, I have no idea how the data was captured or what the expected result should be. There are a lot of holes here when it comes to the simple question: why this? Please take the time to read: http://astro.uchicago.edu/cara/outreach/resources/other/howtograph.html Please, don't forget to perform Step 6 before mailing the list for help. The Howto http://gnuradio.org/trac/wiki/Octaveis incomplete !? Think of this as a learning opportunity as to both learn and teach others. Feel free to complete the howto on the wiki once you have gained adequate knowledge and if you still feel the wiki is still incomplete. There has been plenty of information given in this thread to understand how numbers are represented using the file_sink. It's now up to you to learn from the posts and gain that knowledge for yourself. Good luck! Brian ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Re: uses gr.file_sink 32 bit or 64 bit
I also stored another files with data captured from my signal generator. To store the data i used the Gnuradio companion with a USRP source (complex output) and a file_sink(complex input). The usrp source gets the data from my external signal-generator. But this time i increased the amplitude of my sinus signal periodically. So i can easily verify that i stored data from my signal generator and nothing else. I executed the following octave commands: c=read_complex_binary('usrp_output_64bit_complex_only_sin_signal.dat'); plot(real(c(1:600))) http://img17.imageshack.us/my.php?image=realfrom1to600samples.jpg plot(real(c(601:length(c))) http://img12.imageshack.us/my.php?image=realfrom601to2e06sample.jpg plot(imag(c(1:600))) http://img217.imageshack.us/my.php?image=imagfrom1to600samples.jpg plot(imag(c(601:length(c))) http://img21.imageshack.us/my.php?image=imagfrom601to2e06sample.jpg As you can see the amplitude will be increased over time. However this doesn't looks like as in my FFT-Plot Software ! http://img135.imageshack.us/my.php?image=originalgraphicfromffts.jpg Therfor i sink each wave is one sample and each sample has all the information to build one displayed spectrum in my FFT-Plot ??? But how can i do this with octave ? I doesn't understand FFT completely. But i think i need the FFT function to display the data as shown in my FFT-Plot ??? Now i post the Real+Imag Values from (600:700): 24 + 5i 1 + 24i -23 + 10i -19 - 18i 9 - 24i 24 + 1i 5 + 23i -21 + 13i -21 - 15i 6 - 25i 24 - 2i 8 + 23i -19 + 16i -23 - 13i 2 - 26i 24 - 5i 12 + 21i -16 + 19i -25 - 9i 0 - 26i 23 - 9i 16 + 18i -13 + 21i -25 - 5i -4 - 25i 22 - 13i 18 + 15i -10 + 23i -26 - 2i -8 - 25i 19 - 17i 20 + 12i -6 + 24i -26 + 1i -12 - 23i 17 - 18i 22 + 9i -2 + 24i -25 + 5i -15 - 21i 13 - 21i 23 + 6i 1 + 24i -24 + 8i -18 - 19i 11 - 23i 24 + 2i 3 + 24i -23 + 12i -20 - 16i 7 - 25i 24 - 1i 7 + 23i -20 + 15i -23 - 13i 3 - 25i 24 - 4i 11 + 22i -18 + 18i -24 - 10i 0 - 26i 23 - 8i 14 + 19i -14 + 20i -25 - 6i -3 - 26i 22 - 11i 17 + 17i -10 + 23i -26 - 2i -7 - 25i 20 - 14i 20 + 15i -7 + 23i -26 + 0i -10 - 24i 18 - 18i 21 + 11i -3 + 24i -25 + 3i -14 - 22i 15 - 20i 23 + 7i 0 + 24i -24 + 8i -17 - 20i 12 - 22i 24 + 3i 2 + 24i -23 + 12i -20 - 17i 8 - 24i 24 + 0i 6 + 23i -21 + 14i -21 - 14i 4 - 25i 24 - 2i 10 + 21i -18 + 17i -24 - 11i Regards Markus ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Please help building a signal processing block.
2009/3/27 Mikhail Tadjikov mtadji...@ucla.edu Hello, I'm trying to build several signal processing blocks for a project that I'm doing using USRP2. I was going through the examples and sample code along with browsing the source code and I can't seem to find exactly what I need. I'm trying to do an average of a vector of length N: Input vector size N Output vector size 1 I'm doing it for floats. -- #ifndef INCLUDED_CORES_WEIGHTED_AVG_FF_H #define INCLUDED_CORES_WEIGHTED_AVG_FF_H #include gr_sync_block.h class cores_weighted_avg_ff; typedef boost::shared_ptrcores_weighted_avg_ff cores_weighted_avg_ff_sptr; cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff (unsigned int vlen); class cores_weighted_avg_ff : public gr_sync_block { private: friend cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff (unsigned int vlen); cores_weighted_avg_ff (unsigned int vlen); // private constructor unsigned int d_vlen; public: int general_work (int noutput_items, gr_vector_int ninput_items, gr_vector_const_void_star input_items, gr_vector_void_star output_items); }; #endif -- and source --- #ifdef HAVE_CONFIG_H #include config.h #endif #include cores_weighted_avg_ff.h #include gr_io_signature.h cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff (unsigned int vlen) { return cores_weighted_avg_ff_sptr (new cores_weighted_avg_ff (vlen));} cores_weighted_avg_ff::cores_weighted_avg_ff (unsigned int vlen) : gr_decimator_block (weighed_avg_ff, gr_make_io_signature (1, 1, sizeof (float) * vlen), gr_make_io_signature (1, 1, sizeof (float))), d_vlen(vlen) { } int cores_weighted_avg_ff::int general_work (int noutput_items, gr_vector_int ninput_items, gr_vector_const_void_star input_items, gr_vector_void_star output_items); { const float *in = (const float *) input_items[0]; float *out = (float *) output_items[0]; int noi = noutput_items * d_vlen; for (int i = 0; i noi; i++){ out += in[i]*i; } out /= d_vlen; consume(noutput_items,d_vlen) return noutput_items; } I'm not sure if the code is correct what I want to do (input is more than welcome), when I compile this code I get a weird error: cores_weighted_avg_ff.h: In function ‘PyObject* _wrap_weighted_avg_ff(PyObject*, PyObject*)’: cores_weighted_avg_ff.h:63: error: too few arguments to function ‘cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff(unsigned int)’ cores.cc:4326: error: at this point in file make[4]: *** [cores.lo] Error 1 Any help would be greatly appreciated. With gr_sync_block you only need to write work() and not general_work(). The example at the end of this tutorial will be helpful http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html. Also, there is a #endif sitting in the middle of your code, it might be a typo. btw, if you are trying to get moving averages, there is a block already available gr_moving_averages() Karthik ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] location of installed gnuradio programs Q
On Sat, Mar 28, 2009 at 7:21 AM, davek davidki...@gmail.com wrote: Ok, but when people check in programs to the repository, what makes them decide if its a /bin program of a /example program? Is there some reason behind the choice? In general, we install very few scripts to the $prefix/bin location. These are typically utility programs that are most convenient to be able to run from any directory, such as the usrp_fft.py and usrp_siggen.py scripts. GNU Radio example programs are meant as as demonstrations of how to write simple GNU Radio applications, and are categorized in the $prefix/share/gnuradio/examples hierarchy. They sometimes don't keep up with the latest version of GNU Radio, and must also be run either with an explicit path or from the current directory. Johnathan ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] questions in benchmark_tx
Dear all, I'd like to transmit some data with random 0s and 1s using benchmark_tx.py, can someone tell me that how can I generate such kind of data in benchmark_tx.py for transmission? and what if I want to specify a file to transmit, how to modify the code 'source_file = open(options.from_file, 'r')'? I am trying to use 'qam8' for modulation. My another question is how benchmark_tx.py file decide the bandwidth? Since there is no input for us to specify the bandwidth, except for the center frequency. I wonder is the bandwidth decided by the bit_rate that we input? I'm confused about that. Your answers are appreciated. Thanks in advance! -- Best wishes, Y ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Data Types In GNU Radio
Hi, I am working on a project on Cognitive radios. I want to achieve real-time transmission n reception of audio between two USRP boards. The biggest problems i am facing are in designing the flow graphs because of data type mis matches. For example i am taking the audio input from microphone and its Float type but blocks like modulation and chunks_to_symbols do not accept float type data. I have tried to use the float_to_char bloack to accomplish the necessary conversion but unfortunately it didnt work. Another question is Are the float_to_char and char_to_float bloacks bot exactly reciprocal of each other??? (coz after passing through both these bloacks the original float signal wasnt recovered) Similar is the case with float_to_short and short_to_float blocks... Kindly guide me how i should get rid of this data type issue coz alot of my time is getting wasted just in resolving it.. Looking forward to your help... Regards -- Posted via http://www.ruby-forum.com/. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] modulation and demodulation
Hi All, We are trying to set different modulation and demodulation schemes in gnuradio example tunnel.py. The default is gmsk, which works fine. But when we used -m dbpsk option, the two PCs can't ping each other. I looked through the script tb = my_top_block(mods[options.modulation], demods[options.modulation], mac.phy_rx_callback, options) It should be ok if we specify a different modulation with -m, unless there's other settings needed. Can anybody help us with the problem? Thanks a lot. Yanyan -- View this message in context: http://www.nabble.com/modulation-and-demodulation-tp22760047p22760047.html Sent from the GnuRadio mailing list archive at Nabble.com. ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Earth Venus Earth communications at
I am really happy to tell everyone of a terrific SDR experiment. HI. Our colleagues in AMSAT-DL have been working towards demonstrating several of the pieces to allow for interplanetary communications in the event the Phase V mission to Mars comes to fruition. A team consisting of many well known amateurs including Wolfgang Büscher (DL4YHF), Freddy de Guchteneire (ON6UG), Hermann Hagner (DK8CI), Michael Lengrüsser (DD5ER) , Karl Meinzer (DJ4ZC), James Miller (G3RUH), Max Münich (DJ1CR), Hartmut Paesler (DL1YDD), Achim Vollhardt (DH2VA). The AMSAT-DL web page is here: http://www.amsat-dl.org//index.php?option=com_contenttask=viewid=166Itemid=97 and the English press release is here: http://www.amsat-dl.org/pic/gallery2/main.php?g2_view=core.DownloadItemg2_itemId=7561 In the photographs attached to these pages and press releases, one can see the SDR-IQ and Spectrum Lab. Congrats to RFSPACE (http://rfspace.com/Home.html) and Wolfgang DL4YHF (http://freenet-homepage.de/dl4yhf/spectra1.html). I hope everyone joins in congratulating this team on their multiple year effort and outstanding achievement. Bob McGwier N4HY -- (Co)Author: DttSP, Quiktrak, PowerSDR, GnuRadio Member: ARRL, AMSAT, AMSAT-DL, TAPR, Packrats, NJQRP, QRP ARCI, QCWA, FRC. It is human nature to think wisely and act in an absurd fashion., Anatole France. Twitter:rwmcgwier Active: Facebook,Myspace,LinkedIn ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Please help building a signal processing block.
Thanks, but I'm trying to get weighted average specifically. I've looked at the code for moving_average... it's close to what I need, but its 1:1 in/out ratio, but I need N:1 ratio. That's the part I'm particular unclear about. On Sat, Mar 28, 2009 at 9:27 AM, Karthik karthik1...@gmail.com wrote: 2009/3/27 Mikhail Tadjikov mtadji...@ucla.edu Hello, I'm trying to build several signal processing blocks for a project that I'm doing using USRP2. I was going through the examples and sample code along with browsing the source code and I can't seem to find exactly what I need. I'm trying to do an average of a vector of length N: Input vector size N Output vector size 1 I'm doing it for floats. -- #ifndef INCLUDED_CORES_WEIGHTED_AVG_FF_H #define INCLUDED_CORES_WEIGHTED_AVG_FF_H #include gr_sync_block.h class cores_weighted_avg_ff; typedef boost::shared_ptrcores_weighted_avg_ff cores_weighted_avg_ff_sptr; cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff (unsigned int vlen); class cores_weighted_avg_ff : public gr_sync_block { private: friend cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff (unsigned int vlen); cores_weighted_avg_ff (unsigned int vlen); // private constructor unsigned int d_vlen; public: int general_work (int noutput_items, gr_vector_int ninput_items, gr_vector_const_void_star input_items, gr_vector_void_star output_items); }; #endif -- and source --- #ifdef HAVE_CONFIG_H #include config.h #endif #include cores_weighted_avg_ff.h #include gr_io_signature.h cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff (unsigned int vlen) { return cores_weighted_avg_ff_sptr (new cores_weighted_avg_ff (vlen));} cores_weighted_avg_ff::cores_weighted_avg_ff (unsigned int vlen) : gr_decimator_block (weighed_avg_ff, gr_make_io_signature (1, 1, sizeof (float) * vlen), gr_make_io_signature (1, 1, sizeof (float))), d_vlen(vlen) { } int cores_weighted_avg_ff::int general_work (int noutput_items, gr_vector_int ninput_items, gr_vector_const_void_star input_items, gr_vector_void_star output_items); { const float *in = (const float *) input_items[0]; float *out = (float *) output_items[0]; int noi = noutput_items * d_vlen; for (int i = 0; i noi; i++){ out += in[i]*i; } out /= d_vlen; consume(noutput_items,d_vlen) return noutput_items; } I'm not sure if the code is correct what I want to do (input is more than welcome), when I compile this code I get a weird error: cores_weighted_avg_ff.h: In function ‘PyObject* _wrap_weighted_avg_ff(PyObject*, PyObject*)’: cores_weighted_avg_ff.h:63: error: too few arguments to function ‘cores_weighted_avg_ff_sptr cores_make_weighted_avg_ff(unsigned int)’ cores.cc:4326: error: at this point in file make[4]: *** [cores.lo] Error 1 Any help would be greatly appreciated. With gr_sync_block you only need to write work() and not general_work(). The example at the end of this tutorial will be helpful http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html. Also, there is a #endif sitting in the middle of your code, it might be a typo. btw, if you are trying to get moving averages, there is a block already available gr_moving_averages() Karthik -- Mikhail Tadjikov Graduate Student UCLA Department of Electrical Engineering ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] questions in benchmark_tx
Look at the while loop in the code. Instead of reading from a file you can substitute data to be whatever you like. use the following option to find out how to send data read from a file. ./benchmark_tx.py -h This will display lots of options that you can use and one of them is the file option. You need not modify the code to do this. On Sat, Mar 28, 2009 at 1:00 PM, yufeng wang kthyuf...@gmail.com wrote: Dear all, I'd like to transmit some data with random 0s and 1s using benchmark_tx.py, can someone tell me that how can I generate such kind of data in benchmark_tx.py for transmission? and what if I want to specify a file to transmit, how to modify the code 'source_file = open(options.from_file, 'r')'? I am trying to use 'qam8' for modulation. My another question is how benchmark_tx.py file decide the bandwidth? Since there is no input for us to specify the bandwidth, except for the center frequency. I wonder is the bandwidth decided by the bit_rate that we input? I'm confused about that. Your answers are appreciated. Thanks in advance! -- Best wishes, Y ___ 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