Revision b53bc139 gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py

b/gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py
25 25
differential QPSK modulation and demodulation.
26 26
"""
27 27

28
from gnuradio import gr, gru, modulation_utils
28
from gnuradio import gr, gru, modulation_utils2
29 29
from math import pi, sqrt
30 30
import psk
31 31
import cmath
......
39 39
_def_log = False
40 40

41 41
_def_freq_alpha = 0.010
42
_def_costas_alpha = 0.01
42
_def_phase_alpha = 0.01
43 43
_def_timing_alpha = 0.100
44 44
_def_timing_beta = 0.010
45 45
_def_timing_max_dev = 1.5
......
168 168
        """
169 169
        Given command line options, create dictionary suitable for passing to __init__
170 170
        """
171
        return modulation_utils.extract_kwargs_from_options(dqpsk2_mod.__init__,
171
        return modulation_utils2.extract_kwargs_from_options(dqpsk2_mod.__init__,
172 172
                                                            ('self',), options)
173 173
    extract_kwargs_from_options=staticmethod(extract_kwargs_from_options)
174 174

......
185 185
                 samples_per_symbol=_def_samples_per_symbol,
186 186
                 excess_bw=_def_excess_bw,
187 187
                 freq_alpha=_def_freq_alpha,
188
                 costas_alpha=_def_costas_alpha,
188
                 phase_alpha=_def_phase_alpha,
189 189
                 timing_alpha=_def_timing_alpha,
190 190
                 timing_max_dev=_def_timing_max_dev,
191 191
                 gray_code=_def_gray_code,
......
204 204
	@type excess_bw: float
205 205
        @param freq_alpha: loop filter gain for frequency recovery
206 206
        @type freq_alpha: float
207
        @param costas_alpha: loop filter gain
208
        @type costas_alphas: float
207
        @param phase_alpha: loop filter gain
208
        @type phase_alphas: float
209 209
        @param timing_alpha: timing loop alpha gain
210 210
        @type timing_alpha: float
211 211
        @param timing_max: timing loop maximum rate deviations
......
230 230
        self._excess_bw = excess_bw
231 231
        self._freq_alpha = freq_alpha
232 232
        self._freq_beta = 0.25*self._freq_alpha**2
233
        self._costas_alpha = costas_alpha
233
        self._phase_alpha = phase_alpha
234 234
        self._timing_alpha = timing_alpha
235 235
        self._timing_beta = _def_timing_beta
236 236
        self._timing_max_dev=timing_max_dev
......
264 264
        
265 265

266 266
        # Perform phase / fine frequency correction
267
        self._costas_beta  = 0.25 * self._costas_alpha * self._costas_alpha
267
        self._phase_beta  = 0.25 * self._phase_alpha * self._phase_alpha
268 268
        # Allow a frequency swing of +/- half of the sample rate
269 269
        fmin = -0.5
270 270
        fmax = 0.5
271 271

272
        self.phase_recov = gr.costas_loop_cc(self._costas_alpha,
273
                                             self._costas_beta,
272
        self.phase_recov = gr.costas_loop_cc(self._phase_alpha,
273
                                             self._phase_beta,
274 274
                                             fmax, fmin, arity)
275 275

276 276

......
315 315
        print "Gray code:           %s"   % self._gray_code
316 316
        print "RRC roll-off factor: %.2f" % self._excess_bw
317 317
        print "FLL gain:            %.2f" % self._freq_alpha
318
        print "Costas Loop alpha:   %.2e" % self._costas_alpha
319
        print "Costas Loop beta:    %.2e" % self._costas_beta
320 318
        print "Timing alpha gain:   %.2f" % self._timing_alpha
321 319
        print "Timing beta gain:    %.2f" % self._timing_beta
322 320
        print "Timing max dev:      %.2f" % self._timing_max_dev
321
        print "Phase track alpha:   %.2e" % self._phase_alpha
322
        print "Phase track beta:    %.2e" % self._phase_beta
323 323

324 324
    def _setup_logging(self):
325 325
        print "Modulation logging turned on."
......
342 342

343 343
    def add_options(parser):
344 344
        """
345
        Adds modulation-specific options to the standard parser
345
        Adds DQPSK demodulation-specific options to the standard parser
346 346
        """
347 347
        parser.add_option("", "--excess-bw", type="float", default=_def_excess_bw,
348 348
                          help="set RRC excess bandwith factor [default=%default] (PSK)")
......
351 351
                          help="disable gray coding on modulated bits (PSK)")
352 352
        parser.add_option("", "--freq-alpha", type="float", default=_def_freq_alpha,
353 353
                          help="set frequency lock loop alpha gain value [default=%default] (PSK)")
354
        parser.add_option("", "--costas-alpha", type="float", default=_def_costas_alpha,
355
                          help="set Costas loop alpha value [default=%default] (PSK)")
356
        parser.add_option("", "--gain-alpha", type="float", default=_def_timing_alpha,
354
        parser.add_option("", "--phase-alpha", type="float", default=_def_phase_alpha,
355
                          help="set phase tracking loop alpha value [default=%default] (PSK)")
356
        parser.add_option("", "--timing-alpha", type="float", default=_def_timing_alpha,
357 357
                          help="set timing symbol sync loop gain alpha value [default=%default] (GMSK/PSK)")
358
        parser.add_option("", "--gain-beta", type="float", default=_def_timing_beta,
358
        parser.add_option("", "--timing-beta", type="float", default=_def_timing_beta,
359 359
                          help="set timing symbol sync loop gain beta value [default=%default] (GMSK/PSK)")
360 360
        parser.add_option("", "--timing-max-dev", type="float", default=_def_timing_max_dev,
361 361
                          help="set timing symbol sync loop maximum deviation [default=%default] (GMSK/PSK)")
......
365 365
        """
366 366
        Given command line options, create dictionary suitable for passing to __init__
367 367
        """
368
        return modulation_utils.extract_kwargs_from_options(
368
        return modulation_utils2.extract_kwargs_from_options(
369 369
            dqpsk2_demod.__init__, ('self',), options)
370 370
    extract_kwargs_from_options=staticmethod(extract_kwargs_from_options)
371 371

......
373 373
#
374 374
# Add these to the mod/demod registry
375 375
#
376
modulation_utils.add_type_1_mod('dqpsk2', dqpsk2_mod)
377
modulation_utils.add_type_1_demod('dqpsk2', dqpsk2_demod)
376
modulation_utils2.add_type_1_mod('dqpsk2', dqpsk2_mod)
377
modulation_utils2.add_type_1_demod('dqpsk2', dqpsk2_demod)

Also available in: Unified diff