Dear Guys

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

Reply via email to