diff --git a/examples/modulate_sync_word.grc b/examples/modulate_sync_word.grc new file mode 100644 index 0000000000000000000000000000000000000000..f417bd783f700ca592862d3a27ee28d55c659715 --- /dev/null +++ b/examples/modulate_sync_word.grc @@ -0,0 +1,314 @@ +options: + parameters: + author: '' + catch_exceptions: 'True' + category: '[GRC Hier Blocks]' + cmake_opt: '' + comment: '' + copyright: University of Melbourne + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: modulate_sync_word + 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: Modulate Sync Word + window_size: (1000,1000) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 8] + rotation: 0 + state: enabled + +blocks: +- name: constel + id: variable_constellation + parameters: + comment: '' + const_points: '[-1-1j, -1+1j, 1+1j, 1-1j]' + dims: '1' + normalization: digital.constellation.AMPLITUDE_NORMALIZATION + precision: '8' + rot_sym: '4' + soft_dec_lut: None + sym_map: '[0, 1, 3, 2]' + type: bpsk + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [184, 12.0] + rotation: 0 + state: true +- name: excess_bw + id: variable + parameters: + comment: '' + value: '0.35' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [728, 12.0] + rotation: 0 + state: true +- name: nsamps + id: variable + parameters: + comment: '' + value: sps*nsymbs + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [824, 12.0] + rotation: 0 + state: true +- name: nsymbs + id: variable + parameters: + comment: '' + value: 8*len(preamble)//constel.bits_per_symbol() + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [504, 12.0] + rotation: 0 + state: true +- name: ntaps + id: variable + parameters: + comment: '' + value: 11*sps + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [656, 12.0] + rotation: 0 + state: true +- name: preamble + id: variable + parameters: + comment: '' + value: digital.packet_utils.default_access_code_binary + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [344, 12.0] + rotation: 0 + state: true +- name: sps + id: variable + parameters: + comment: '' + value: '2' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [584, 12.0] + rotation: 0 + state: true +- name: analog_const_source_x_0 + id: analog_const_source_x + parameters: + affinity: '' + alias: '' + comment: '' + const: '0' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [520, 180.0] + rotation: 0 + state: true +- name: blocks_file_sink_0 + id: blocks_file_sink + parameters: + affinity: '' + alias: '' + append: 'False' + comment: "Saves modulate sync word samples to \nbinary file. You can load in Python\ + \ using \nnumpy:\n\nnumpy.fromfile(<filename>, dtype=np.complex64)" + file: modulated_sync_word.bin + type: complex + unbuffered: 'False' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [528, 260.0] + rotation: 180 + state: true +- name: blocks_head_0 + id: blocks_head + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_items: nsamps + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [760, 276.0] + rotation: 180 + state: true +- name: blocks_packed_to_unpacked_xx_0 + id: blocks_packed_to_unpacked_xx + parameters: + affinity: '' + alias: '' + bits_per_chunk: constel.bits_per_symbol() + comment: '' + endianness: gr.GR_MSB_FIRST + maxoutbuf: '0' + minoutbuf: '0' + num_ports: '1' + type: byte + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [216, 116.0] + rotation: 0 + state: true +- name: blocks_skiphead_0 + id: blocks_skiphead + parameters: + affinity: '' + alias: '' + comment: 'Skip ramp up samples of RRC + + transmit pulse-shaping filter' + maxoutbuf: '0' + minoutbuf: '0' + num_items: ntaps//2 + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [920, 276.0] + rotation: 180 + state: true +- name: blocks_stream_mux_0 + id: blocks_stream_mux + parameters: + affinity: '' + alias: '' + comment: '' + lengths: (nsymbs, ntaps//2) + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [696, 128.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: '[int(x) for x in preamble]' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [8, 108.0] + rotation: 0 + state: true +- name: digital_chunks_to_symbols_xx_0 + id: digital_chunks_to_symbols_xx + parameters: + affinity: '' + alias: '' + comment: '' + dimension: '1' + in_type: byte + maxoutbuf: '0' + minoutbuf: '0' + num_ports: '1' + out_type: complex + symbol_table: constel.points() + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [504, 112.0] + rotation: 0 + state: true +- name: root_raised_cosine_filter_0 + id: root_raised_cosine_filter + parameters: + affinity: '' + alias: '' + alpha: excess_bw + comment: '' + decim: '1' + gain: '1.0' + interp: sps + maxoutbuf: '0' + minoutbuf: '0' + ntaps: ntaps + samp_rate: sps + sym_rate: '1.0' + type: interp_fir_filter_ccf + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [848, 100.0] + rotation: 0 + state: true + +connections: +- [analog_const_source_x_0, '0', blocks_stream_mux_0, '1'] +- [blocks_head_0, '0', blocks_file_sink_0, '0'] +- [blocks_packed_to_unpacked_xx_0, '0', digital_chunks_to_symbols_xx_0, '0'] +- [blocks_skiphead_0, '0', blocks_head_0, '0'] +- [blocks_stream_mux_0, '0', root_raised_cosine_filter_0, '0'] +- [blocks_vector_source_x_0, '0', blocks_packed_to_unpacked_xx_0, '0'] +- [digital_chunks_to_symbols_xx_0, '0', blocks_stream_mux_0, '0'] +- [root_raised_cosine_filter_0, '0', blocks_skiphead_0, '0'] + +metadata: + file_format: 1