Changeset 8978
- Timestamp:
- 07/22/08 12:23:25
- Files:
-
- gnuradio/branches/features/experimental-gui/const_streamer.py (modified) (5 diffs)
- gnuradio/branches/features/experimental-gui/const_top_block.py (modified) (1 prop)
- gnuradio/branches/features/experimental-gui/simple_usrp.py (modified) (1 diff)
- gnuradio/branches/features/experimental-gui/tx_mpsk.py (added)
- gnuradio/branches/features/experimental-gui/usrp_const.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gnuradio/branches/features/experimental-gui/const_streamer.py
r8967 r8978 56 56 gr.io_signature(1, 1, gr.sizeof_gr_complex*frame_size)) # Output signature 57 57 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 58 66 # Costas frequency/phase recovery loop 59 67 # Critically damped 2nd order PLL 60 costas_beta = 0.25*costas_alpha*costas_alpha61 costas_min = -costas_max62 68 self._costas = gr.costas_loop_cc(costas_alpha, 63 69 costas_beta, … … 68 74 # Timing recovery loop 69 75 # Critically damped 2nd order DLL 70 mm_omega = float(sample_rate)/bit_rate71 mm_gain_omega = 0.25*mm_gain_mu*mm_gain_mu72 mm_mu=0.5 # Center of bit73 76 self._retime = gr.clock_recovery_mm_cc(mm_omega, 74 77 mm_gain_omega, … … 80 83 self._agc = gr.agc_cc(1e-6); 81 84 85 # Decimate to requested frame rate 82 86 self._decim = blks2.stream_to_vector_decimator(item_size=gr.sizeof_gr_complex, 83 87 sample_rate=bit_rate, … … 85 89 vec_len=frame_size) 86 90 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) 88 92 93 89 94 def set_costas_alpha(self, alpha): 90 95 self._costas.set_alpha(alpha) … … 109 114 110 115 def gain_omega(self): 111 return self._ret urn.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 119 119 """ 120 120 return self._u.adc_rate()/self._decim 121 122 class 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 78 78 if __name__ == "__main__": 79 79 (options, args) = get_options() 80 print options81 80 82 81 # Applications have a 2-step initialization
