Thank you for helping me out with my previous question about the general_work() function, I have done what I want with your help. Now I have another problem, here is a fraction of the code:
self._rcvd_pktq_B = gr.msg_queue()
self._rcvd_pktq_A = gr.msg_queue() # holds packets from the PHY
self.separator = gr.separator_ccc ()
self.gmsk_demod_A = gmsk2.gmsk2_demod(fg, *args, **kwargs)
self.gmsk_demod_B = gmsk2.gmsk2_demod (fg, *args, **kwargs)
self.correlator_A = gr.correlate_access_code_bb(access_code, threshold)
self.correlator_B = gr.correlate_access_code_bb(access_code, threshold)
self.framer_sink_A = gr.framer_sink_1(self._rcvd_pktq_A)
self.framer_sink_B = gr.framer_sink_1(self._rcvd_pktq_B)
fg.connect((self.fm_separator, 0), self.gmsk_demod_A, self.correlator_A, self.framer_sink_A )
fg.connect((self.fm_separator, 1), self.gmsk_demod_B, self.correlator_B, self.framer_sink_B)
gr.hier_block.__init__(self, fg, self.fm_separator, None)
self._watcher_A = _queue_watcher_thread(self._rcvd_pktq_A, callbackA)
self._watcher_B = _queue_watcher_thread2(self._rcvd_pktq_B, callbackB)
Here the incoming signal is the sum of two baseband, complex GMSK signals. The block "self.separator" implements an algorithm to separate the two complex signals, recovering the original signals. Then two GMSK decoding streams are connected to the block, pretty much following what has been provided.
However, my obeservation was that the two streams produce exactly the same packets (which are supposed to be produced only by A, not B, the output of B should be different). So could anyone help me check whether I am doing things correctly here?
Thank you very much
Dawei
_______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
