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: Yan Nie
Subject: Re: [Discuss-gnuradio] how to stop the top_block and restart signal transmission
Date: Wed, 23 Feb 2011 12:25:52 -0500

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!

Thanks,
Yan

Attachment: ynie3.vcf
Description: Card for "Yan Nie" <ynie3@uwo.ca>


reply via email to

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