discuss-gnuradio
[Top][All Lists]
Advanced

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

Two more questions: Re: [Discuss-gnuradio] Two GMSK decoders with two ms


From: Dawei Shen
Subject: Two more questions: Re: [Discuss-gnuradio] Two GMSK decoders with two msg queues
Date: Mon, 16 Oct 2006 23:47:13 -0400

Hey Eric, Michael and other friends:

My code is working well now. But I met two new problems, which are not so crucial, but really important to me.

1. When I initilize the Viterbi algorithm, I wish that for the first trunk of data, ninput_items >= Viterbi algorithm's working length, let's say ninput_items > 100 (only for the first trunk of data, doesn't matter for later ones). Now I am using assert(ninput_items > 100), which may not may not let me get through. Is there anyway so that I could control the number of incoming samples?

2. Another problem is more difficult to describe, the following is part of my main code:

class my_graph(gr.flow_graph):

    def __init__(self, rx_callbackA, rx_callbackB, spb, bt, SNR, freq_error):
        gr.flow_graph.__init__(self)

        fg = self

        # Tuning Parameters
        gain_mu = 0.002*spb
        omega = spb*(1+freq_error)

        # transmitter
        self.packet_transmitterA = gmsk2_mod_pkts(fg, spb=spb, bt=bt)
        self.packet_transmitterB = gmsk2_mod_pkts(fg, spb=spb, bt=bt)

        adder = gr.add_cc ()
const = gr.multiply_const_cc (0.5)   

    filesink = gr.file_sink (gr.sizeof_gr_complex, "added.dat")
    filesinkA = gr.file_sink (gr.sizeof_gr_complex, "A.dat")
    filesinkB = gr.file_sink (gr.sizeof_gr_complex, "B.dat")
   
        #fg.connect (rx_channel_A, (adder, 0))
        #fg.connect (rx_channel_B, (adder, 1))
        #fg.connect (noise, (adder, 2))
    fg.connect (self.packet_transmitterA , (adder, 0))
    fg.connect (self.packet_transmitterB, const, (adder, 1))
        # receiver
        self.packet_receiver = Hamkins_demod_pkts(fg, callbackA=rx_callbackA, callbackB=rx_callbackB,
                                                  spb=spb, gain_mu=gain_mu,
                                                  freq_error=freq_error, omega=omega)
               
                                                                                           
    fg.connect (adder, self.packet_receiver)
    fg.connect (adder, filesink)
    fg.connect (self.packet_transmitterA, filesinkA)
    fg.connect (const, filesinkB)





On 10/16/06, Eric Blossom < address@hidden> wrote:
On Mon, Oct 16, 2006 at 10:37:10PM -0400, Dawei Shen wrote:
> Hey, Michael and Eric
>
> Thank you for your reply. Yeah, you are right, the I found out my problem in
> my separator_ccc block, I did something stupid so that the two output
> streams become identical. Now I have solved the problem and now everything
> works perfectly.

Great!  Glad to hear it works.

> Basically what I am trying to do is to separate two digital co-channel
> signals.
>
> Thank you guys

You're welcome.  Keep us posted!

> Dawei

Eric


reply via email to

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