Re: [Discuss-gnuradio] gr-usrp library
On Sun, Apr 16, 2006 at 09:38:42PM -0700, Ges wrote: Hi Eric, I am facing a weird problem. I was trying the rx.py and tx.py gmsk scripts in gnuradio-examples/python/gmsk - this is the old gmsk implementation. I am getting the character stream I sent using tx.py at the receive side. But if I disable the gui (using the --no-gui option), then I do not get any output. Gesley, There's a reason that the code you are trying to make work is no longer in the distribution. It didn't work well. It has been replaced by the gmsk2 code and examples. I couldnt find any reason for why this is happening. I thought that maybe its because of some kind of a time delay. So, I ran rx.py first and then tx.py, but if the --no-gui option is used I do not get anything in the file_sink at the rx side. Any ideas as to why this is happening? Have you plotted the raw data you are receiving from the USRP, perhaps in octave? What are the maximum and minimum values of both the real and imaginary components? If you're not getting anything in the file, perhaps the correlator is never seeing the synchronization pattern. Have you instrumented the correlator? Eric ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Re: USRP Tx Question
On Sun, Apr 16, 2006 at 08:09:39PM -0400, Elaine Garbarine wrote: On 4/15/06 4:32 PM, Eric Blossom [EMAIL PROTECTED] wrote: For the time being just never setting the frequency to anything other than 0 will do so I'm going to do that in order to bypass the DUC in the AD9862. I just want to see if I can get some sort of transmit sync working before I add a DUC back into the picture (and I'll definitely need to look into implementing the DUC in the FPGA instead of using the one in the AD9862). OK. As for the transmit sync my thought was to have the master USRP send a flag of some sort (probably by setting one of the daughterboard header pins high) when it was about to transmit. I would then have the slave USRP transmit upon seeing this flag on one of it's daughterboard pins. I'm thinking the best place to put these code modifications would be in master_control unless anyone has a better suggestion. I do have one question about altering and recompiling the FPGA code. Once I use the Quartus software to recompile the code do I just copy this new code into the correct directories in my Linux box (running GNU Radio) or is there something else I need to do to get the new code onto the FPGA? Just copy the foo.rbf file to PREFIX/share/usrp/revN/foo.rbf Eric ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Basic USRP AM Transmission
Robert Roberts wrote: Hello everyone, I have been experimenting with the Flex400 board and have been trying to implement a basic AM transmitter. I have a WFM and NFM transmitter working, but I cannot get the AM one to transmit correctly. The code below generates a much higher frequency tone. Any advice to what I am doing wrong? Does my output need filtering before connecting to the sink? self.u = usrp.sink_c () # the USRP sink # Code here for setting up the USRP, omitted src = gr.file_source (gr.sizeof_float, audio-1.dat, True) # 440Hz tone file What is the sample_rate of the audio file What is you interpolation rate of the usrp What is the duc frequency of your usrp. If the sample rate of your audio file is for example 48000 Herz Then the usrp interpolation rate should be 12800/48000 = 2666 Which is I think way out of range for the usrp You first have to interpolate in software to something in the range of the usrp. Greetings, Martin const = gr.add_const_ff (1.0) conv = gr.float_to_complex() gain = gr.multiply_const_cc (4000.0) # transmitter gain # connect it all self.connect (src, const) self.connect (const, conv) self.connect (conv, gain) self.connect (gain, self.u) Thanks, ~Chris~ ___ 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] Consume_each
Hello, i have noticed the use of consume_each(n) in some of the block sources; for example in the simple correlator it is called once with n and once with n plus one - what is exactly its function and is it the only consume function? What is the meaning of the parameter? Thanks Mc ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Basic USRP AM Transmission
- Original Message - From: Martin Dvh [EMAIL PROTECTED] Date: Monday, April 17, 2006 3:06 pm Subject: Re: [Discuss-gnuradio] Basic USRP AM Transmission Robert Roberts wrote: Hello everyone, I have been experimenting with the Flex400 board and have been trying to implement a basic AM transmitter. I have a WFM and NFM transmitter working, but I cannot get the AM one to transmit correctly. The code below generates a much higher frequency tone. Any advice to what I am doing wrong? Does my output need filtering before connecting to the sink? self.u = usrp.sink_c () # the USRP sink # Code here for setting up the USRP, omitted src = gr.file_source (gr.sizeof_float, audio-1.dat, True) # 440Hz tone file What is the sample_rate of the audio file What is you interpolation rate of the usrp What is the duc frequency of your usrp. I have the file source sampled at 32kS/s I use the following code for setting up my usrp: self.dac_rate = self.u.dac_rate()# 128 MS/s self.usrp_interp = 400 self.u.set_interp_rate(self.usrp_interp) self.usrp_rate = self.dac_rate / self.usrp_interp# 320 kS/s self.sw_interp = 10 self.audio_rate = self.usrp_rate / self.sw_interp# 32 kS/s # determine the daughterboard subdevice we're using if options.tx_subdev_spec is None: options.tx_subdev_spec = usrp.pick_tx_subdevice(self.u) m = usrp.determine_tx_mux_value(self.u, options.tx_subdev_spec) self.u.set_mux(m) self.subdev = usrp.selected_subdev(self.u, options.tx_subdev_spec) print Using TX d'board %s % (self.subdev.side_and_name(),) self.subdev.set_gain(self.subdev.gain_range()[1])# set max Tx gain self.set_freq(options.freq) self.subdev.set_enable(True) # enable transmitter This is the same code I used for both a NFM and WFM transmitter, both of which appeared to transmit without problems. Sincerely, ~Chris~ If the sample rate of your audio file is for example 48000 Herz Then the usrp interpolation rate should be 12800/48000 = 2666 Which is I think way out of range for the usrp You first have to interpolate in software to something in the range of the usrp. Greetings, Martin const = gr.add_const_ff (1.0) conv = gr.float_to_complex() gain = gr.multiply_const_cc (4000.0) # transmitter gain # connect it all self.connect (src, const) self.connect (const, conv) self.connect (conv, gain) self.connect (gain, self.u) Thanks, ~Chris~ ___ 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] Consume_each
On Mon, Apr 17, 2006 at 11:17:11PM +0200, Matteo Campanella wrote: Hello, i have noticed the use of consume_each(n) in some of the block sources; for example in the simple correlator it is called once with n and once with n plus one - what is exactly its function and is it the only consume function? What is the meaning of the parameter? Thanks Mc See gr_block.h for docs. It's used by general_work to tell the scheduler how much input it consumed. Eric ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Basic USRP AM Transmission
Robert Roberts wrote: - Original Message - From: Martin Dvh [EMAIL PROTECTED] Date: Monday, April 17, 2006 3:06 pm Subject: Re: [Discuss-gnuradio] Basic USRP AM Transmission Robert Roberts wrote: Hello everyone, I have been experimenting with the Flex400 board and have been trying to implement a basic AM transmitter. I have a WFM and NFM transmitter working, but I cannot get the AM one to transmit correctly. The code below generates a much higher frequency tone. Any advice to what I am doing wrong? Does my output need filtering before connecting to the sink? self.u = usrp.sink_c () # the USRP sink # Code here for setting up the USRP, omitted src = gr.file_source (gr.sizeof_float, audio-1.dat, True) # 440Hz tone file What is the sample_rate of the audio file What is you interpolation rate of the usrp What is the duc frequency of your usrp. I have the file source sampled at 32kS/s I use the following code for setting up my usrp: self.dac_rate = self.u.dac_rate()# 128 MS/s self.usrp_interp = 400 self.u.set_interp_rate(self.usrp_interp) self.usrp_rate = self.dac_rate / self.usrp_interp# 320 kS/s self.sw_interp = 10 self.audio_rate = self.usrp_rate / self.sw_interp# 32 kS/s # determine the daughterboard subdevice we're using if options.tx_subdev_spec is None: options.tx_subdev_spec = usrp.pick_tx_subdevice(self.u) m = usrp.determine_tx_mux_value(self.u, options.tx_subdev_spec) self.u.set_mux(m) self.subdev = usrp.selected_subdev(self.u, options.tx_subdev_spec) print Using TX d'board %s % (self.subdev.side_and_name(),) self.subdev.set_gain(self.subdev.gain_range()[1])# set max Tx gain self.set_freq(options.freq) self.subdev.set_enable(True) # enable transmitter This is the same code I used for both a NFM and WFM transmitter, both of which appeared to transmit without problems. But do you actually put a software interpolator in there somewhere. I didn't see any in your code: self.connect (src, const) self.connect (const, conv) self.connect (conv, gain) self.connect (gain, self.u) should be: self.connect (src, const) self.connect (const, conv) self.connect (conv, gain) self.connect (gain, softwareinterpolator) self.connect(softwareinterpolator,self.u) greetings, Martin Sincerely, ~Chris~ If the sample rate of your audio file is for example 48000 Herz Then the usrp interpolation rate should be 12800/48000 = 2666 Which is I think way out of range for the usrp You first have to interpolate in software to something in the range of the usrp. Greetings, Martin const = gr.add_const_ff (1.0) conv = gr.float_to_complex() gain = gr.multiply_const_cc (4000.0) # transmitter gain # connect it all self.connect (src, const) self.connect (const, conv) self.connect (conv, gain) self.connect (gain, self.u) Thanks, ~Chris~ ___ 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