Changeset 8932

Show
Ignore:
Timestamp:
07/17/08 18:23:04
Author:
jcorgan
Message:

wip constellation application pieces

Files:

Legend:

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

    r8929 r8932  
    3636                 frame_rate=30, 
    3737                 costas_alpha=0.1, 
    38                  costas_max_freq=0.05, 
     38                 costas_max=0.05, 
    3939                 mm_alpha=0.005, 
    40                  mm_max_freq=0.05): 
     40                 mm_max=0.05): 
    4141        """! 
    4242        Create a const_streamer. 
     
    4747        @param frame_rate           Number of frames/sec to create (default is 30) 
    4848        @param costas_alpha         Costas loop 1st order gain constant (default is 0.1) 
    49         @param costas_max_freq      Costas loop maximum offset, rad/sample (default is 0.05) 
     49        @param costas_max           Costas loop maximum offset, rad/sample (default is 0.05) 
    5050        @param mm_alpha             Timing loop 1st order gain constant (default is 0.005) 
    51         @param mm_max_freq          Maximum timing offset in bits/sample (default is 0.05) 
     51        @param mm_max               Maximum timing offset in bits/sample (default is 0.05) 
    5252        """ 
    5353         
     
    5959        # Critically damped 2nd order PLL 
    6060        costas_beta = 0.25*costas_alpha*costas_alpha 
    61         costas_min_freq = -costas_max_freq 
     61        costas_min = -costas_max 
    6262        self._costas = gr.costas_loop_cc(costas_alpha, 
    6363                                         costas_beta, 
    64                                          costas_max_freq
    65                                          costas_min_freq
     64                                         costas_max
     65                                         costas_min
    6666                                         order) 
    6767         
     
    7171        mm_beta = 0.25*mm_alpha*mm_alpha 
    7272        mu=0.5 # Center of bit 
    73         self._retime = gr.clock_recovery_mm_cc(mm_freq,        # omega, 
    74                                                mm_beta,        # gain_omega 
     73        self._retime = gr.clock_recovery_mm_cc(mm_freq,   # omega, 
     74                                               mm_beta,   # gain_omega 
    7575                                               mu, 
    76                                                mm_alpha,       # gain_mu, 
    77                                                mm_max_freq)    # omega_limit 
     76                                               mm_alpha,  # gain_mu, 
     77                                               mm_max)    # omega_limit 
    7878 
    7979        # Scale to unity power 
  • gnuradio/branches/features/experimental-gui/const_top_block.py

    r8930 r8932  
    4545                 bit_rate=None, 
    4646                 costas_alpha=0.1, 
    47                  costas_max_freq=0.05, 
     47                 costas_max=0.05, 
    4848                 mm_alpha=0.005, 
    49                  mm_max_freq=0.05 
     49                 mm_max=0.05 
    5050                 ): 
    5151        """! 
     
    6565        @param bit_rate             Modulated bit rate/sec (default equivalent to 2 samples/bit) 
    6666        @param costas_alpha         Costas loop 1st order gain constant (default is 0.1) 
    67         @param costas_max_freq      Costas loop maximum offset, rad/sample (default is 0.05) 
     67        @param costas_max           Costas loop maximum offset, rad/sample (default is 0.05) 
    6868        @param mm_alpha             Timing loop 1st order gain constant (default is 0.005) 
    69         @param mm_max_freq          Maximum timing offset in bits/sample (default is 0.05) 
     69        @param mm_max               Maximum timing offset in bits/sample (default is 0.05) 
    7070        """ 
    7171         
     
    8888                                                    frame_rate=frame_rate, 
    8989                                                    costas_alpha=costas_alpha, 
    90                                                     costas_max_freq=costas_max_freq
     90                                                    costas_max=costas_max
    9191                                                    mm_alpha=mm_alpha, 
    92                                                     mm_max_freq=mm_max_freq
     92                                                    mm_max=mm_max
    9393 
    94         self._sink = gr.file_sink(gr.sizeof_gr_complex*frame_size, 'const.dat') 
    95              
     94        self._msgq = gr.msg_queue(2) 
     95        self._sink = gr.message_sink(gr.sizeof_gr_complex*frame_size, self._msgq, True) 
     96                     
    9697        self.connect(self._u, self._const, self._sink) 
    9798 
     
    105106    def set_decim(self, decim): 
    106107        self._u.set_decim(decim) 
    107         self._fft.set_sample_rate(self._u.sample_rate()) 
     108        self._const.set_sample_rate(self._u.sample_rate()) 
    108109 
    109110    # Getters, which are called externally to get information about the flowgraph 
     
    114115        return self._u.sample_rate() 
    115116 
    116 # test code 
    117 if __name__ == "__main__": 
    118     tb = const_top_block(order=2, 
    119                          decim=64, 
    120                          subdev_spec=(0, 0), 
    121                          gain=60, 
    122                          freq=2.215e9, 
    123                          bit_rate=250e3, 
    124                          costas_alpha=0.2, 
    125                          costas_max_freq=0.06, 
    126                          mm_alpha=0.05, 
    127                          mm_max_freq=0.05); 
    128  
    129     tb.run()