diff options
author | Tom | 2010-02-01 19:11:03 -0500 |
---|---|---|
committer | Tom | 2010-02-01 19:11:03 -0500 |
commit | 3bac2fa547168ca52352892e5f9db3335724682e (patch) | |
tree | 88bcf43db40a22ff7a45831512c09f6616e31804 /gnuradio-core/src/python | |
parent | 83369a926b2b23280ac4709335b0115f4c145602 (diff) | |
download | gnuradio-3bac2fa547168ca52352892e5f9db3335724682e.tar.gz gnuradio-3bac2fa547168ca52352892e5f9db3335724682e.tar.bz2 gnuradio-3bac2fa547168ca52352892e5f9db3335724682e.zip |
Fixing DQPSK block to work with any real value samples per symbol and getting object names the same as DBPSK block.
Diffstat (limited to 'gnuradio-core/src/python')
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py | 1 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py | 23 |
2 files changed, 13 insertions, 11 deletions
diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py b/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py index b2cc27854..e9fb3df89 100644 --- a/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py +++ b/gnuradio-core/src/python/gnuradio/blks2impl/dbpsk2.py @@ -101,6 +101,7 @@ class dbpsk2_mod(gr.hier_block2): self.chunks2symbols = gr.chunks_to_symbols_bc(psk.constellation[arity]) + # pulse shaping filter nfilts = 32 ntaps = nfilts * 11 * self._samples_per_symbol # make nfilts filters of ntaps each self.rrc_taps = gr.firdes.root_raised_cosine( diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py b/gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py index b1ffb0d24..9fae6acca 100644 --- a/gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py +++ b/gnuradio-core/src/python/gnuradio/blks2impl/dqpsk2.py @@ -106,14 +106,15 @@ class dqpsk2_mod(gr.hier_block2): self.chunks2symbols = gr.chunks_to_symbols_bc(rotated_const) # pulse shaping filter - self.rrc_taps = gr.firdes.root_raised_cosine( - self._samples_per_symbol, # gain (sps since we're interpolating by sps) - self._samples_per_symbol, # sampling rate - 1.0, # symbol rate - self._excess_bw, # excess bandwidth (roll-off factor) + nfilts = 32 + ntaps = nfilts * 11 * self._samples_per_symbol # make nfilts filters of ntaps each + self.rrc_taps = gr.firdes.root_raised_cosine( + nfilts, # gain + nfilts, # sampling rate based on 32 filters in resampler + 1.0, # symbol rate + self._excess_bw, # excess bandwidth (roll-off factor) ntaps) - - self.rrc_filter = gr.interp_fir_filter_ccf(self._samples_per_symbol, self.rrc_taps) + self.rrc_filter = gr.pfb_arb_resampler_ccf(self._samples_per_symbol, self.rrc_taps) if verbose: self._print_verbage() @@ -246,13 +247,13 @@ class dqpsk2_demod(gr.hier_block2): # Frequency correction self.freq_recov = gr.fll_band_edge_cc(self._samples_per_symbol, self._excess_bw, - 11*self._samples_per_symbol, + 11*int(self._samples_per_symbol), self._freq_alpha, self._freq_beta) # symbol timing recovery with RRC data filter nfilts = 32 - ntaps = 11 * samples_per_symbol*nfilts + ntaps = 11 * int(samples_per_symbol*nfilts) taps = gr.firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(self._samples_per_symbol), self._excess_bw, ntaps) @@ -268,7 +269,7 @@ class dqpsk2_demod(gr.hier_block2): fmin = -0.5 fmax = 0.5 - self.clock_recov = gr.costas_loop_cc(self._costas_alpha, + self.phase_recov = gr.costas_loop_cc(self._costas_alpha, self._costas_beta, fmax, fmin, arity) @@ -297,7 +298,7 @@ class dqpsk2_demod(gr.hier_block2): # Connect self.connect(self, self.agc, - self.freq_recov, self.time_recov, self.clock_recov, + self.freq_recov, self.time_recov, self.phase_recov, self.diffdec, self.slicer, self.symbol_mapper, self.unpack, self) if sync_out: self.connect(self.time_recov, (self, 1)) |