Sun Sep 4 20:59:56 2016 options author Aaron Scher window_size 2000,2000 category [GRC Hier Blocks] comment description Transmit and receive example _enabled True _coordinate (8, 8) _rotation 0 generate_options qt_gui hier_block_src_path .: id top_block max_nouts 0 qt_qss_theme realtime_scheduling run_command {python} -u {filename} run_options prompt run True thread_safe_setters title HackRF - RTLSDR loop back test variable comment _enabled True _coordinate (872, 4) _rotation 0 id EBW value .35 variable_rrc_filter_taps comment Root raised cosine definition. _enabled 1 alpha EBW _coordinate (760, 4) _rotation 0 gain nfilts id RRC_filter_taps ntaps 5*sps_TX*nfilts samp_rate nfilts sym_rate 1.0 variable comment RF carrier frequency _enabled True _coordinate (472, 4) _rotation 0 id center_freq value 430E6 variable comment Digitally upcovert transmitted signal by this value to avoid DC spurs, etc. At the receiver end, we will need to downconvert signal by this value. _enabled True _coordinate (312, 4) _rotation 0 id freq_offset_value value 30E3 variable comment _enabled True _coordinate (872, 60) _rotation 0 id nfilts value 32 variable comment Sample rate - determines BW of transmitter and receiver. This should be larger than BW of signal itself. _enabled True _coordinate (160, 4) _rotation 0 id samp_rate value 240E3 variable comment Samples per signal at receiver _enabled True _coordinate (88, 108) _rotation 0 id sps_RX value 40/10 variable comment Samples per signal at transmitter _enabled True _coordinate (8, 108) _rotation 0 id sps_TX value 40 analog_feedforward_agc_cc alias comment Optional AGC affinity _enabled 2 _coordinate (432, 972) _rotation 0 id analog_feedforward_agc_cc_0 maxoutbuf 0 minoutbuf 0 num_samples 1024/2 reference 1.0 analog_pwr_squelch_xx alpha .01 alias comment Optional power squelch affinity _enabled 2 _coordinate (224, 888) _rotation 0 gate True id analog_pwr_squelch_xx_0 maxoutbuf 0 minoutbuf 0 ramp 0 threshold -20 type complex analog_sig_source_x amp 1 alias comment Local oscillator affinity _enabled 1 freq freq_offset_value _coordinate (804, 600) _rotation 90 id analog_sig_source_x_0 maxoutbuf 0 minoutbuf 0 offset 0 type complex samp_rate samp_rate waveform analog.GR_COS_WAVE analog_sig_source_x amp 1 alias comment local oscillator affinity _enabled True freq -freq_offset_value _coordinate (24, 1132) _rotation 0 id analog_sig_source_x_1 maxoutbuf 0 minoutbuf 0 offset 0 type complex samp_rate samp_rate waveform analog.GR_COS_WAVE blocks_message_debug alias comment Display recovered message affinity _enabled 1 _coordinate (1008, 1160) _rotation 0 id blocks_message_debug_0 blocks_message_strobe alias comment Generate hello world message affinity _enabled 0 _coordinate (24, 276) _rotation 0 id blocks_message_strobe_0_0 maxoutbuf 0 msg pmt.cons(pmt.make_dict(), pmt.pmt_to_python.numpy_to_uvector(numpy.array([ord(c) for c in "Hello world!"], numpy.uint8))) minoutbuf 0 period 500 blocks_multiply_const_vxx alias comment const 0.5 affinity _enabled 1 _coordinate (640, 564) _rotation 0 id blocks_multiply_const_vxx_0 type complex maxoutbuf 0 minoutbuf 0 vlen 1 blocks_multiply_xx alias comment Perform frequency tranlation (up convert) affinity _enabled 1 _coordinate (952, 472) _rotation 0 id blocks_multiply_xx_0 type complex maxoutbuf 0 minoutbuf 0 num_inputs 2 vlen 1 blocks_multiply_xx alias comment Perform frequency translation (down convert) affinity _enabled True _coordinate (216, 1128) _rotation 0 id blocks_multiply_xx_1 type complex maxoutbuf 0 minoutbuf 0 num_inputs 2 vlen 1 blocks_pdu_to_tagged_stream alias comment affinity _enabled 1 _coordinate (120, 620) _rotation 0 id blocks_pdu_to_tagged_stream_1 type byte tag len_key maxoutbuf 0 minoutbuf 0 blocks_repack_bits_bb k 8 l my_const.bits_per_symbol() alias comment Unpack bytes affinity _enabled 1 endianness gr.GR_MSB_FIRST _coordinate (432, 452) _rotation 0 id blocks_repack_bits_bb_0_0 len_tag_key len_key maxoutbuf 0 minoutbuf 0 align_output False blocks_repack_bits_bb k 1 l 8 alias comment Tagged Stream to PDU block up ahead needs packed bytes affinity _enabled 1 endianness gr.GR_MSB_FIRST _coordinate (872, 972) _rotation 0 id blocks_repack_bits_bb_0_0_0 len_tag_key len_key2 maxoutbuf 0 minoutbuf 0 align_output False blocks_tagged_stream_multiply_length alias comment Fix length tag to reflect the resampling affinity _enabled 1 _coordinate (576, 624) _rotation 0 id blocks_tagged_stream_multiply_length_0 type complex c sps_TX lengthtagname len_key maxoutbuf 0 minoutbuf 0 vlen 1 blocks_tagged_stream_mux alias comment Append header to payload affinity _enabled 1 _coordinate (352, 552) _rotation 0 id blocks_tagged_stream_mux_0 type byte lengthtagname len_key maxoutbuf 0 minoutbuf 0 ninputs 2 tag_preserve_head_pos 0 vlen 1 blocks_tagged_stream_to_pdu alias comment affinity _enabled 1 _coordinate (888, 1100) _rotation 0 id blocks_tagged_stream_to_pdu_0 type byte tag len_key2 maxoutbuf 0 minoutbuf 0 digital_binary_slicer_fb alias comment affinity _enabled True _coordinate (632, 880) _rotation 270 id digital_binary_slicer_fb_0 maxoutbuf 0 minoutbuf 0 digital_burst_shaper_xx alias burst_shaper0 comment Zero pad, etc. affinity _enabled 1 _coordinate (640, 300) _rotation 0 id digital_burst_shaper_xx_0 insert_phasing True length_tag_name len_key maxoutbuf 0 minoutbuf 0 post_padding 4000 pre_padding 4000 type complex window numpy.ones(500) digital_chunks_to_symbols_xx alias comment Binary 1's and 0's to symbols. affinity dimension 1 _enabled 1 _coordinate (464, 324) _rotation 0 id digital_chunks_to_symbols_xx_0_0 in_type byte maxoutbuf 0 minoutbuf 0 num_ports 1 out_type complex symbol_table my_const.points() digital_cma_equalizer_cc alias comment Channel equalizer affinity _enabled 1 _coordinate (656, 1088) _rotation 0 mu .01 id digital_cma_equalizer_cc_0 maxoutbuf 0 minoutbuf 0 modulus 1 num_taps 11 sps 1 digital_constellation_soft_decoder_cf alias comment Decision constellation my_const affinity _enabled True _coordinate (648, 1020) _rotation 180 id digital_constellation_soft_decoder_cf_0 maxoutbuf 0 minoutbuf 0 digital_correlate_access_code_xx_ts access_code digital.packet_utils.default_access_code alias comment Correlates with access code to extract the payload. affinity _enabled 1 _coordinate (792, 848) _rotation 0 id digital_correlate_access_code_xx_ts_1_0 type byte maxoutbuf 0 minoutbuf 0 tagname len_key2 threshold 2 digital_costas_loop_cc alias comment Fine carrier frequency and phase sync affinity _enabled True _coordinate (656, 1208) _rotation 0 id digital_costas_loop_cc_0 w .01 maxoutbuf 0 minoutbuf 0 order 2 use_snr False digital_crc32_async_bb alias comment Error detection affinity _enabled 1 _coordinate (848, 1156) _rotation 0 id digital_crc32_async_bb_0 maxoutbuf 0 minoutbuf 0 check True digital_crc32_async_bb alias comment Apply error correction affinity _enabled 1 _coordinate (108, 440) _rotation 270 id digital_crc32_async_bb_1 maxoutbuf 0 minoutbuf 0 check False digital_diff_decoder_bb alias comment affinity _enabled 1 _coordinate (700, 856) _rotation 90 id digital_diff_decoder_bb_0 maxoutbuf 0 minoutbuf 0 modulus 2 digital_diff_encoder_bb alias comment affinity _enabled 1 _coordinate (272, 364) _rotation 0 id digital_diff_encoder_bb_0 maxoutbuf 0 minoutbuf 0 modulus 2 digital_fll_band_edge_cc alias comment Carrier frequency sync affinity _enabled 1 rolloff EBW _coordinate (448, 1064) _rotation 0 id digital_fll_band_edge_cc_0 w .02 maxoutbuf 0 minoutbuf 0 filter_size 45 samps_per_sym sps_RX type cc digital_pfb_clock_sync_xxx alias comment Timing recovery (sync) affinity _enabled True filter_size nfilts _coordinate (432, 800) _rotation 0 id digital_pfb_clock_sync_xxx_0 init_phase nfilts/2 loop_bw 6.28/400.0*2 maxoutbuf 0 max_dev 1.5 minoutbuf 0 osps 1 sps sps_RX taps RRC_filter_taps type ccf digital_protocol_formatter_bb alias comment Generate header affinity _enabled 1 format hdr_format _coordinate (208, 476) _rotation 0 id digital_protocol_formatter_bb_0 len_tag_key len_key maxoutbuf 0 minoutbuf 0 epy_block alias _io_cache ('Embedded Python Block', 'msg_block', [], [('msg_in', 'message')], [('msg_out', 'message')], 'Convert strings to uint8 vectors', []) _source_code """ Embedded Python Blocks: Each time this file is saved, GRC will instantiate the first class it finds to get ports and parameters of your block. The arguments to __init__ will be the parameters. All of them are required to have default values! """ import numpy as np import pylab from gnuradio import gr import pmt class msg_block(gr.basic_block): # other base classes are basic_block, decim_block, interp_block """Convert strings to uint8 vectors""" def __init__(self): # only default arguments here """arguments to this function show up as parameters in GRC""" gr.basic_block.__init__( self, name='Embedded Python Block', # will show up in GRC in_sig=None, out_sig=None ) self.message_port_register_out(pmt.intern('msg_out')) self.message_port_register_in(pmt.intern('msg_in')) self.set_msg_handler(pmt.intern('msg_in'), self.handle_msg) def handle_msg(self, msg): nvec = pmt.to_python(msg) self.message_port_pub(pmt.intern('msg_out'), pmt.cons(pmt.make_dict(), pmt.pmt_to_python.numpy_to_uvector(np.array([ord(c) for c in nvec], np.uint8)))) def work(self, input_items, output_items): pass comment Convert strings from previous block to uint8 vectors _enabled 1 _coordinate (56, 344) _rotation 0 id epy_block_0 parameter alias comment Header format definition _enabled 1 _coordinate (584, 120) _rotation 0 id hdr_format label Header Formatter short_id type value digital.header_format_default(digital.packet_utils.default_access_code, 0) import alias comment Custom Embedded Python Block uses this library. _enabled True _coordinate (472, 116) _rotation 0 id import_0 import import numpy parameter alias comment Constellation definition _enabled 1 _coordinate (592, 0) _rotation 0 id my_const label Constellation short_id type value digital.constellation_calcdist((digital.psk_2()[0]), (digital.psk_2()[1]), 2, 1).base() osmosdr_sink alias ant0 bb_gain0 20 bw0 0 corr0 0 freq0 center_freq if_gain0 10 gain0 30 ant10 bb_gain10 20 bw10 0 corr10 0 freq10 100e6 if_gain10 20 gain10 10 ant11 bb_gain11 20 bw11 0 corr11 0 freq11 100e6 if_gain11 20 gain11 10 ant12 bb_gain12 20 bw12 0 corr12 0 freq12 100e6 if_gain12 20 gain12 10 ant13 bb_gain13 20 bw13 0 corr13 0 freq13 100e6 if_gain13 20 gain13 10 ant14 bb_gain14 20 bw14 0 corr14 0 freq14 100e6 if_gain14 20 gain14 10 ant15 bb_gain15 20 bw15 0 corr15 0 freq15 100e6 if_gain15 20 gain15 10 ant16 bb_gain16 20 bw16 0 corr16 0 freq16 100e6 if_gain16 20 gain16 10 ant17 bb_gain17 20 bw17 0 corr17 0 freq17 100e6 if_gain17 20 gain17 10 ant18 bb_gain18 20 bw18 0 corr18 0 freq18 100e6 if_gain18 20 gain18 10 ant19 bb_gain19 20 bw19 0 corr19 0 freq19 100e6 if_gain19 20 gain19 10 ant1 bb_gain1 20 bw1 0 corr1 0 freq1 100e6 if_gain1 20 gain1 10 ant20 bb_gain20 20 bw20 0 corr20 0 freq20 100e6 if_gain20 20 gain20 10 ant21 bb_gain21 20 bw21 0 corr21 0 freq21 100e6 if_gain21 20 gain21 10 ant22 bb_gain22 20 bw22 0 corr22 0 freq22 100e6 if_gain22 20 gain22 10 ant23 bb_gain23 20 bw23 0 corr23 0 freq23 100e6 if_gain23 20 gain23 10 ant24 bb_gain24 20 bw24 0 corr24 0 freq24 100e6 if_gain24 20 gain24 10 ant25 bb_gain25 20 bw25 0 corr25 0 freq25 100e6 if_gain25 20 gain25 10 ant26 bb_gain26 20 bw26 0 corr26 0 freq26 100e6 if_gain26 20 gain26 10 ant27 bb_gain27 20 bw27 0 corr27 0 freq27 100e6 if_gain27 20 gain27 10 ant28 bb_gain28 20 bw28 0 corr28 0 freq28 100e6 if_gain28 20 gain28 10 ant29 bb_gain29 20 bw29 0 corr29 0 freq29 100e6 if_gain29 20 gain29 10 ant2 bb_gain2 20 bw2 0 corr2 0 freq2 100e6 if_gain2 20 gain2 10 ant30 bb_gain30 20 bw30 0 corr30 0 freq30 100e6 if_gain30 20 gain30 10 ant31 bb_gain31 20 bw31 0 corr31 0 freq31 100e6 if_gain31 20 gain31 10 ant3 bb_gain3 20 bw3 0 corr3 0 freq3 100e6 if_gain3 20 gain3 10 ant4 bb_gain4 20 bw4 0 corr4 0 freq4 100e6 if_gain4 20 gain4 10 ant5 bb_gain5 20 bw5 0 corr5 0 freq5 100e6 if_gain5 20 gain5 10 ant6 bb_gain6 20 bw6 0 corr6 0 freq6 100e6 if_gain6 20 gain6 10 ant7 bb_gain7 20 bw7 0 corr7 0 freq7 100e6 if_gain7 20 gain7 10 ant8 bb_gain8 20 bw8 0 corr8 0 freq8 100e6 if_gain8 20 gain8 10 ant9 bb_gain9 20 bw9 0 corr9 0 freq9 100e6 if_gain9 20 gain9 10 comment Send our little packet of information out into the wild, luminiferous aether affinity args hackrf=1 _enabled 1 _coordinate (872, 300) _rotation 0 id osmosdr_sink_0_0 type fc32 clock_source0 time_source0 clock_source1 time_source1 clock_source2 time_source2 clock_source3 time_source3 clock_source4 time_source4 clock_source5 time_source5 clock_source6 time_source6 clock_source7 time_source7 nchan 1 num_mboards 1 sample_rate samp_rate sync pfb_arb_resampler_xxx alias comment Resample. Apply RRC filter affinity _enabled 1 _coordinate (624, 440) _rotation 0 id pfb_arb_resampler_xxx_0 maxoutbuf 0 minoutbuf 0 nfilts nfilts rrate sps_TX samp_delay 0 atten 100 taps RRC_filter_taps type ccf qtgui_edit_box_msg alias comment affinity _enabled 1 _coordinate (12, 424) gui_hint _rotation 90 id qtgui_edit_box_msg_0 key label maxoutbuf 0 minoutbuf 0 is_pair False is_static False type string value qtgui_freq_sink_x autoscale False average 1.0 axislabels True bw samp_rate/int(sps_TX/sps_RX) alias fc 0 comment ctrlpanel False affinity _enabled True fftsize 1024 _coordinate (48, 848) gui_hint _rotation 180 grid False id qtgui_freq_sink_x_0 legend True alpha1 1.0 color1 "blue" label1 width1 1 alpha10 1.0 color10 "dark blue" label10 width10 1 alpha2 1.0 color2 "red" label2 width2 1 alpha3 1.0 color3 "green" label3 width3 1 alpha4 1.0 color4 "black" label4 width4 1 alpha5 1.0 color5 "cyan" label5 width5 1 alpha6 1.0 color6 "magenta" label6 width6 1 alpha7 1.0 color7 "yellow" label7 width7 1 alpha8 1.0 color8 "dark red" label8 width8 1 alpha9 1.0 color9 "dark green" label9 width9 1 maxoutbuf 0 minoutbuf 0 name "" nconnections 1 showports True freqhalf True tr_chan 0 tr_level 0.0 tr_mode qtgui.TRIG_MODE_FREE tr_tag "" type complex update_time 0.10 wintype firdes.WIN_BLACKMAN_hARRIS label Relative Gain ymax 10 ymin -140 units dB rational_resampler_xxx alias comment Downsample and LPF affinity decim int(sps_TX/sps_RX) _enabled True fbw 0 _coordinate (240, 1016) _rotation 0 id rational_resampler_xxx_0 interp 1 maxoutbuf 0 minoutbuf 0 taps type ccc rtlsdr_source alias ant0 bb_gain0 0 bw0 0 dc_offset_mode0 2 corr0 0 freq0 center_freq-40E3 gain_mode0 True if_gain0 0 iq_balance_mode0 2 gain0 40 ant10 bb_gain10 20 bw10 0 dc_offset_mode10 0 corr10 0 freq10 100e6 gain_mode10 False if_gain10 20 iq_balance_mode10 0 gain10 10 ant11 bb_gain11 20 bw11 0 dc_offset_mode11 0 corr11 0 freq11 100e6 gain_mode11 False if_gain11 20 iq_balance_mode11 0 gain11 10 ant12 bb_gain12 20 bw12 0 dc_offset_mode12 0 corr12 0 freq12 100e6 gain_mode12 False if_gain12 20 iq_balance_mode12 0 gain12 10 ant13 bb_gain13 20 bw13 0 dc_offset_mode13 0 corr13 0 freq13 100e6 gain_mode13 False if_gain13 20 iq_balance_mode13 0 gain13 10 ant14 bb_gain14 20 bw14 0 dc_offset_mode14 0 corr14 0 freq14 100e6 gain_mode14 False if_gain14 20 iq_balance_mode14 0 gain14 10 ant15 bb_gain15 20 bw15 0 dc_offset_mode15 0 corr15 0 freq15 100e6 gain_mode15 False if_gain15 20 iq_balance_mode15 0 gain15 10 ant16 bb_gain16 20 bw16 0 dc_offset_mode16 0 corr16 0 freq16 100e6 gain_mode16 False if_gain16 20 iq_balance_mode16 0 gain16 10 ant17 bb_gain17 20 bw17 0 dc_offset_mode17 0 corr17 0 freq17 100e6 gain_mode17 False if_gain17 20 iq_balance_mode17 0 gain17 10 ant18 bb_gain18 20 bw18 0 dc_offset_mode18 0 corr18 0 freq18 100e6 gain_mode18 False if_gain18 20 iq_balance_mode18 0 gain18 10 ant19 bb_gain19 20 bw19 0 dc_offset_mode19 0 corr19 0 freq19 100e6 gain_mode19 False if_gain19 20 iq_balance_mode19 0 gain19 10 ant1 bb_gain1 20 bw1 0 dc_offset_mode1 0 corr1 0 freq1 100e6 gain_mode1 False if_gain1 20 iq_balance_mode1 0 gain1 1 ant20 bb_gain20 20 bw20 0 dc_offset_mode20 0 corr20 0 freq20 100e6 gain_mode20 False if_gain20 20 iq_balance_mode20 0 gain20 10 ant21 bb_gain21 20 bw21 0 dc_offset_mode21 0 corr21 0 freq21 100e6 gain_mode21 False if_gain21 20 iq_balance_mode21 0 gain21 10 ant22 bb_gain22 20 bw22 0 dc_offset_mode22 0 corr22 0 freq22 100e6 gain_mode22 False if_gain22 20 iq_balance_mode22 0 gain22 10 ant23 bb_gain23 20 bw23 0 dc_offset_mode23 0 corr23 0 freq23 100e6 gain_mode23 False if_gain23 20 iq_balance_mode23 0 gain23 10 ant24 bb_gain24 20 bw24 0 dc_offset_mode24 0 corr24 0 freq24 100e6 gain_mode24 False if_gain24 20 iq_balance_mode24 0 gain24 10 ant25 bb_gain25 20 bw25 0 dc_offset_mode25 0 corr25 0 freq25 100e6 gain_mode25 False if_gain25 20 iq_balance_mode25 0 gain25 10 ant26 bb_gain26 20 bw26 0 dc_offset_mode26 0 corr26 0 freq26 100e6 gain_mode26 False if_gain26 20 iq_balance_mode26 0 gain26 10 ant27 bb_gain27 20 bw27 0 dc_offset_mode27 0 corr27 0 freq27 100e6 gain_mode27 False if_gain27 20 iq_balance_mode27 0 gain27 10 ant28 bb_gain28 20 bw28 0 dc_offset_mode28 0 corr28 0 freq28 100e6 gain_mode28 False if_gain28 20 iq_balance_mode28 0 gain28 10 ant29 bb_gain29 20 bw29 0 dc_offset_mode29 0 corr29 0 freq29 100e6 gain_mode29 False if_gain29 20 iq_balance_mode29 0 gain29 10 ant2 bb_gain2 20 bw2 0 dc_offset_mode2 0 corr2 0 freq2 100e6 gain_mode2 False if_gain2 20 iq_balance_mode2 0 gain2 10 ant30 bb_gain30 20 bw30 0 dc_offset_mode30 0 corr30 0 freq30 100e6 gain_mode30 False if_gain30 20 iq_balance_mode30 0 gain30 10 ant31 bb_gain31 20 bw31 0 dc_offset_mode31 0 corr31 0 freq31 100e6 gain_mode31 False if_gain31 20 iq_balance_mode31 0 gain31 10 ant3 bb_gain3 20 bw3 0 dc_offset_mode3 0 corr3 0 freq3 100e6 gain_mode3 False if_gain3 20 iq_balance_mode3 0 gain3 10 ant4 bb_gain4 20 bw4 0 dc_offset_mode4 0 corr4 0 freq4 100e6 gain_mode4 False if_gain4 20 iq_balance_mode4 0 gain4 10 ant5 bb_gain5 20 bw5 0 dc_offset_mode5 0 corr5 0 freq5 100e6 gain_mode5 False if_gain5 20 iq_balance_mode5 0 gain5 10 ant6 bb_gain6 20 bw6 0 dc_offset_mode6 0 corr6 0 freq6 100e6 gain_mode6 False if_gain6 20 iq_balance_mode6 0 gain6 10 ant7 bb_gain7 20 bw7 0 dc_offset_mode7 0 corr7 0 freq7 100e6 gain_mode7 False if_gain7 20 iq_balance_mode7 0 gain7 10 ant8 bb_gain8 20 bw8 0 dc_offset_mode8 0 corr8 0 freq8 100e6 gain_mode8 False if_gain8 20 iq_balance_mode8 0 gain8 10 ant9 bb_gain9 20 bw9 0 dc_offset_mode9 0 corr9 0 freq9 100e6 gain_mode9 False if_gain9 20 iq_balance_mode9 0 gain9 10 comment Electromagnetic dream catcher affinity args _enabled 1 _coordinate (8, 944) _rotation 0 id rtlsdr_source_1 maxoutbuf 0 clock_source0 time_source0 clock_source1 time_source1 clock_source2 time_source2 clock_source3 time_source3 clock_source4 time_source4 clock_source5 time_source5 clock_source6 time_source6 clock_source7 time_source7 minoutbuf 0 nchan 1 num_mboards 1 type fc32 sample_rate samp_rate sync analog_feedforward_agc_cc_0 digital_pfb_clock_sync_xxx_0 0 0 analog_pwr_squelch_xx_0 digital_fll_band_edge_cc_0 0 0 analog_pwr_squelch_xx_0 qtgui_freq_sink_x_0 0 0 analog_sig_source_x_0 blocks_multiply_xx_0 0 1 analog_sig_source_x_1 blocks_multiply_xx_1 0 1 blocks_multiply_const_vxx_0 blocks_multiply_xx_0 0 0 blocks_multiply_xx_0 osmosdr_sink_0_0 0 0 blocks_multiply_xx_1 rational_resampler_xxx_0 0 0 blocks_pdu_to_tagged_stream_1 blocks_tagged_stream_mux_0 0 1 blocks_pdu_to_tagged_stream_1 digital_protocol_formatter_bb_0 0 0 blocks_repack_bits_bb_0_0 digital_diff_encoder_bb_0 0 0 blocks_repack_bits_bb_0_0_0 blocks_tagged_stream_to_pdu_0 0 0 blocks_tagged_stream_multiply_length_0 blocks_multiply_const_vxx_0 0 0 blocks_tagged_stream_mux_0 blocks_repack_bits_bb_0_0 0 0 blocks_tagged_stream_to_pdu_0 digital_crc32_async_bb_0 pdus in digital_binary_slicer_fb_0 digital_diff_decoder_bb_0 0 0 digital_burst_shaper_xx_0 pfb_arb_resampler_xxx_0 0 0 digital_chunks_to_symbols_xx_0_0 digital_burst_shaper_xx_0 0 0 digital_cma_equalizer_cc_0 digital_constellation_soft_decoder_cf_0 0 0 digital_constellation_soft_decoder_cf_0 digital_binary_slicer_fb_0 0 0 digital_correlate_access_code_xx_ts_1_0 blocks_repack_bits_bb_0_0_0 0 0 digital_costas_loop_cc_0 digital_cma_equalizer_cc_0 0 0 digital_crc32_async_bb_0 blocks_message_debug_0 out print digital_crc32_async_bb_1 blocks_pdu_to_tagged_stream_1 out pdus digital_diff_decoder_bb_0 digital_correlate_access_code_xx_ts_1_0 0 0 digital_diff_encoder_bb_0 digital_chunks_to_symbols_xx_0_0 0 0 digital_fll_band_edge_cc_0 analog_feedforward_agc_cc_0 0 0 digital_pfb_clock_sync_xxx_0 digital_costas_loop_cc_0 0 0 digital_protocol_formatter_bb_0 blocks_tagged_stream_mux_0 0 0 epy_block_0 digital_crc32_async_bb_1 msg_out in pfb_arb_resampler_xxx_0 blocks_tagged_stream_multiply_length_0 0 0 qtgui_edit_box_msg_0 epy_block_0 msg msg_in rational_resampler_xxx_0 analog_pwr_squelch_xx_0 0 0 rtlsdr_source_1 blocks_multiply_xx_1 0 0