Changeset 8978

Show
Ignore:
Timestamp:
07/22/08 12:23:25
Author:
jcorgan
Message:

wip

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/branches/features/experimental-gui/const_streamer.py

    r8967 r8978  
    5656                                gr.io_signature(1, 1, gr.sizeof_gr_complex*frame_size)) # Output signature 
    5757 
     58 
     59 
     60        costas_beta = 0.25*costas_alpha*costas_alpha 
     61        costas_min = -costas_max 
     62        mm_omega = float(sample_rate)/bit_rate 
     63        mm_gain_omega = 0.25*mm_gain_mu*mm_gain_mu 
     64        mm_mu=0.5 # Center of bit 
     65 
    5866        # Costas frequency/phase recovery loop 
    5967        # Critically damped 2nd order PLL 
    60         costas_beta = 0.25*costas_alpha*costas_alpha 
    61         costas_min = -costas_max 
    6268        self._costas = gr.costas_loop_cc(costas_alpha, 
    6369                                         costas_beta, 
     
    6874        # Timing recovery loop 
    6975        # Critically damped 2nd order DLL 
    70         mm_omega = float(sample_rate)/bit_rate 
    71         mm_gain_omega = 0.25*mm_gain_mu*mm_gain_mu 
    72         mm_mu=0.5 # Center of bit 
    7376        self._retime = gr.clock_recovery_mm_cc(mm_omega,    
    7477                                               mm_gain_omega, 
     
    8083        self._agc = gr.agc_cc(1e-6); 
    8184 
     85        # Decimate to requested frame rate 
    8286        self._decim = blks2.stream_to_vector_decimator(item_size=gr.sizeof_gr_complex, 
    8387                                                       sample_rate=bit_rate, 
     
    8589                                                       vec_len=frame_size) 
    8690             
    87         self.connect(self, self._costas, self._retime, self._agc, self._decim, self) 
     91        self.connect(self, self._agc, self._costas, self._retime, self._decim, self) 
    8892 
     93         
    8994    def set_costas_alpha(self, alpha): 
    9095        self._costas.set_alpha(alpha) 
     
    109114         
    110115    def gain_omega(self): 
    111         return self._return.gain_omega() 
     116        return self._retime.gain_omega() 
  • gnuradio/branches/features/experimental-gui/const_top_block.py

    • Property svn:executable deleted
  • gnuradio/branches/features/experimental-gui/simple_usrp.py

    r8813 r8978  
    119119        """ 
    120120        return self._u.adc_rate()/self._decim 
     121 
     122class sink_c(gr.hier_block2): 
     123    def __init__(self,  
     124                 which=0,  
     125                 interp=32,  
     126                 subdev_spec=None, 
     127                 freq=None): 
     128        """! 
     129        Create a simple_usrp object accepting complex samples. 
     130 
     131        @param which            USRP # on USB bus (default is 0) 
     132        @param interp           Transmit sample rate interpolation (default is 32) 
     133        @param subdev_spec      Daughterboard selection (default is first found) 
     134        @param freq             Daughterboard TX frequency (default is mid-range) 
     135        """ 
     136 
     137        gr.hier_block2.__init__(self, "simple_usrp.sink_c", 
     138                                gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature 
     139                                gr.io_signature(0, 0, 0))                    # Output signature 
     140 
     141        self._setup_usrp(which, interp) 
     142        self._setup_db(subdev_spec, freq) 
     143        self.connect(self, self._u) 
     144 
     145    def _setup_usrp(self, which, interp): 
     146        self._u = usrp.sink_c(which=which) 
     147        self.set_interp(interp) 
     148 
     149    def _setup_db(self, subdev_spec, freq): 
     150        if subdev_spec is None: 
     151            subdev_spec = usrp.pick_tx_subdevice(self._u) 
     152        self._u.set_mux(usrp.determine_tx_mux_value(self._u, subdev_spec)) 
     153        self._subdev = usrp.selected_subdev(self._u, subdev_spec) 
     154        self.set_freq(freq) 
     155 
     156    def set_interp(self, interp): 
     157        """! 
     158        Set USRP TX interpolation. 
     159 
     160        @param interp TX decimation rate 
     161        """ 
     162        self._interp = interp 
     163        self._u.set_interp_rate(interp) 
     164 
     165    def set_freq(self, freq): 
     166        """! 
     167        Set USRP/Daughterboard TX center frequency. 
     168 
     169        @param freq TX center frequency, (None=mid-range) 
     170        """ 
     171        if freq is None: 
     172            f = self._subdev.freq_range() 
     173            freq = float(f[0]+f[1])/2.0 
     174        return self._u.tune(0, self._subdev, freq) 
     175 
     176    def sample_rate(self): 
     177        """! 
     178        Get USRP TX sample rate in samples/sec. 
     179        """ 
     180        return self._u.dac_rate()/self._interp 
  • gnuradio/branches/features/experimental-gui/usrp_const.py

    r8967 r8978  
    7878if __name__ == "__main__": 
    7979    (options, args) = get_options() 
    80     print options 
    8180     
    8281    # Applications have a 2-step initialization