A couple of comments, maybe this helps you on your tracks: - You're using an ancient UHD version. Is there a reason you can't use a newer one? - In current GNU Radio, you can use 'length tags' to mark bursts, if that's any help. - You'll know if your USRP hasn't acknowledged tx_eob if you see 'U's between bursts.
Cheers, M On 10/20/2014 11:43 AM, Frederik Wing wrote: > Hello, > > I am trying to implement a burst transmitter using GNU Radio Companion > and an USRP N210 with WBX board. My problem is when inserting zeros as > "gap" between the bursts the USRP is transmitting a non-neglectable > carrier signal (due to DC offset I guess?). So I want to try inserting > tx_sob and tx_eob stream tags to make the USRP shutting down the TX chain. > > For that I created a sample flow graph which creates one burst with 6 > samples. The tags are inserted by a "Message Burst Source". The > important part of the generated .py file is as follows: > >> >> ################################################## >> # Variables >> ################################################## >> self.tx_gain = tx_gain = 15 >> self.samp_rate = samp_rate = 200000 >> self.f_center = f_center = 1.47e9 >> >> ################################################## >> # Message Queues >> ################################################## >> blocks_message_sink_0_msgq_out = >> blocks_message_burst_source_0_msgq_in = gr.msg_queue(2) >> >> ################################################## >> # Blocks >> ################################################## >> self.usrp_sink = uhd.usrp_sink( >> device_addr="device", >> stream_args=uhd.stream_args( >> cpu_format="fc32", >> channels=range(1), >> ), >> ) >> self.usrp_sink.set_samp_rate(samp_rate) >> self.usrp_sink.set_center_freq(f_center, 0) >> self.usrp_sink.set_gain(tx_gain, 0) >> self.usrp_sink.set_antenna("TX/RX", 0) >> self.blocks_vector_source_x_0 = >> blocks.vector_source_c((1,1,1,1,1,0), False, 1, []) >> self.blocks_tag_debug_0 = >> blocks.tag_debug(gr.sizeof_gr_complex*1, "", ""); >> self.blocks_tag_debug_0.set_display(True) >> self.blocks_message_sink_0 = >> blocks.message_sink(gr.sizeof_gr_complex*1, >> blocks_message_sink_0_msgq_out, False) >> self.blocks_message_burst_source_0 = >> blocks.message_burst_source(gr.sizeof_gr_complex*1, >> blocks_message_burst_source_0_msgq_in) >> >> ################################################## >> # Connections >> ################################################## >> self.connect((self.blocks_vector_source_x_0, 0), >> (self.blocks_message_sink_0, 0)) >> self.connect((self.blocks_message_burst_source_0, 0), >> (self.blocks_tag_debug_0, 0)) >> self.connect((self.blocks_message_burst_source_0, 0), >> (self.usrp_sink, 0)) > Through the "Tag Debug" block I observe that the tags are set correctly > (tx_sob at sample 0 and tx_eob at sample 5). Nevertheless the USRP is > still transmitting at the carrier frequency after the actual burst is > completed. I observed that with a second USRP as receiver. It seems like > the USRP Sink is ignoring the tags. > > Trying the "tags_demo" application showed the desired behaviour. No > carrier between the bursts. I checked the source code and noticed that > they are additionally assigning time stamps as tags to the samples. Is > this necessary to achieve my goal? > > I am using GNU Radio 3.7.2.1 and UHD_003.005.005-0. > > Any comments on this issue are highly appreciated! > > Frederik. > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio