From: Tom Rondeau Date: Mon, 12 Oct 2009 17:26:00 +0000 (-0400) Subject: Working DBPSK implementation with new PFB clock recovery block. The feedforward AGC... X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=cd963d806b7f324fd845c7b51ef20985000b774c;p=debian%2Fgnuradio Working DBPSK implementation with new PFB clock recovery block. The feedforward AGC wasn't playing nicely, the frequency aquistion range was increased to swing half the sample rate in either direction, and the number of filter phases to use was increased to 32. --- diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py b/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py index e9e3e965..e2bce5ff 100644 --- a/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py +++ b/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py @@ -230,12 +230,13 @@ class dbpsk2_demod(gr.hier_block2): arity = pow(2,self.bits_per_symbol()) # Automatic gain control - #self.agc = gr.agc2_cc(0.6e-1, 1e-3, 1, 1, 100) - self.agc = gr.feedforward_agc_cc(16, 1.0) + self.agc = gr.agc2_cc(0.6e-1, 1e-3, 1, 1, 100) + #self.agc = gr.feedforward_agc_cc(16, 1.0) self._costas_beta = 0.25 * self._costas_alpha * self._costas_alpha - fmin = -0.25 - fmax = 0.25 + # Allow a frequency swing of +/- half of the sample rate + fmin = -0.5 + fmax = 0.5 self.clock_recov = gr.costas_loop_cc(self._costas_alpha, self._costas_beta, @@ -247,9 +248,9 @@ class dbpsk2_demod(gr.hier_block2): self._timing_beta = 0.020 # RRC data filter - nfilts = 8 + nfilts = 32 ntaps = 11 * samples_per_symbol*nfilts - taps = gr.firdes.root_raised_cosine(nfilts, nfilts, 0.25, self._excess_bw, ntaps) + taps = gr.firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(self._samples_per_symbol), self._excess_bw, ntaps) self.time_recov = gr.pfb_clock_sync_ccf(self._samples_per_symbol, self._timing_alpha, taps, nfilts, nfilts/2, self._timing_max_dev) @@ -279,7 +280,7 @@ class dbpsk2_demod(gr.hier_block2): # Connect and Initialize base class self.connect(self, self.agc, - #self.clock_recov, + self.clock_recov, self.time_recov, self.diffdec, self.slicer, self.symbol_mapper, self.unpack, self)