options: parameters: author: Naoki Pross category: '[GRC Hier Blocks]' cmake_opt: '' comment: '' copyright: '' description: '' gen_cmake: 'On' gen_linking: dynamic generate_options: qt_gui hier_block_src_path: '.:' id: correlator max_nouts: '0' output_language: python placement: (0,0) qt_qss_theme: '' realtime_scheduling: '' run: 'True' run_command: '{python} -u {filename}' run_options: prompt sizing_mode: fixed thread_safe_setters: '' title: Correlator Test window_size: '' states: bus_sink: false bus_source: false bus_structure: null coordinate: [8, 8] rotation: 0 state: enabled blocks: - name: access_code_symbols id: variable parameters: comment: '' value: '[(-1.4142135623730951-1.4142135623730951j), (1.4142135623730951-1.4142135623730951j), (1.4142135623730951+1.4142135623730951j), (1.4142135623730951+1.4142135623730951j), (-1.4142135623730951-1.4142135623730951j), (1.4142135623730951+1.4142135623730951j), (1.4142135623730951-1.4142135623730951j), (1.4142135623730951-1.4142135623730951j)]' states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 1140.0] rotation: 0 state: enabled - name: access_code_symbols_sps id: variable parameters: comment: '' value: '[(1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (-1.4142197-1.4142197j), (-1.4142197-1.4142197j), (-1.4142197-1.4142197j), (-1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197-1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j), (1.4142197+1.4142197j)]' states: bus_sink: false bus_source: false bus_structure: null coordinate: [224, 132.0] rotation: 0 state: enabled - name: const id: variable_constellation parameters: comment: '' const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]' dims: '1' precision: '8' rot_sym: '4' soft_dec_lut: None sym_map: '[0, 1, 3, 2]' type: qpsk states: bus_sink: false bus_source: false bus_structure: null coordinate: [592, 484.0] rotation: 0 state: enabled - name: excess_bw id: variable parameters: comment: '' value: '.35' states: bus_sink: false bus_source: false bus_structure: null coordinate: [496, 484.0] rotation: 0 state: enabled - name: nfilts id: variable parameters: comment: '' value: '32' states: bus_sink: false bus_source: false bus_structure: null coordinate: [224, 988.0] rotation: 0 state: enabled - name: revconj_access_code_symbols id: variable parameters: comment: '' value: '[(1.4142135623730951+1.4142135623730951j), (1.4142135623730951+1.4142135623730951j), (1.4142135623730951-1.4142135623730951j), (-1.4142135623730951+1.4142135623730951j), (1.4142135623730951-1.4142135623730951j), (1.4142135623730951-1.4142135623730951j), (1.4142135623730951+1.4142135623730951j), (-1.4142135623730951+1.4142135623730951j)]' states: bus_sink: false bus_source: false bus_structure: null coordinate: [48, 564.0] rotation: 0 state: enabled - name: rrc_taps id: variable parameters: comment: '' value: firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, 45*nfilts) states: bus_sink: false bus_source: false bus_structure: null coordinate: [304, 988.0] rotation: 0 state: enabled - name: samp_rate id: variable parameters: comment: '' value: '32000' states: bus_sink: false bus_source: false bus_structure: null coordinate: [8, 116.0] rotation: 0 state: enabled - name: sps id: variable parameters: comment: '' value: '4' states: bus_sink: false bus_source: false bus_structure: null coordinate: [104, 116.0] rotation: 0 state: enabled - name: testvec id: variable parameters: comment: '' value: '[31, 53] + [0x12, 0xe3, 0x9b, 0xee, 0x84, 0x23, 0x41, 0xf3]' states: bus_sink: false bus_source: false bus_structure: null coordinate: [48, 492.0] rotation: 0 state: enabled - name: timing_loop_bw id: variable parameters: comment: '' value: 2 * 3.141592653589793 / 100 states: bus_sink: false bus_source: false bus_structure: null coordinate: [224, 1068.0] rotation: 0 state: enabled - name: blocks_complex_to_magphase_0 id: blocks_complex_to_magphase parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1048, 696.0] rotation: 0 state: disabled - name: blocks_complex_to_magphase_0_0 id: blocks_complex_to_magphase parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1048, 1128.0] rotation: 0 state: enabled - name: blocks_multiply_const_vxx_0 id: blocks_multiply_const_vxx parameters: affinity: '' alias: '' comment: '' const: 180 / 3.141592653589793 maxoutbuf: '0' minoutbuf: '0' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1288, 724.0] rotation: 0 state: disabled - name: blocks_multiply_const_vxx_0_0 id: blocks_multiply_const_vxx parameters: affinity: '' alias: '' comment: '' const: 180 / 3.141592653589793 maxoutbuf: '0' minoutbuf: '0' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1336, 1204.0] rotation: 0 state: disabled - name: blocks_null_sink_3 id: blocks_null_sink parameters: affinity: '' alias: '' bus_structure_sink: '[[0,],]' comment: '' num_inputs: '1' type: float vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1336, 1256.0] rotation: 0 state: true - name: blocks_null_source_0 id: blocks_null_source parameters: affinity: '' alias: '' bus_structure_source: '[[0,],]' comment: '' maxoutbuf: '0' minoutbuf: '0' num_outputs: '1' type: byte vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [96, 344.0] rotation: 0 state: enabled - name: blocks_stream_mux_0 id: blocks_stream_mux parameters: affinity: '' alias: '' comment: '' lengths: '[10, len(testvec)]' maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: byte vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [288, 392.0] rotation: 0 state: enabled - name: blocks_stream_mux_1 id: blocks_stream_mux parameters: affinity: '' alias: '' comment: '' lengths: '[len(access_code_symbols_sps), sps * (len(testvec) + 15)]' maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 280.0] rotation: 0 state: disabled - name: blocks_throttle_0 id: blocks_throttle parameters: affinity: '' alias: '' comment: '' ignoretag: 'True' maxoutbuf: '0' minoutbuf: '0' samples_per_second: samp_rate type: complex vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1272, 404.0] rotation: 0 state: enabled - name: blocks_vector_sink_x_0 id: blocks_vector_sink_x parameters: affinity: '' alias: '' comment: '' reserve_items: '1024' type: byte vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [840, 1392.0] rotation: 0 state: true - name: blocks_vector_source_x_0 id: blocks_vector_source_x parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' repeat: 'True' tags: '[]' type: byte vector: testvec * 1600 vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [48, 404.0] rotation: 0 state: enabled - name: blocks_vector_source_x_1 id: blocks_vector_source_x parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' repeat: 'True' tags: '[]' type: complex vector: access_code_symbols_sps vlen: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [224, 204.0] rotation: 0 state: disabled - name: channels_channel_model_0 id: channels_channel_model parameters: affinity: '' alias: '' block_tags: 'False' comment: '' epsilon: '1.0' freq_offset: '0.00001' maxoutbuf: '0' minoutbuf: '0' noise_voltage: '0.2' seed: '243' taps: -1.4 + .4j states: bus_sink: false bus_source: false bus_structure: null coordinate: [992, 364.0] rotation: 0 state: enabled - name: digital_cma_equalizer_cc_0 id: digital_cma_equalizer_cc parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' modulus: '1' mu: '.002' num_taps: '15' sps: '1' states: bus_sink: false bus_source: false bus_structure: null coordinate: [528, 812.0] rotation: 0 state: enabled - name: digital_constellation_decoder_cb_0 id: digital_constellation_decoder_cb parameters: affinity: '' alias: '' comment: '' constellation: const maxoutbuf: '0' minoutbuf: '0' states: bus_sink: false bus_source: false bus_structure: null coordinate: [248, 1388.0] rotation: 0 state: enabled - name: digital_constellation_modulator_0 id: digital_constellation_modulator parameters: affinity: '' alias: '' comment: '' constellation: const differential: 'False' excess_bw: excess_bw log: 'False' maxoutbuf: '0' minoutbuf: '0' samples_per_symbol: sps verbose: 'False' states: bus_sink: false bus_source: false bus_structure: null coordinate: [496, 380.0] rotation: 0 state: enabled - name: digital_corr_est_cc_0 id: digital_corr_est_cc parameters: affinity: '' alias: '' comment: '' mark_delay: '0' maxoutbuf: '0' minoutbuf: '0' sps: '1' symbols: access_code_symbols threshold: '.8' threshold_method: digital.THRESHOLD_DYNAMIC states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 1020.0] rotation: 0 state: enabled - name: digital_pfb_clock_sync_xxx_0 id: digital_pfb_clock_sync_xxx parameters: affinity: '' alias: '' comment: '' filter_size: nfilts init_phase: '16' loop_bw: timing_loop_bw max_dev: '1.5' maxoutbuf: '0' minoutbuf: '0' osps: '1' sps: sps taps: rrc_taps type: ccf states: bus_sink: false bus_source: false bus_structure: null coordinate: [224, 836.0] rotation: 0 state: enabled - name: epy_block_0 id: epy_block parameters: _source_code: "import pmt\n\nimport numpy as np\nfrom gnuradio import gr\n\n\n\ class blk(gr.sync_block):\n def __init__(self):\n gr.sync_block.__init__(\n\ \ self,\n name='Phase Lock',\n in_sig=[np.complex64],\n\ \ out_sig=[np.complex64]\n )\n\n # keep track of how\ \ many samples were processed,\n # because tags have an absolute offset\n\ \ self.sampnr: np.complex64 = 0\n\n # because of block processing\ \ a tagged block could\n # be split in half so we need to keep track\ \ of the\n # \"previous\" values\n self.last_phase = 0\n\n \ \ def work(self, input_items, output_items):\n # TODO: interpolate phase\ \ values for frequency correction\n\n out = output_items[0]\n \ \ inp = input_items[0]\n\n # create a phase correction vector\n \ \ phase = np.zeros(len(inp), dtype=np.float64)\n\n # read tags\n \ \ tags = self.get_tags_in_window(0, 0, len(inp))\n\n # get only\ \ phase tags\n is_phase = lambda tag: pmt.to_python(tag.key) == \"phase_est\"\ \n phase_tags = list(filter(is_phase, tags))\n\n print(f\"Processing\ \ {len(inp)} samples, with {len(phase_tags)} tags\")\n\n # compute correction\ \ from previous block\n first_tag = phase_tags[0]\n first_idx\ \ = first_tag.offset - self.sampnr\n phase[:first_idx] = self.last_phase\n\ \n # iterate phase tags \"in the middle\"\n for prev_tag, next_tag\ \ in zip(phase_tags, phase_tags[1:]):\n # unpack pmt values\n \ \ pval = pmt.to_python(prev_tag.value)\n\n # compute indexes\ \ in phase vector\n pidx = prev_tag.offset - self.sampnr\n \ \ idx = next_tag.offset - self.sampnr\n\n # compute phase correction\ \ for block\n phase[pidx:idx] = pval\n print(f\"Correction\ \ for block {pidx} to {idx} is {pval}\")\n\n # compute the remaining\ \ part of the block\n last_tag = phase_tags[-1]\n last_val = pmt.to_python(last_tag.value)\n\ \ last_idx = last_tag.offset - self.sampnr\n\n phase[last_idx:]\ \ = last_val\n\n # save values for next call\n self.last_phase\ \ = last_val\n\n # mark samples as processed and compute to output\n\ \ self.sampnr += len(inp)\n out[:] = inp * np.exp(-1j * phase)\n\ \n return len(out)\n" affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' states: _io_cache: ('Phase Lock', 'blk', [], [('0', 'complex', 1)], [('0', 'complex', 1)], '', []) bus_sink: false bus_source: false bus_structure: null coordinate: [1088, 1040.0] rotation: 0 state: enabled - name: fadingui_deframer_0 id: fadingui_deframer parameters: affinity: '' alias: '' comment: '' frame_obj: '' maxoutbuf: '0' minoutbuf: '0' states: bus_sink: false bus_source: false bus_structure: null coordinate: [552, 1388.0] rotation: 0 state: true - name: fir_filter_xxx_1 id: fir_filter_xxx parameters: affinity: '' alias: '' comment: '' decim: '1' maxoutbuf: '0' minoutbuf: '0' samp_delay: '0' taps: revconj_access_code_symbols type: ccc states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 828.0] rotation: 0 state: disabled - name: qtgui_const_sink_x_0 id: qtgui_const_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'False' axislabels: 'True' color1: '"blue"' color10: '"red"' color2: '"red"' color3: '"red"' color4: '"red"' color5: '"red"' color6: '"red"' color7: '"red"' color8: '"red"' color9: '"red"' comment: '' grid: 'False' gui_hint: 0,1,2,1 label1: '' label10: '' label2: '' label3: '' label4: '' label5: '' label6: '' label7: '' label8: '' label9: '' legend: 'True' marker1: '0' marker10: '0' marker2: '0' marker3: '0' marker4: '0' marker5: '0' marker6: '0' marker7: '0' marker8: '0' marker9: '0' name: '"Equalized Signal"' nconnections: '1' size: '1024' style1: '0' style10: '0' style2: '0' style3: '0' style4: '0' style5: '0' style6: '0' style7: '0' style8: '0' style9: '0' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: complex update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' xmax: '2' xmin: '-2' ymax: '2' ymin: '-2' states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 716.0] rotation: 0 state: enabled - name: qtgui_const_sink_x_0_0 id: qtgui_const_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'False' axislabels: 'True' color1: '"blue"' color10: '"red"' color2: '"red"' color3: '"red"' color4: '"red"' color5: '"red"' color6: '"red"' color7: '"red"' color8: '"red"' color9: '"red"' comment: '' grid: 'False' gui_hint: 2,1,2,1 label1: '' label10: '' label2: '' label3: '' label4: '' label5: '' label6: '' label7: '' label8: '' label9: '' legend: 'True' marker1: '0' marker10: '0' marker2: '0' marker3: '0' marker4: '0' marker5: '0' marker6: '0' marker7: '0' marker8: '0' marker9: '0' name: '"Phase Locked Signal"' nconnections: '1' size: '1024' style1: '0' style10: '0' style2: '0' style3: '0' style4: '0' style5: '0' style6: '0' style7: '0' style8: '0' style9: '0' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: complex update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' xmax: '2' xmin: '-2' ymax: '2' ymin: '-2' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1288, 940.0] rotation: 0 state: enabled - name: qtgui_const_sink_x_1 id: qtgui_const_sink_x parameters: affinity: '' alias: '' alpha1: '.5' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: '"blue"' color10: '"red"' color2: '"red"' color3: '"red"' color4: '"red"' color5: '"red"' color6: '"red"' color7: '"red"' color8: '"red"' color9: '"red"' comment: '' grid: 'True' gui_hint: 2,1,2,1 label1: '' label10: '' label2: '' label3: '' label4: '' label5: '' label6: '' label7: '' label8: '' label9: '' legend: 'True' marker1: '9' marker10: '0' marker2: '0' marker3: '0' marker4: '0' marker5: '0' marker6: '0' marker7: '0' marker8: '0' marker9: '0' name: '"Cross Correlation"' nconnections: '1' size: '1024' style1: '2' style10: '0' style2: '0' style3: '0' style4: '0' style5: '0' style6: '0' style7: '0' style8: '0' style9: '0' tr_chan: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: complex update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' xmax: '2' xmin: '-2' ymax: '2' ymin: '-2' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1048, 612.0] rotation: 0 state: disabled - name: qtgui_time_sink_x_0 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'False' gui_hint: 2,0,1,1 label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: float update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: XC Magnitude ymax: '20' ymin: '0' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1320, 604.0] rotation: 0 state: disabled - name: qtgui_time_sink_x_0_0 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'False' gui_hint: '' label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: float update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: XC Magnitude ymax: '20' ymin: '0' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1336, 1108.0] rotation: 0 state: enabled - name: qtgui_time_sink_x_0_0_0 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'False' gui_hint: '' label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: complex update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: Equalized ymax: '2' ymin: '-2' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1048, 940.0] rotation: 0 state: enabled - name: qtgui_time_sink_x_1_0 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'False' gui_hint: 0,0,1,1 label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: complex update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: Modulated ymax: '2' ymin: '-2' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [808, 452.0] rotation: 0 state: enabled - name: qtgui_time_sink_x_1_1 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'True' gui_hint: 1,0,1,1 label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: complex update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: Equalized ymax: '2' ymin: '-2' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [776, 612.0] rotation: 0 state: disabled - name: qtgui_time_sink_x_2 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'False' gui_hint: 3,0,1,1 label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: float update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: XC Phase ymax: '1' ymin: '-1' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1480, 708.0] rotation: 0 state: disabled - name: qtgui_time_sink_x_2_0 id: qtgui_time_sink_x parameters: affinity: '' alias: '' alpha1: '1.0' alpha10: '1.0' alpha2: '1.0' alpha3: '1.0' alpha4: '1.0' alpha5: '1.0' alpha6: '1.0' alpha7: '1.0' alpha8: '1.0' alpha9: '1.0' autoscale: 'True' axislabels: 'True' color1: blue color10: dark blue color2: red color3: green color4: black color5: cyan color6: magenta color7: yellow color8: dark red color9: dark green comment: '' ctrlpanel: 'False' entags: 'True' grid: 'False' gui_hint: '' label1: Signal 1 label10: Signal 10 label2: Signal 2 label3: Signal 3 label4: Signal 4 label5: Signal 5 label6: Signal 6 label7: Signal 7 label8: Signal 8 label9: Signal 9 legend: 'True' marker1: '-1' marker10: '-1' marker2: '-1' marker3: '-1' marker4: '-1' marker5: '-1' marker6: '-1' marker7: '-1' marker8: '-1' marker9: '-1' name: '""' nconnections: '1' size: '1024' srate: samp_rate stemplot: 'False' style1: '1' style10: '1' style2: '1' style3: '1' style4: '1' style5: '1' style6: '1' style7: '1' style8: '1' style9: '1' tr_chan: '0' tr_delay: '0' tr_level: '0.0' tr_mode: qtgui.TRIG_MODE_FREE tr_slope: qtgui.TRIG_SLOPE_POS tr_tag: '""' type: float update_time: '0.10' width1: '1' width10: '1' width2: '1' width3: '1' width4: '1' width5: '1' width6: '1' width7: '1' width8: '1' width9: '1' ylabel: XC Phase ymax: '1' ymin: '-1' yunit: '""' states: bus_sink: false bus_source: false bus_structure: null coordinate: [1512, 1188.0] rotation: 0 state: disabled - name: root_raised_cosine_filter_0 id: root_raised_cosine_filter parameters: affinity: '' alias: '' alpha: excess_bw comment: '' decim: '1' gain: '2' interp: '1' maxoutbuf: '0' minoutbuf: '0' ntaps: 11*samp_rate samp_rate: samp_rate sym_rate: sps * samp_rate type: fir_filter_ccf states: bus_sink: false bus_source: false bus_structure: null coordinate: [496, 180.0] rotation: 0 state: disabled - name: virtual_sink_0 id: virtual_sink parameters: alias: '' comment: '' stream_id: envelope states: bus_sink: false bus_source: false bus_structure: null coordinate: [1480, 404.0] rotation: 0 state: enabled - name: virtual_sink_3 id: virtual_sink parameters: alias: '' comment: '' stream_id: locked states: bus_sink: false bus_source: false bus_structure: null coordinate: [1336, 1036.0] rotation: 0 state: true - name: virtual_source_0 id: virtual_source parameters: alias: '' comment: '' stream_id: envelope states: bus_sink: false bus_source: false bus_structure: null coordinate: [32, 884.0] rotation: 0 state: enabled - name: virtual_source_1 id: virtual_source parameters: alias: '' comment: '' stream_id: locked states: bus_sink: false bus_source: false bus_structure: null coordinate: [24, 1388.0] rotation: 0 state: true connections: - [blocks_complex_to_magphase_0, '0', qtgui_time_sink_x_0, '0'] - [blocks_complex_to_magphase_0, '1', blocks_multiply_const_vxx_0, '0'] - [blocks_complex_to_magphase_0_0, '0', qtgui_time_sink_x_0_0, '0'] - [blocks_complex_to_magphase_0_0, '1', blocks_multiply_const_vxx_0_0, '0'] - [blocks_complex_to_magphase_0_0, '1', blocks_null_sink_3, '0'] - [blocks_multiply_const_vxx_0, '0', qtgui_time_sink_x_2, '0'] - [blocks_multiply_const_vxx_0_0, '0', qtgui_time_sink_x_2_0, '0'] - [blocks_null_source_0, '0', blocks_stream_mux_0, '0'] - [blocks_stream_mux_0, '0', digital_constellation_modulator_0, '0'] - [blocks_stream_mux_1, '0', channels_channel_model_0, '0'] - [blocks_throttle_0, '0', virtual_sink_0, '0'] - [blocks_vector_source_x_0, '0', blocks_stream_mux_0, '1'] - [blocks_vector_source_x_1, '0', root_raised_cosine_filter_0, '0'] - [channels_channel_model_0, '0', blocks_throttle_0, '0'] - [digital_cma_equalizer_cc_0, '0', digital_corr_est_cc_0, '0'] - [digital_cma_equalizer_cc_0, '0', fir_filter_xxx_1, '0'] - [digital_cma_equalizer_cc_0, '0', qtgui_const_sink_x_0, '0'] - [digital_cma_equalizer_cc_0, '0', qtgui_time_sink_x_1_1, '0'] - [digital_constellation_decoder_cb_0, '0', fadingui_deframer_0, '0'] - [digital_constellation_modulator_0, '0', blocks_stream_mux_1, '1'] - [digital_constellation_modulator_0, '0', channels_channel_model_0, '0'] - [digital_constellation_modulator_0, '0', qtgui_time_sink_x_1_0, '0'] - [digital_corr_est_cc_0, '0', epy_block_0, '0'] - [digital_corr_est_cc_0, '0', qtgui_time_sink_x_0_0_0, '0'] - [digital_corr_est_cc_0, '1', blocks_complex_to_magphase_0_0, '0'] - [digital_pfb_clock_sync_xxx_0, '0', digital_cma_equalizer_cc_0, '0'] - [epy_block_0, '0', qtgui_const_sink_x_0_0, '0'] - [epy_block_0, '0', virtual_sink_3, '0'] - [fadingui_deframer_0, '0', blocks_vector_sink_x_0, '0'] - [fir_filter_xxx_1, '0', blocks_complex_to_magphase_0, '0'] - [fir_filter_xxx_1, '0', qtgui_const_sink_x_1, '0'] - [root_raised_cosine_filter_0, '0', blocks_stream_mux_1, '0'] - [virtual_source_0, '0', digital_pfb_clock_sync_xxx_0, '0'] - [virtual_source_1, '0', digital_constellation_decoder_cb_0, '0'] metadata: file_format: 1