Created
May 21, 2022 08:31
-
-
Save daniestevez/d7a969170c9c8a13070304b728e91f94 to your computer and use it in GitHub Desktop.
QO-100 multimedia beacon GNU Radio decoder flowgraph
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| options: | |
| parameters: | |
| author: Daniel Estevez | |
| catch_exceptions: 'True' | |
| category: '[GRC Hier Blocks]' | |
| cmake_opt: '' | |
| comment: '' | |
| copyright: '' | |
| description: '' | |
| gen_cmake: 'On' | |
| gen_linking: dynamic | |
| generate_options: qt_gui | |
| hier_block_src_path: '.:' | |
| id: qo100_multimedia_beacon | |
| max_nouts: '0' | |
| output_language: python | |
| placement: (0,0) | |
| qt_qss_theme: '' | |
| realtime_scheduling: '' | |
| run: 'True' | |
| run_command: '{python} -u {filename}' | |
| run_options: run | |
| sizing_mode: fixed | |
| thread_safe_setters: '' | |
| title: QO-100 multimedia beacon RX | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [8, 8] | |
| rotation: 0 | |
| state: enabled | |
| blocks: | |
| - name: baudrate | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '2400' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [80, 660.0] | |
| rotation: 0 | |
| state: true | |
| - name: constellation_8apsk | |
| id: variable_constellation | |
| parameters: | |
| comment: '' | |
| const_points: sym_points | |
| dims: '1' | |
| normalization: digital.constellation.NO_NORMALIZATION | |
| precision: '8' | |
| rot_sym: '7' | |
| soft_dec_lut: None | |
| sym_map: sym_map | |
| type: calcdist | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [976, 468.0] | |
| rotation: 0 | |
| state: true | |
| - name: decim1 | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '25' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [232, 228.0] | |
| rotation: 0 | |
| state: true | |
| - name: decim2 | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: 100//decim1 | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [376, 228.0] | |
| rotation: 0 | |
| state: true | |
| - name: nfilt | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '64' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [256, 660.0] | |
| rotation: 0 | |
| state: true | |
| - name: rrc_taps | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: firdes.root_raised_cosine(nfilt, nfilt, 1.0/sps, 0.2, int(ceil(15*sps*nfilt))) | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [336, 660.0] | |
| rotation: 0 | |
| state: true | |
| - name: samp_rate | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '600000' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [296, 16.0] | |
| rotation: 0 | |
| state: true | |
| - name: sps | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: samp_rate/(decim1*decim2*baudrate) | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [176, 660.0] | |
| rotation: 0 | |
| state: true | |
| - name: sym_map | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '[0b000, 0b100, 0b001, 0b011, 0b010, 0b110, 0b111, 0b101]' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [976, 388.0] | |
| rotation: 0 | |
| state: true | |
| - name: sym_map_inv | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '[sym_map.index(a) for a in range(8)]' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1144, 388.0] | |
| rotation: 0 | |
| state: true | |
| - name: sym_points | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '[0] + list(np.exp(1j*2*np.pi*np.arange(7)/7) * np.sqrt(8/7))' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [976, 316.0] | |
| rotation: 0 | |
| state: true | |
| - name: syncword_bits | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '''010100111110000110100110''' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [368, 796.0] | |
| rotation: 0 | |
| state: true | |
| - name: syncword_symbols | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '[sym_points[sym_map.index(a)] for a in [2, 4, 7, 6, 0, 6, 4, 6]]' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [752, 620.0] | |
| rotation: 0 | |
| state: true | |
| - name: syncword_threshold | |
| id: variable | |
| parameters: | |
| comment: '' | |
| value: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [608, 816.0] | |
| rotation: 0 | |
| state: true | |
| - name: tune | |
| id: variable_qtgui_entry | |
| parameters: | |
| comment: '' | |
| gui_hint: 1,0,1,1 | |
| label: Tune frequency (Hz) | |
| type: real | |
| value: '-140' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [576, 24.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_complex_to_float_0 | |
| id: blocks_complex_to_float | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [848, 720.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_complex_to_mag_0 | |
| id: blocks_complex_to_mag | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [856, 792.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_conjugate_cc_0 | |
| id: blocks_conjugate_cc | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [232, 408.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_file_sink_0 | |
| id: blocks_file_sink | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| append: 'False' | |
| comment: '' | |
| file: /tmp/qo100_symbols.c64 | |
| type: complex | |
| unbuffered: 'False' | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [728, 356.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_interleaved_short_to_complex_0 | |
| id: blocks_interleaved_short_to_complex | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| scale_factor: 2**15 | |
| swap: 'False' | |
| vector_input: 'False' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [376, 140.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_keep_m_in_n_0 | |
| id: blocks_keep_m_in_n | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| m: 1392//2 | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| n: (24+1392)//2 | |
| offset: 24//2 | |
| type: short | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [232, 132.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: blocks_multiply_const_vxx_0 | |
| id: blocks_multiply_const_vxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| const: np.exp(1j*2*np.pi/7) | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| type: complex | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [48, 1012.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_multiply_const_vxx_0_0 | |
| id: blocks_multiply_const_vxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| const: np.exp(1j*2*np.pi*2/7) | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| type: complex | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [48, 1100.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_multiply_const_vxx_0_0_0 | |
| id: blocks_multiply_const_vxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| const: np.exp(1j*2*np.pi*5/7) | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| type: complex | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [48, 1364.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_multiply_const_vxx_0_1 | |
| id: blocks_multiply_const_vxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| const: np.exp(1j*2*np.pi*3/7) | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| type: complex | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [48, 1188.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_multiply_const_vxx_0_1_0 | |
| id: blocks_multiply_const_vxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| const: np.exp(1j*2*np.pi*6/7) | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| type: complex | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [48, 1452.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_multiply_const_vxx_0_2 | |
| id: blocks_multiply_const_vxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| const: np.exp(1j*2*np.pi*4/7) | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| type: complex | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [48, 1276.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_udp_source_0 | |
| id: blocks_udp_source | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| eof: 'False' | |
| ipaddr: 0.0.0.0 | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| port: '50100' | |
| psize: '1472' | |
| type: short | |
| vlen: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [16, 124.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: blocks_unpack_k_bits_bb_0 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 924.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_unpack_k_bits_bb_0_0 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 1012.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_unpack_k_bits_bb_0_0_0 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 1276.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_unpack_k_bits_bb_0_1 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 1100.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_unpack_k_bits_bb_0_1_0 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 1364.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_unpack_k_bits_bb_0_1_0_0 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 1452.0] | |
| rotation: 0 | |
| state: true | |
| - name: blocks_unpack_k_bits_bb_0_2 | |
| id: blocks_unpack_k_bits_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| k: '3' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [672, 1188.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 924.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0_0 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 1012.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0_0_0 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 1276.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0_1 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 1100.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0_1_0 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 1364.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0_1_0_0 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 1452.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_constellation_decoder_cb_0_2 | |
| id: digital_constellation_decoder_cb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: constellation_8apsk | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [272, 1188.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 924.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0_0 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 1012.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0_0_0 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 1276.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0_1 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 1100.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0_1_0 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 1364.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0_1_0_0 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 1452.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_map_bb_0_2 | |
| id: digital_map_bb | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| map: sym_map | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [488, 1188.0] | |
| rotation: 0 | |
| state: true | |
| - name: digital_symbol_sync_xx_0 | |
| id: digital_symbol_sync_xx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| constellation: digital.constellation_bpsk().base() | |
| damping: '1.0' | |
| loop_bw: '0.005' | |
| max_dev: '0.01' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| nfilters: nfilt | |
| osps: '1' | |
| pfb_mf_taps: rrc_taps | |
| resamp_type: digital.IR_PFB_MF | |
| sps: sps | |
| ted_gain: '0.5' | |
| ted_type: digital.TED_SIGNAL_TIMES_SLOPE_ML | |
| type: cc | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [144, 460.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: epy_block_0 | |
| id: epy_block | |
| parameters: | |
| _source_code: "\"\"\"\nEmbedded Python Blocks:\n\nEach time this file is saved,\ | |
| \ GRC will instantiate the first class it finds\nto get ports and parameters\ | |
| \ of your block. The arguments to __init__ will\nbe the parameters. All of\ | |
| \ them are required to have default values!\n\"\"\"\n\nimport numpy as np\n\ | |
| from gnuradio import gr\n\n\nclass blk(gr.sync_block): # other base classes\ | |
| \ are basic_block, decim_block, interp_block\n \"\"\"8APSK Costas Loop\"\"\ | |
| \"\n\n def __init__(self, alpha=0.01, beta=0.001, freq_limit=1.0): # only\ | |
| \ default arguments here\n \"\"\"arguments to this function show up as\ | |
| \ parameters in GRC\"\"\"\n gr.sync_block.__init__(\n self,\n\ | |
| \ name='8APSK Costas Loop', # will show up in GRC\n \ | |
| \ in_sig=[np.complex64],\n out_sig=[np.complex64]\n )\n \ | |
| \ self.alpha = alpha\n self.beta = beta\n self.freq_limit\ | |
| \ = freq_limit\n self.phase = 0\n self.freq = 0\n\n def work(self,\ | |
| \ input_items, output_items):\n for j, x in enumerate(input_items[0]):\n\ | |
| \ output_items[0][j] = z = x * np.exp(-1j * self.phase)\n \ | |
| \ if np.abs(z) <= 0.5:\n error = 0\n else:\n \ | |
| \ error = (np.angle(z) * 7 + np.pi) % (2*np.pi) - np.pi\n \ | |
| \ self.freq += self.beta * error\n self.freq = np.clip(self.freq,\ | |
| \ -self.freq_limit, self.freq_limit)\n self.phase += self.alpha *\ | |
| \ error + self.freq\n self.phase = (self.phase + np.pi) % (2*np.pi)\ | |
| \ - np.pi\n return len(output_items[0])\n" | |
| affinity: '' | |
| alias: '' | |
| alpha: 1e-2 | |
| beta: 1e-3 | |
| comment: '' | |
| freq_limit: 1e-1 | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| _io_cache: ('8APSK Costas Loop', 'blk', [('alpha', '0.01'), ('beta', '0.001'), | |
| ('freq_limit', '1.0')], [('0', 'complex', 1)], [('0', 'complex', 1)], '8APSK | |
| Costas Loop', ['alpha', 'beta', 'freq_limit']) | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [512, 468.0] | |
| rotation: 0 | |
| state: true | |
| - name: epy_block_1 | |
| id: epy_block | |
| parameters: | |
| _source_code: "\"\"\"\nEmbedded Python Blocks:\n\nEach time this file is saved,\ | |
| \ GRC will instantiate the first class it finds\nto get ports and parameters\ | |
| \ of your block. The arguments to __init__ will\nbe the parameters. All of\ | |
| \ them are required to have default values!\n\"\"\"\n\nimport numpy as np\n\ | |
| from gnuradio import gr\nimport pmt\n\nsequence = np.array(\n [130 , 239\ | |
| \ , 223 , 19 , 146 , 254 , 12 , 86 , 106 , 68 ,\n 77\ | |
| \ , 213 , 243 , 216 , 102 , 227 , 108 , 113 , 229 , 89 ,\n\ | |
| \ 26 , 64 , 138 , 216 , 225 , 121 , 194 , 137 , 152 , \ | |
| \ 64 ,\n 51 , 175 , 68 , 200 , 37 , 104 , 247 , 68 ,\ | |
| \ 193 , 50 ,\n 19 , 14 , 196 , 81 , 4 , 236 , 191 ,\ | |
| \ 249 , 83 , 25 ,\n 161 , 171 , 167 , 29 , 33 , 139 ,\ | |
| \ 7 , 152 , 230 , 144 ,\n 125 , 206 , 34 , 236 , 112 ,\ | |
| \ 78 , 219 , 34 , 181 , 161 ,\n 7 , 45 , 198 , 235 ,\ | |
| \ 62 , 115 , 194 , 100 , 209 , 95 ,\n 186 , 161 , 53 ,\ | |
| \ 10 , 110 , 246 , 122 , 246 , 207 , 194 ,\n 178 , 63 ,\ | |
| \ 232 , 93 , 158 , 234 , 231 , 73 , 214 , 64,\n 130 , \ | |
| \ 239 , 223 , 19 , 146 , 254 , 12 , 86 , 106 , 68 ,\n \ | |
| \ 77 , 213 , 243 , 216 , 102 , 227 , 108 , 113 , 229 , \ | |
| \ 89 ,\n 26 , 64 , 138 , 216 , 225 , 121 , 194 , 137 , \ | |
| \ 152 , 64 ,\n 51 , 175 , 68 , 200 , 37 , 104 , 247 ,\ | |
| \ 68 , 193 , 50 ,\n 19 , 14 , 196 , 81 , 4 , 236 ,\ | |
| \ 191 , 249 , 83 , 25 ,\n 161 , 171 , 167 , 29 , 33 ,\ | |
| \ 139 , 7 , 152 , 230 , 144 ,\n 125 , 206 , 34 , 236 ,\ | |
| \ 112 , 78 , 219 , 34 , 181 , 161 ,\n 7 , 45 , 198 ,\ | |
| \ 235 , 62 , 115 , 194 , 100 , 209 , 95 ,\n 186 , 161 ,\ | |
| \ 53 , 10 , 110 , 246 , 122 , 246 , 207 , 194 ,\n 178 ,\ | |
| \ 63 , 232 , 93 , 158 , 234 , 231 , 73 , 214 , 64,\n \ | |
| \ 130 , 239 , 223 , 19 , 146 , 254 , 12 , 86 , 106 , 68\ | |
| \ ,\n 77 , 213 , 243 , 216 , 102 , 227 , 108 , 113 , 229\ | |
| \ , 89 ,\n 26 , 64 , 138 , 216 , 225 , 121 , 194 , 137\ | |
| \ , 152 , 64 ,\n 51 , 175 , 68 , 200 , 37 , 104 , 247\ | |
| \ , 68 , 193 , 50 ,\n 19 , 14 , 196 , 81 , 4 , 236\ | |
| \ , 191 , 249 , 83 , 25 ,\n 161 , 171 , 167 , 29 , 33\ | |
| \ , 139 , 7 , 152 , 230 , 144 ,\n 125 , 206 , 34 , 236\ | |
| \ , 112 , 78 , 219 , 34 , 181 , 161 ,\n 7 , 45 , 198\ | |
| \ , 235 , 62 , 115 , 194 , 100 , 209 , 95 ,\n 186 , 161\ | |
| \ , 53 , 10 , 110 , 246 , 122 , 246 , 207 , 194 ,\n 178\ | |
| \ , 63 , 232 , 93 , 158 , 234 , 231 , 73 , 214 , 64,\n\ | |
| \ 130 , 239 , 223 , 19 , 146 , 254 , 12 , 86 , 106 , \ | |
| \ 68 ,\n 77 , 213 , 243 , 216 , 102 , 227 , 108 , 113 ,\ | |
| \ 229 , 89 ,\n 26 , 64 , 138 , 216 , 225 , 121 , 194 ,\ | |
| \ 137 , 152 , 64 ,\n 51 , 175 , 68 , 200 , 37 , 104 ,\ | |
| \ 247 , 68 , 193 , 50 ,\n 19 , 14 , 196 , 81 , 4 ,\ | |
| \ 236 , 191 , 249 , 83 , 25 ,\n 161 , 171 , 167 , 29 ,\ | |
| \ 33 , 139 , 7 , 152 , 230 , 144 ,\n 125 , 206 , 34 ,\ | |
| \ 236 , 112 , 78 , 219 , 34 , 181 , 161 ,\n 7 , 45 ,\ | |
| \ 198 , 235 , 62 , 115 , 194 , 100 , 209 , 95 ,\n 186 ,\ | |
| \ 161 , 53 , 10 , 110 , 246 , 122 , 246 , 207 , 194 ,\n\ | |
| \ 178 , 63 , 232 , 93 , 158 , 234 , 231 , 73 , 214 , \ | |
| \ 64],\n 'uint8')\n\nclass blk(gr.sync_block): # other base classes are\ | |
| \ basic_block, decim_block, interp_block\n \"\"\"QO-100 scrambler\"\"\"\n\ | |
| \n def __init__(self): # only default arguments here\n \"\"\"arguments\ | |
| \ to this function show up as parameters in GRC\"\"\"\n gr.sync_block.__init__(\n\ | |
| \ self,\n name='QO-100 Scrambler', # will show up in\ | |
| \ GRC\n in_sig=[],\n out_sig=[]\n )\n self.message_port_register_in(pmt.intern('in'))\n\ | |
| \ self.set_msg_handler(pmt.intern('in'), self.handle_msg)\n self.message_port_register_out(pmt.intern('out'))\n\ | |
| \n def handle_msg(self, msg_pmt):\n msg = pmt.cdr(msg_pmt)\n \ | |
| \ if not pmt.is_u8vector(msg):\n print('[ERROR] Received invalid\ | |
| \ message type. Expected u8vector')\n return\n packet = np.frombuffer(bytes(pmt.u8vector_elements(msg)),\ | |
| \ 'uint8')\n packet = packet ^ sequence[:packet.size]\n packet\ | |
| \ = list(packet)\n self.message_port_pub(\n pmt.intern('out'),\n\ | |
| \ pmt.cons(pmt.PMT_NIL, pmt.init_u8vector(len(packet), packet)))\n" | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| states: | |
| _io_cache: ('QO-100 Scrambler', 'blk', [], [('in', 'message', 1)], [('out', 'message', | |
| 1)], 'QO-100 scrambler', []) | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1072, 1104.0] | |
| rotation: 0 | |
| state: true | |
| - name: fir_filter_xxx_0 | |
| id: fir_filter_xxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| decim: '1' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| samp_delay: '0' | |
| taps: np.conjugate(syncword_symbols)[::-1] | |
| type: ccc | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [632, 724.0] | |
| rotation: 0 | |
| state: true | |
| - name: freq_xlating_fir_filter_xxx_0 | |
| id: freq_xlating_fir_filter_xxx | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| center_freq: 240e3 + tune | |
| comment: '' | |
| decim: decim1 | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| samp_rate: samp_rate | |
| taps: firdes.low_pass(1, samp_rate, 3000, samp_rate/decim1 - 2*3000) | |
| type: ccc | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [552, 140.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: import_0 | |
| id: import | |
| parameters: | |
| alias: '' | |
| comment: '' | |
| imports: from math import ceil | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [776, 28.0] | |
| rotation: 0 | |
| state: true | |
| - name: import_0_0 | |
| id: import | |
| parameters: | |
| alias: '' | |
| comment: '' | |
| imports: import numpy as np | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [888, 28.0] | |
| rotation: 0 | |
| state: true | |
| - name: low_pass_filter_0 | |
| id: low_pass_filter | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| beta: '6.76' | |
| comment: '' | |
| cutoff_freq: '2500' | |
| decim: decim2 | |
| gain: '1' | |
| interp: '1' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| samp_rate: samp_rate/decim1 | |
| type: fir_filter_ccf | |
| width: samp_rate/(decim1 * decim2) - 2 * 2500 | |
| win: window.WIN_HAMMING | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [784, 116.0] | |
| rotation: 0 | |
| state: enabled | |
| - 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,1,1 | |
| label1: '' | |
| label10: '' | |
| label2: '' | |
| label3: '' | |
| label4: '' | |
| label5: '' | |
| label6: '' | |
| label7: '' | |
| label8: '' | |
| label9: '' | |
| legend: 'False' | |
| marker1: '0' | |
| marker10: '0' | |
| marker2: '0' | |
| marker3: '0' | |
| marker4: '0' | |
| marker5: '0' | |
| marker6: '0' | |
| marker7: '0' | |
| marker8: '0' | |
| marker9: '0' | |
| name: 8APSK constellation | |
| nconnections: '1' | |
| size: int(0.5*baudrate) | |
| 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: [704, 468.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: qtgui_freq_sink_x_0 | |
| id: qtgui_freq_sink_x | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| alpha1: '1.0' | |
| alpha10: '1.0' | |
| alpha2: '0.25' | |
| alpha3: '1.0' | |
| alpha4: '1.0' | |
| alpha5: '1.0' | |
| alpha6: '1.0' | |
| alpha7: '1.0' | |
| alpha8: '1.0' | |
| alpha9: '1.0' | |
| autoscale: 'False' | |
| average: '1.0' | |
| axislabels: 'True' | |
| bw: samp_rate/(decim1*decim2) | |
| 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' | |
| fc: '0' | |
| fftsize: '4096' | |
| freqhalf: 'True' | |
| grid: 'False' | |
| gui_hint: 0,0,1,1 | |
| label: Relative Gain | |
| label1: Signal | |
| label10: '''''' | |
| label2: Mirrored signal | |
| label3: '''''' | |
| label4: '''''' | |
| label5: '''''' | |
| label6: '''''' | |
| label7: '''''' | |
| label8: '''''' | |
| label9: '''''' | |
| legend: 'True' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| name: Spectrum | |
| nconnections: '2' | |
| norm_window: 'False' | |
| showports: 'False' | |
| tr_chan: '0' | |
| tr_level: '0.0' | |
| tr_mode: qtgui.TRIG_MODE_FREE | |
| tr_tag: '""' | |
| type: complex | |
| units: dB | |
| update_time: '0.10' | |
| width1: '1' | |
| width10: '1' | |
| width2: '1' | |
| width3: '1' | |
| width4: '1' | |
| width5: '1' | |
| width6: '1' | |
| width7: '1' | |
| width8: '1' | |
| width9: '1' | |
| wintype: window.WIN_BLACKMAN_hARRIS | |
| ymax: '-20' | |
| ymin: '-70' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [440, 340.0] | |
| rotation: 0 | |
| state: true | |
| - 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: 'False' | |
| 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,2 | |
| label1: I | |
| label10: Signal 10 | |
| label2: Q | |
| label3: Amplitude | |
| 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: Syncword correlation | |
| nconnections: '3' | |
| size: (255+3)*8//3*2 | |
| srate: baudrate | |
| 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: Amplitude | |
| ymax: '10' | |
| ymin: '-10' | |
| yunit: '""' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1040, 720.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_crc_check_0 | |
| id: satellites_crc_check | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| discard_crc: 'True' | |
| final_xor: '0x0000' | |
| initial_value: '0xFFFF' | |
| input_reflected: 'True' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| num_bits: '16' | |
| poly: '0x1021' | |
| result_reflected: 'True' | |
| skip_header_bytes: '0' | |
| swap_endianness: 'False' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1104, 1344.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: satellites_decode_rs_0 | |
| id: satellites_decode_rs | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| fcr: '120' | |
| gfpoly: '0x187' | |
| interleave: '1' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| nroots: '32' | |
| nsym: '8' | |
| prim: '1' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1112, 1180.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: satellites_file_receiver_0 | |
| id: satellites_file_receiver | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| options: '""' | |
| path: /tmp/ | |
| receiver: qo100_multimedia | |
| verbose: 'True' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1128, 1492.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_hexdump_sink_0 | |
| id: satellites_hexdump_sink | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| options: '""' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [1200, 1440.0] | |
| rotation: 0 | |
| state: disabled | |
| - name: satellites_rms_agc_0 | |
| id: satellites_rms_agc | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| alpha: 1e-2 | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| reference: '1.0' | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [88, 332.0] | |
| rotation: 0 | |
| state: enabled | |
| - name: satellites_sync_to_pdu_packed_0 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 908.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_sync_to_pdu_packed_0_0 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 996.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_sync_to_pdu_packed_0_0_0 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 1260.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_sync_to_pdu_packed_0_1 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 1084.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_sync_to_pdu_packed_0_1_0 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 1348.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_sync_to_pdu_packed_0_1_0_0 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 1436.0] | |
| rotation: 0 | |
| state: true | |
| - name: satellites_sync_to_pdu_packed_0_2 | |
| id: satellites_sync_to_pdu_packed | |
| parameters: | |
| affinity: '' | |
| alias: '' | |
| comment: '' | |
| maxoutbuf: '0' | |
| minoutbuf: '0' | |
| packlen: '255' | |
| sync: syncword_bits | |
| threshold: syncword_threshold | |
| states: | |
| bus_sink: false | |
| bus_source: false | |
| bus_structure: null | |
| coordinate: [816, 1172.0] | |
| rotation: 0 | |
| state: true | |
| connections: | |
| - [blocks_complex_to_float_0, '0', qtgui_time_sink_x_0, '0'] | |
| - [blocks_complex_to_float_0, '1', qtgui_time_sink_x_0, '1'] | |
| - [blocks_complex_to_mag_0, '0', qtgui_time_sink_x_0, '2'] | |
| - [blocks_conjugate_cc_0, '0', qtgui_freq_sink_x_0, '1'] | |
| - [blocks_interleaved_short_to_complex_0, '0', freq_xlating_fir_filter_xxx_0, '0'] | |
| - [blocks_keep_m_in_n_0, '0', blocks_interleaved_short_to_complex_0, '0'] | |
| - [blocks_multiply_const_vxx_0, '0', digital_constellation_decoder_cb_0_0, '0'] | |
| - [blocks_multiply_const_vxx_0_0, '0', digital_constellation_decoder_cb_0_1, '0'] | |
| - [blocks_multiply_const_vxx_0_0_0, '0', digital_constellation_decoder_cb_0_1_0, '0'] | |
| - [blocks_multiply_const_vxx_0_1, '0', digital_constellation_decoder_cb_0_2, '0'] | |
| - [blocks_multiply_const_vxx_0_1_0, '0', digital_constellation_decoder_cb_0_1_0_0, | |
| '0'] | |
| - [blocks_multiply_const_vxx_0_2, '0', digital_constellation_decoder_cb_0_0_0, '0'] | |
| - [blocks_udp_source_0, '0', blocks_keep_m_in_n_0, '0'] | |
| - [blocks_unpack_k_bits_bb_0, '0', satellites_sync_to_pdu_packed_0, '0'] | |
| - [blocks_unpack_k_bits_bb_0_0, '0', satellites_sync_to_pdu_packed_0_0, '0'] | |
| - [blocks_unpack_k_bits_bb_0_0_0, '0', satellites_sync_to_pdu_packed_0_0_0, '0'] | |
| - [blocks_unpack_k_bits_bb_0_1, '0', satellites_sync_to_pdu_packed_0_1, '0'] | |
| - [blocks_unpack_k_bits_bb_0_1_0, '0', satellites_sync_to_pdu_packed_0_1_0, '0'] | |
| - [blocks_unpack_k_bits_bb_0_1_0_0, '0', satellites_sync_to_pdu_packed_0_1_0_0, '0'] | |
| - [blocks_unpack_k_bits_bb_0_2, '0', satellites_sync_to_pdu_packed_0_2, '0'] | |
| - [digital_constellation_decoder_cb_0, '0', digital_map_bb_0, '0'] | |
| - [digital_constellation_decoder_cb_0_0, '0', digital_map_bb_0_0, '0'] | |
| - [digital_constellation_decoder_cb_0_0_0, '0', digital_map_bb_0_0_0, '0'] | |
| - [digital_constellation_decoder_cb_0_1, '0', digital_map_bb_0_1, '0'] | |
| - [digital_constellation_decoder_cb_0_1_0, '0', digital_map_bb_0_1_0, '0'] | |
| - [digital_constellation_decoder_cb_0_1_0_0, '0', digital_map_bb_0_1_0_0, '0'] | |
| - [digital_constellation_decoder_cb_0_2, '0', digital_map_bb_0_2, '0'] | |
| - [digital_map_bb_0, '0', blocks_unpack_k_bits_bb_0, '0'] | |
| - [digital_map_bb_0_0, '0', blocks_unpack_k_bits_bb_0_0, '0'] | |
| - [digital_map_bb_0_0_0, '0', blocks_unpack_k_bits_bb_0_0_0, '0'] | |
| - [digital_map_bb_0_1, '0', blocks_unpack_k_bits_bb_0_1, '0'] | |
| - [digital_map_bb_0_1_0, '0', blocks_unpack_k_bits_bb_0_1_0, '0'] | |
| - [digital_map_bb_0_1_0_0, '0', blocks_unpack_k_bits_bb_0_1_0_0, '0'] | |
| - [digital_map_bb_0_2, '0', blocks_unpack_k_bits_bb_0_2, '0'] | |
| - [digital_symbol_sync_xx_0, '0', epy_block_0, '0'] | |
| - [epy_block_0, '0', blocks_file_sink_0, '0'] | |
| - [epy_block_0, '0', blocks_multiply_const_vxx_0, '0'] | |
| - [epy_block_0, '0', blocks_multiply_const_vxx_0_0, '0'] | |
| - [epy_block_0, '0', blocks_multiply_const_vxx_0_0_0, '0'] | |
| - [epy_block_0, '0', blocks_multiply_const_vxx_0_1, '0'] | |
| - [epy_block_0, '0', blocks_multiply_const_vxx_0_1_0, '0'] | |
| - [epy_block_0, '0', blocks_multiply_const_vxx_0_2, '0'] | |
| - [epy_block_0, '0', digital_constellation_decoder_cb_0, '0'] | |
| - [epy_block_0, '0', fir_filter_xxx_0, '0'] | |
| - [epy_block_0, '0', qtgui_const_sink_x_0, '0'] | |
| - [epy_block_1, out, satellites_decode_rs_0, in] | |
| - [fir_filter_xxx_0, '0', blocks_complex_to_float_0, '0'] | |
| - [fir_filter_xxx_0, '0', blocks_complex_to_mag_0, '0'] | |
| - [freq_xlating_fir_filter_xxx_0, '0', low_pass_filter_0, '0'] | |
| - [low_pass_filter_0, '0', satellites_rms_agc_0, '0'] | |
| - [satellites_crc_check_0, ok, satellites_file_receiver_0, in] | |
| - [satellites_crc_check_0, ok, satellites_hexdump_sink_0, in] | |
| - [satellites_decode_rs_0, out, satellites_crc_check_0, in] | |
| - [satellites_rms_agc_0, '0', blocks_conjugate_cc_0, '0'] | |
| - [satellites_rms_agc_0, '0', digital_symbol_sync_xx_0, '0'] | |
| - [satellites_rms_agc_0, '0', qtgui_freq_sink_x_0, '0'] | |
| - [satellites_sync_to_pdu_packed_0, out, epy_block_1, in] | |
| - [satellites_sync_to_pdu_packed_0_0, out, epy_block_1, in] | |
| - [satellites_sync_to_pdu_packed_0_0_0, out, epy_block_1, in] | |
| - [satellites_sync_to_pdu_packed_0_1, out, epy_block_1, in] | |
| - [satellites_sync_to_pdu_packed_0_1_0, out, epy_block_1, in] | |
| - [satellites_sync_to_pdu_packed_0_1_0_0, out, epy_block_1, in] | |
| - [satellites_sync_to_pdu_packed_0_2, out, epy_block_1, in] | |
| metadata: | |
| file_format: 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment