discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] how to stop the top_block and restart signal tran


From: Jason Abele
Subject: Re: [Discuss-gnuradio] how to stop the top_block and restart signal transmission
Date: Wed, 23 Feb 2011 09:44:15 -0800

On Wed, Feb 23, 2011 at 9:25 AM, Yan Nie <address@hidden> wrote:
> Dear all,
> I'm really sorry about the last uncompleted email. I elaborated the method
> lock() and unlock() to completely pause the flow graph without transmitting
> any signal, even if  the carrier wave, but the continuous carrier wave still
> shows on the oscilloscope. I'm trying to transmit 13-bit Barker code carried
> by a 4MHz sinusoid wave. After this 13-bit code transmission, the whole
> system need to be suspended for 5 milliseconds without any signal
> transmitted even the carrier signal. I tried the lock/unlock method, so that
> the Barker code won't feed in the flow graph, but the carrier signal, a 4MHz
> sinusoid wave is still transmitted through the transmitter. Could you please
> help me see what's the problem of the flow graph that cannot allow the
> lock/unlock completely disable the signal transmission for 5 ms then restart
> the transmission again. At the transmission pause interval, how to
> completely shut down the transmission for 5 ms then restart the signal
> transmission.
>
> The code related to the scheduling part is:
>
> top_block = tx_bpsk_block(options.tx_subdev_spec,options.freq,
> options.verbose, options.chip_rate,options.amplitude)
>
> try:
>    top_block.start()
>    start_flag = 1
>    payload_13barker = '\x01\x01\x01\x01\x01\x00\x00\x01\x01\x00\x01\x00\x01'
>    while (start_flag == 1)
>          msg_13bit = gr.message_from_string(payload_13barker)
>          top_block.msgq.insert_tail(msg_13bit)
>          eof_msg = gr.message(1)
>          top_block.msgq.insert_tail(eof_msg)
>          top_block.lock()
>          time.sleep(0.005)
>          top_block.unlock()
>          top_block.wait()
> except KeyboardInterrupt:
>        pass
>
> if __name ___ == "__main__":
>         main()
>
> The top block is built as:
>
> class tx_bpsk_block(gr.top_block):
>       def __init__ (self, subdev_spec,freq,verbose,chip_rate,amplitude):
>       gr.top_block.__init__(self,"tx_mpsk")
>       self._freq = freq
>       self._verbose = verbose
>       self._amplitude = amplitude
>       self._u =
> usrp_sink_s(0,subdev_spec,chip_rate,self._freq,self._verbose)
>       self.in_data = gr.message_source(gr.sizeof_char,14)
>       self.msgqq = self.in_data.msgq()
>       self._constellation = [-1,1]
>       self._mapper = gr.chunks_to_symbols_bf(self._constellation)
>       self._gain = gr.multiply_const_ff(self._amplitude)
>       self.f2s = gr.float_to_short()
>       self.connect(self.in_data,self._mapper,self._gain,self.f2s,self._u)
>
> Could you please help me to see how to completely pause the signal
> transmission at the transmitter side, disabling or shutting down the signal
> transmission including transmitting carrier wave? I really appreciate all of
> your help on solving this problem. Really appreciate!
> Wish you a great day!

Yan,

Please confirm that you just see the carrier, not your modulated
signal when using the lock()/unlock()

Also, please tell us:

What version of GNUradio are you using?

What hardware are you using? USRP?  which daughterboard?

Are you using UHD?

Jason



reply via email to

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