discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] How to use several DDC in usrp?


From: Wolfgang Buesser
Subject: [Discuss-gnuradio] How to use several DDC in usrp?
Date: Sun, 26 May 2013 20:10:27 +0200

Hello

I am using a usrp1 populated with 2 LFRX and 2 LFTX daughter boards.

I want to use the 2 ADC of LFRX-A to sample s different signals.

To do this I use set_subdev_spec("A:A B:A",0).

In order to avoid a segmentation fault I apparently have to create the rx with 
num_channels=2.

But now I get the error-message:


RuntimeError: gr uhd usrp source(4): insufficient connected output ports (2 
needed, 1 connected) 

My questions:
1) Is the num_channels argument to uhd.usrp_source specifying the number of 
active DDCs?

2) How do I connect more than 1 port to uhd.usrp_source? In pre-uhd this was 
achieved using gr.deinterleave - but this does not seem to work anymore.

Here is the code:

#!/usr/bin/python                                                               
                                                                                
                                                                                
                             

from gnuradio import gr
from gnuradio import uhd
from gnuradio.eng_option import eng_option


class build_block(gr.top_block):
    def __init__(self):
        gr.top_block.__init__(self)

        self.u_tx = uhd.usrp_sink("serial=47432785",uhd.stream_args('fc32'))
        self.siggen_tx = 
gr.sig_source_c(self.u_tx.get_samp_rate(),gr.GR_CONST_WAVE,0, 1.0, 0)
#        self.head_tx   = gr.head(gr.sizeof_gr_complex, 1000000)                
                                                                                
                                                                                
                             
        self.head_tx   = gr.head(gr.sizeof_gr_complex, 1000)
        self.u_tx.set_subdev_spec("A:AB",0)
        self.u_tx.set_center_freq(10e6)
        self.u_tx.set_samp_rate(1e6)
        self.u_tx.get_samp_rate()


#        self.u_rx = 
uhd.usrp_source("serial=47432785",uhd.stream_args('fc32'),num_channels=1)       
                                                                                
                                                                                
        
        self.u_rx = 
uhd.usrp_source("serial=47432785",io_type=uhd.io_type.COMPLEX_FLOAT32,num_channels=2)
#        self.u_rx.set_subdev_spec("A:A B:A",0)                                 
                                                                                
                                                                                
                             
        self.u_rx.set_subdev_spec("A:A B:A",0)
        self.u_rx.set_center_freq(10e6+1e3)
        self.u_rx.set_samp_rate(250e3)
        self.head_rx_0 = gr.head(gr.sizeof_gr_complex, 1000)
        self.dst0 = gr.file_sink(gr.sizeof_gr_complex, "r.dat")

#       self.di = gr.deinterleave(gr.sizeof_gr_complex)                         
                                                                                
                                                                                
                             

#        self.connect (self.siggen_tx,self.head_tx, self.u_tx)                  
                                                                                
                                                                                
                             
        self.connect (self.u_rx,self.head_rx_0,self.dst0)
#        self.connect (self.u_rx,self.di)                                       
                                                                                
                                                                                
                             

tb = build_block ()
tb.run ()

Thanks

Wolfgang




reply via email to

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