Re: [Discuss-gnuradio] gr-usrp library

2006-04-17 Thread Eric Blossom
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

2006-04-17 Thread Eric Blossom
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

2006-04-17 Thread Martin Dvh
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

2006-04-17 Thread Matteo Campanella
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

2006-04-17 Thread Robert Roberts


- 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

2006-04-17 Thread Eric Blossom
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

2006-04-17 Thread Martin Dvh
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