I’m working on a qpsk demodulator (not differential), see code below :
# Connect & Initialize base class self.connect(self,self.pre_scaler, self.agc, self.costas_loop, self.rrc_filter, self.clock_recovery) self.connect(self.clock_recovery, self.diffdec, self.slicer,
I’ve removed the diff_phasor block in the flowgraph. By default the
constellation mapper use :
# find closest constellation point
rot = 1
#rot = .707 + .707j
rotated_const = map(lambda pt: pt * rot,
#print “rotated_const = %s” % rotated_const
self.slicer = gr.constellation_decoder_cb(rotated_const,
if self._gray_code: self.symbol_mapper = gr.map_bb(psk.gray_to_binary[arity]) else: self.symbol_mapper = gr.map_bb(psk.ungray_to_binary[arity])
I would like to know if rot has to be set to 1 or 0.707 + 0.707j as I
have removed the diff_phasor ?
When I draw the constellation after the clock_recovery block, I see
graphicaly that the symbol are located around +45Â°, 135Â°,225Â°,-45Â°.