discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Two GMSK decoders with two msg queues


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] Two GMSK decoders with two msg queues
Date: Sat, 14 Oct 2006 10:22:16 -0700
User-agent: Mutt/1.5.9i

On Sat, Oct 14, 2006 at 01:04:43PM -0400, Dawei Shen wrote:
> 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.

I'm not sure what you're trying to do with gr.separator_ccc.  If you're
just trying to extract two different channels from the complex
baseband signal from the usrp, gr.freq_xlating_fir works great.

> 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?

Have you logged the two outputs of gr.separator_ccc into files and
examined them?  Are they by any chance identical?

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]