discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Simulateous transmission from two daughterboards


From: Angilberto Muniz Sb
Subject: Re: [Discuss-gnuradio] Simulateous transmission from two daughterboards - I've got it !
Date: Sat, 11 Mar 2006 07:41:02 -0800 (PST)

I think I've got it, Eric.

According to "usrp_standard.h" the set_mux method
understand the mux value a differente way...

BTW does the same mux value works for rx way?

Angilberto.


--- Angilberto Muniz Sb <address@hidden> wrote:

> Eric, it works but theres something I dont
> understand...
> 
> No matter of what I put in the
> "self.u.set_mux(0xVVVV)"
> I always get 1st signal out to tx board A and 2nd
> signal out to tx board B.
> 
> I suppose I could switch output channels just
> swapping
> the mux values...
> 
> Also, according to "usrp_standard.cc" mux values
> should be "0,1,2" or "3". How come the example uses
> "a", "b", "9" and "8" ?! -- Im totally lost...
> 
> Angilberto.
> 
> 
> --- Eric Blossom <address@hidden> wrote:
> 
> > On Sun, Mar 05, 2006 at 02:21:55AM -0500, Satashu
> > Goel wrote:
> > >I am trying to find some information on how to
> use
> > the two Tx
> > >daughterboards to transmit independent data
> > streams?
> > >In one of the posts,
> >
>
>http://lists.gnu.org/archive/html/discuss-gnuradio/2005-10/msg00142.html
> > >Eric said that this can be done by using a
> "stream
> > with two interleaved
> > >channels of I & Q data".
> > >Does anyone know how to do this using the
> existing
> > blocks? It will be
> > >great if someone can post an example.
> > >
> > >Thanks,
> > >Satashu
> > 
> > OK, I've got your example ready.  It runs with any
> > kind of
> > daughterboard on either side.  Here's an example
> of
> > running it with
> > a basic Tx on side A and a flex 400 on B:
> > 
> >   address@hidden usrp]$ ./fm_tx_2_daughterboards.py 10M
> > 446.1M
> >   Using TX d'board A: Basic Tx
> >   Using TX d'board B: Flex 400 Tx
> >   Tuning side A to 10MHz
> >     r.baseband_freq = 0
> >     r.dxc_freq      = 10M
> >     r.residual_freq = 0
> >     r.inverted      = False
> >     OK
> >   Tuning side B to 446.1MHz
> >     r.baseband_freq = 450M
> >     r.dxc_freq      = -3.9M
> >     r.residual_freq = -381.47m
> >     r.inverted      = False
> >     OK
> > 
> > 
> > Enter ^C to kill it.
> > 
> > It puts out SSB (USB) signals.  Side A gets a 600
> Hz
> > tone.  Side B
> > gets 350 + 440 Hz (US dial tone).  You should be
> > able to hear these
> > with a suitable receiver.  Worked for me ;)
> > 
> > It's checked in as
> >
>
gnuradio-examples/python/usrp/fm_tx_2_daughterboards.py
> > 
> > and is also attached.    Yes, you could consider
> > having to manually
> > interleave the output streams a bug.
> > 
> > Eric
> > > #!/usr/bin/env python
> > 
> > """
> > Transmit 2 signals, one out each daughterboard.
> > 
> > Outputs SSB (USB) signals on side A and side B at
> > frequencies
> > specified on command line.
> > 
> > Side A is 600 Hz tone.
> > Side B is 350 + 440 Hz tones.
> > """
> > 
> > from gnuradio import gr
> > from gnuradio.eng_notation import num_to_str,
> > str_to_num
> > from gnuradio import usrp
> > from gnuradio import audio
> > from gnuradio import blks
> > from gnuradio.eng_option import eng_option
> > from optparse import OptionParser
> > import usrp_dbid
> > import math
> > import sys
> > 
> > 
> > class example_signal_0(gr.hier_block):
> >     """
> >     Sinusoid at 600 Hz.
> >     """
> >     def __init__(self, fg, sample_rate):
> > 
> >         src = gr.sig_source_c (sample_rate,    #
> > sample rate
> >                                gr.GR_SIN_WAVE, #
> > waveform type
> >                                600,            #
> > frequency
> >                                1.0,            #
> > amplitude
> >                                0)              #
> DC
> > Offset
> >     
> >         gr.hier_block.__init__(self, fg, None,
> src)
> > 
> > 
> > class example_signal_1(gr.hier_block):
> >     """
> >     North American dial tone (350 + 440 Hz).
> >     """
> >     def __init__(self, fg, sample_rate):
> > 
> >         src0 = gr.sig_source_c (sample_rate,    #
> > sample rate
> >                                 gr.GR_SIN_WAVE, #
> > waveform type
> >                                 350,            #
> > frequency
> >                                 1.0,            #
> > amplitude
> >                                 0)              #
> DC
> > Offset
> > 
> >         src1 = gr.sig_source_c (sample_rate,    #
> > sample rate
> >                                 gr.GR_SIN_WAVE, #
> > waveform type
> >                                 440,            #
> > frequency
> >                                 1.0,            #
> > amplitude
> >                                 0)              #
> DC
> > Offset
> >         sum = gr.add_cc()
> >         fg.connect(src0, (sum, 0))
> >         fg.connect(src1, (sum, 1))
> >         
> >         gr.hier_block.__init__(self, fg, None,
> sum)
> >     
> > 
> > 
> > class my_graph(gr.flow_graph):
> > 
> >     def __init__(self):
> >         gr.flow_graph.__init__ (self)
> > 
> >         usage="%prog: [options] side-A-tx-freq
> > side-B-tx-freq"
> >         parser = OptionParser
> > (option_class=eng_option, usage=usage)
> >         (options, args) = parser.parse_args ()
> > 
> >         if len(args) != 2:
> >             parser.print_help()
> >             raise SystemExit
> >         else:
> >             freq0 = str_to_num(args[0])
> >             freq1 = str_to_num(args[1])
> > 
> >         #
> >
>
----------------------------------------------------------------
> >         # Set up USRP to transmit on both
> > daughterboards
> > 
> >         self.u = usrp.sink_c(nchan=2)          #
> say
> > we want two channels
> > 
> >         self.dac_rate = self.u.dac_rate()         
>  
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]