options: parameters: author: '' category: Custom cmake_opt: '' comment: '' copyright: '' description: Example of an OFDM receiver gen_cmake: 'On' gen_linking: dynamic generate_options: no_gui hier_block_src_path: '.:' id: rx_ofdm 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: OFDM Rx window_size: 1280, 1024 states: coordinate: [8, 12.0] rotation: 0 state: enabled blocks: - name: fft_len id: variable parameters: comment: '' value: '64' states: coordinate: [328, 12.0] rotation: 0 state: enabled - name: header_equalizer id: variable parameters: comment: '' value: digital.ofdm_equalizer_simpledfe(fft_len, header_mod.base(), occupied_carriers, pilot_carriers, pilot_symbols) states: coordinate: [952, 76.0] rotation: 0 state: enabled - name: header_formatter id: variable parameters: comment: '' value: digital.packet_header_ofdm(occupied_carriers, n_syms=1, len_tag_key=packet_length_tag_key, frame_len_tag_key=length_tag_key, bits_per_header_sym=header_mod.bits_per_symbol(), bits_per_payload_sym=payload_mod.bits_per_symbol(), scramble_header=False) states: coordinate: [880, 12.0] rotation: 0 state: enabled - name: header_mod id: variable parameters: comment: '' value: digital.constellation_bpsk() states: coordinate: [512, 12.0] rotation: 0 state: enabled - name: length_tag_key id: variable parameters: comment: '' value: '"frame_len"' states: coordinate: [392, 12.0] rotation: 0 state: enabled - name: occupied_carriers id: variable parameters: comment: '' value: (list(range(-26, -21)) + list(range(-20, -7)) + list(range(-6, 0)) + list(range(1, 7)) + list(range(8, 21)) + list(range(22, 27)),) states: coordinate: [568, 76.0] rotation: 0 state: enabled - name: packet_len id: variable parameters: comment: '' value: '96' states: coordinate: [1056, 12.0] rotation: 0 state: enabled - name: packet_length_tag_key id: variable parameters: comment: '' value: '"packet_len"' states: coordinate: [1152, 12.0] rotation: 0 state: enabled - name: payload_equalizer id: variable parameters: comment: '' value: digital.ofdm_equalizer_simpledfe(fft_len, payload_mod.base(), occupied_carriers, pilot_carriers, pilot_symbols, 1) states: coordinate: [1136, 76.0] rotation: 0 state: enabled - name: payload_mod id: variable parameters: comment: '' value: digital.constellation_qpsk() states: coordinate: [688, 12.0] rotation: 0 state: enabled - name: pilot_carriers id: variable parameters: comment: '' value: ((-21, -7, 7, 21,),) states: coordinate: [720, 76.0] rotation: 0 state: enabled - name: pilot_symbols id: variable parameters: comment: '' value: ((1, 1, 1, -1,),) states: coordinate: [840, 76.0] rotation: 0 state: enabled - name: samp_rate id: variable parameters: comment: '' value: '10000' states: coordinate: [184, 76.0] rotation: 0 state: enabled - name: sync_word1 id: variable parameters: comment: '' value: '[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]' states: coordinate: [272, 76.0] rotation: 0 state: enabled - name: sync_word2 id: variable parameters: comment: '' value: '[0j, 0j, 0j, 0j, 0j, 0j, (-1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), (1+0j), (1+0j), (1 +0j), (1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), 0j, (1+0j), (-1+0j), (1+0j), (1+0j), (1+0j), (-1+0j), (1+0j), (1+0j), (1+0j), (-1+0j), (1+0j), (1+0j), (1+0j), (1+0j), (-1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (-1+0j), 0j, 0j, 0j, 0j, 0j]' states: coordinate: [416, 76.0] rotation: 0 state: enabled - name: analog_frequency_modulator_fc_0 id: analog_frequency_modulator_fc parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' sensitivity: -2.0/fft_len states: coordinate: [912, 292.0] rotation: 0 state: enabled - name: analog_random_source_x_0 id: analog_random_source_x parameters: affinity: '' alias: '' comment: '' max: '255' maxoutbuf: '0' min: '0' minoutbuf: '0' num_samps: '1000' repeat: 'True' type: byte states: coordinate: [16, 212.0] rotation: 0 state: enabled - name: blocks_delay_0 id: blocks_delay parameters: affinity: '' alias: '' comment: '' delay: fft_len+fft_len//4 maxoutbuf: '0' minoutbuf: '0' num_ports: '1' type: complex vlen: '1' states: coordinate: [688, 436.0] rotation: 0 state: enabled - name: blocks_multiply_xx_0 id: blocks_multiply_xx parameters: affinity: '' alias: '' comment: '' maxoutbuf: '0' minoutbuf: '0' num_inputs: '2' type: complex vlen: '1' states: coordinate: [800, 408.0] rotation: 0 state: enabled - name: blocks_repack_bits_bb_0 id: blocks_repack_bits_bb parameters: affinity: '' alias: '' align_output: 'True' comment: '' endianness: gr.GR_LSB_FIRST k: payload_mod.bits_per_symbol() l: '8' len_tag_key: packet_length_tag_key maxoutbuf: '0' minoutbuf: '0' states: coordinate: [432, 892.0] rotation: 0 state: enabled - name: blocks_stream_to_tagged_stream_0 id: blocks_stream_to_tagged_stream parameters: affinity: '' alias: '' comment: '' len_tag_key: packet_length_tag_key maxoutbuf: '0' minoutbuf: '0' packet_len: packet_len type: byte vlen: '1' states: coordinate: [176, 228.0] rotation: 0 state: enabled - name: blocks_tag_debug_1 id: blocks_tag_debug parameters: affinity: '' alias: '' comment: '' display: 'True' filter: '""' name: Rx Bytes num_inputs: '1' type: byte vlen: '1' states: coordinate: [864, 884.0] rotation: 0 state: enabled - 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: coordinate: [464, 484.0] rotation: 0 state: enabled - name: channels_channel_model_0 id: channels_channel_model parameters: affinity: '' alias: '' block_tags: 'True' comment: '' epsilon: '1.0' freq_offset: 0 * 1.0/fft_len maxoutbuf: '0' minoutbuf: '0' noise_voltage: '0.1' seed: '0' taps: '1.0' states: coordinate: [448, 372.0] rotation: 180 state: enabled - name: digital_constellation_decoder_cb_0 id: digital_constellation_decoder_cb parameters: affinity: '' alias: '' comment: '' constellation: header_mod.base() maxoutbuf: '0' minoutbuf: '0' states: coordinate: [1072, 580.0] rotation: 180 state: enabled - name: digital_constellation_decoder_cb_1 id: digital_constellation_decoder_cb parameters: affinity: '' alias: '' comment: '' constellation: payload_mod.base() maxoutbuf: '0' minoutbuf: '0' states: coordinate: [192, 900.0] rotation: 0 state: enabled - name: digital_crc32_bb_0 id: digital_crc32_bb parameters: affinity: '' alias: '' check: 'True' comment: '' lengthtagname: packet_length_tag_key maxoutbuf: '0' minoutbuf: '0' packed: 'True' states: coordinate: [640, 884.0] rotation: 0 state: enabled - name: digital_header_payload_demux_0 id: digital_header_payload_demux parameters: affinity: '' alias: '' comment: '' guard_interval: fft_len//4 header_len: '3' header_padding: '0' items_per_symbol: fft_len length_tag_key: length_tag_key maxoutbuf: '0' minoutbuf: '0' output_symbols: 'True' samp_rate: samp_rate special_tags: () timing_tag_key: '"rx_time"' trigger_tag_key: '""' type: complex states: coordinate: [1008, 388.0] rotation: 0 state: enabled - name: digital_ofdm_chanest_vcvc_0 id: digital_ofdm_chanest_vcvc parameters: affinity: '' alias: '' comment: '' eq_noise_red_len: '0' force_one_symbol: 'False' max_carr_offset: '3' maxoutbuf: '0' minoutbuf: '0' n_data_symbols: '1' sync_symbol1: sync_word1 sync_symbol2: sync_word2 states: coordinate: [432, 636.0] rotation: 0 state: enabled - name: digital_ofdm_frame_equalizer_vcvc_0 id: digital_ofdm_frame_equalizer_vcvc parameters: affinity: '' alias: '' comment: '' cp_len: fft_len//4 equalizer: header_equalizer.base() fft_len: fft_len fixed_frame_len: '1' len_tag_key: length_tag_key maxoutbuf: '0' minoutbuf: '0' propagate_channel_state: 'True' states: coordinate: [720, 628.0] rotation: 0 state: enabled - name: digital_ofdm_frame_equalizer_vcvc_1 id: digital_ofdm_frame_equalizer_vcvc parameters: affinity: '' alias: '' comment: '' cp_len: fft_len//4 equalizer: payload_equalizer.base() fft_len: fft_len fixed_frame_len: '0' len_tag_key: length_tag_key maxoutbuf: '0' minoutbuf: '0' propagate_channel_state: 'True' states: coordinate: [680, 764.0] rotation: 0 state: enabled - name: digital_ofdm_serializer_vcc_header id: digital_ofdm_serializer_vcc parameters: affinity: '' alias: '' carr_offset_key: '' comment: '' fft_len: fft_len input_is_shifted: 'True' len_tag_key: length_tag_key maxoutbuf: '0' minoutbuf: '0' occupied_carriers: occupied_carriers packet_len_tag_key: '' symbols_skipped: '0' states: coordinate: [976, 652.0] rotation: 0 state: enabled - name: digital_ofdm_serializer_vcc_payload id: digital_ofdm_serializer_vcc parameters: affinity: '' alias: '' carr_offset_key: '' comment: '' fft_len: fft_len input_is_shifted: 'True' len_tag_key: length_tag_key maxoutbuf: '0' minoutbuf: '0' occupied_carriers: occupied_carriers packet_len_tag_key: packet_length_tag_key symbols_skipped: '1' states: coordinate: [912, 764.0] rotation: 0 state: enabled - name: digital_ofdm_sync_sc_cfb_0 id: digital_ofdm_sync_sc_cfb parameters: affinity: '' alias: '' comment: '' cp_len: fft_len//4 fft_len: fft_len maxoutbuf: '0' minoutbuf: '0' threshold: '0.9' use_even_carriers: 'False' states: coordinate: [688, 292.0] rotation: 0 state: enabled - name: digital_ofdm_tx_0 id: digital_ofdm_tx parameters: affinity: '' alias: '' comment: '' cp_len: fft_len//4 fft_len: fft_len header_mod: '"BPSK"' log: 'True' maxoutbuf: '0' minoutbuf: '0' occupied_carriers: occupied_carriers packet_len_key: packet_length_tag_key payload_mod: '"QPSK"' pilot_carriers: pilot_carriers pilot_symbols: pilot_symbols rolloff: '0' scramble_bits: 'False' sync_word1: sync_word1 sync_word2: sync_word2 states: coordinate: [400, 148.0] rotation: 0 state: enabled - name: digital_packet_headerparser_b_0 id: digital_packet_headerparser_b parameters: affinity: '' alias: '' comment: '' header_formatter: header_formatter.base() maxoutbuf: '0' minoutbuf: '0' states: coordinate: [832, 580.0] rotation: 180 state: enabled - name: fft_vxx_0 id: fft_vxx parameters: affinity: '' alias: '' comment: '' fft_size: fft_len forward: 'True' maxoutbuf: '0' minoutbuf: '0' nthreads: '1' shift: 'True' type: complex window: () states: coordinate: [224, 636.0] rotation: 0 state: enabled - name: fft_vxx_1 id: fft_vxx parameters: affinity: '' alias: '' comment: '' fft_size: fft_len forward: 'True' maxoutbuf: '0' minoutbuf: '0' nthreads: '1' shift: 'True' type: complex window: () states: coordinate: [216, 764.0] rotation: 0 state: enabled - name: import_1 id: import parameters: alias: '' comment: '' imports: from gnuradio.digital.utils import tagged_streams states: coordinate: [184, 12.0] rotation: 0 state: enabled - name: virtual_sink_0 id: virtual_sink parameters: alias: '' comment: '' stream_id: Header Stream states: coordinate: [1328, 436.0] rotation: 0 state: enabled - name: virtual_sink_1 id: virtual_sink parameters: alias: '' comment: '' stream_id: Payload Stream states: coordinate: [1328, 484.0] rotation: 0 state: enabled - name: virtual_sink_1_0 id: virtual_sink parameters: alias: '' comment: '' stream_id: Payload IQ states: coordinate: [1152, 796.0] rotation: 0 state: enabled - name: virtual_source_0 id: virtual_source parameters: alias: '' comment: '' stream_id: Header Stream states: coordinate: [16, 668.0] rotation: 0 state: enabled - name: virtual_source_0_0 id: virtual_source parameters: alias: '' comment: '' stream_id: Payload IQ states: coordinate: [16, 900.0] rotation: 0 state: enabled - name: virtual_source_1 id: virtual_source parameters: alias: '' comment: '' stream_id: Payload Stream states: coordinate: [16, 796.0] rotation: 0 state: enabled connections: - [analog_frequency_modulator_fc_0, '0', blocks_multiply_xx_0, '0'] - [analog_random_source_x_0, '0', blocks_stream_to_tagged_stream_0, '0'] - [blocks_delay_0, '0', blocks_multiply_xx_0, '1'] - [blocks_multiply_xx_0, '0', digital_header_payload_demux_0, '0'] - [blocks_repack_bits_bb_0, '0', digital_crc32_bb_0, '0'] - [blocks_stream_to_tagged_stream_0, '0', digital_ofdm_tx_0, '0'] - [blocks_throttle_0, '0', blocks_delay_0, '0'] - [blocks_throttle_0, '0', digital_ofdm_sync_sc_cfb_0, '0'] - [channels_channel_model_0, '0', blocks_throttle_0, '0'] - [digital_constellation_decoder_cb_0, '0', digital_packet_headerparser_b_0, '0'] - [digital_constellation_decoder_cb_1, '0', blocks_repack_bits_bb_0, '0'] - [digital_crc32_bb_0, '0', blocks_tag_debug_1, '0'] - [digital_header_payload_demux_0, '0', virtual_sink_0, '0'] - [digital_header_payload_demux_0, '1', virtual_sink_1, '0'] - [digital_ofdm_chanest_vcvc_0, '0', digital_ofdm_frame_equalizer_vcvc_0, '0'] - [digital_ofdm_frame_equalizer_vcvc_0, '0', digital_ofdm_serializer_vcc_header, '0'] - [digital_ofdm_frame_equalizer_vcvc_1, '0', digital_ofdm_serializer_vcc_payload, '0'] - [digital_ofdm_serializer_vcc_header, '0', digital_constellation_decoder_cb_0, '0'] - [digital_ofdm_serializer_vcc_payload, '0', virtual_sink_1_0, '0'] - [digital_ofdm_sync_sc_cfb_0, '0', analog_frequency_modulator_fc_0, '0'] - [digital_ofdm_sync_sc_cfb_0, '1', digital_header_payload_demux_0, '1'] - [digital_ofdm_tx_0, '0', channels_channel_model_0, '0'] - [digital_packet_headerparser_b_0, header_data, digital_header_payload_demux_0, header_data] - [fft_vxx_0, '0', digital_ofdm_chanest_vcvc_0, '0'] - [fft_vxx_1, '0', digital_ofdm_frame_equalizer_vcvc_1, '0'] - [virtual_source_0, '0', fft_vxx_0, '0'] - [virtual_source_0_0, '0', digital_constellation_decoder_cb_1, '0'] - [virtual_source_1, '0', fft_vxx_1, '0'] metadata: file_format: 1