1id: variable_polar_decoder_sc_systematic_def
2label: systematic POLAR Decoder SC Definition
3flags: [ show_id ]
4
5parameters:
6-   id: ndim
7    label: Parallelism
8    dtype: enum
9    default: '0'
10    options: ['0', '1', '2']
11-   id: dim1
12    label: Dimension 1
13    dtype: int
14    default: '1'
15    hide: ${ ('none' if (int(ndim) >= 1) else 'all') }
16-   id: dim2
17    label: Dimension 2
18    dtype: int
19    default: '4'
20    hide: ${ ('none' if (int(ndim) >= 2) else 'all') }
21-   id: block_size
22    label: Block size (N)
23    dtype: int
24-   id: num_info_bits
25    label: '#Info Bits (K)'
26    dtype: int
27-   id: frozen_bit_positions
28    label: Frozen Bit Positions
29    dtype: int_vector
30value: ${ fec.polar_decoder_sc_systematic.make(block_size, num_info_bits, frozen_bit_positions)
31    }
32
33templates:
34    imports: from gnuradio import fec
35    var_make: |-
36        % if int(ndim)==0:
37        self.${id} = ${id} = fec.polar_decoder_sc_systematic.make(${block_size},\
38        ${num_info_bits}, ${frozen_bit_positions})
39        % elif int(ndim)==1:
40        self.${id} = ${id} = list(map((lambda a: fec.polar_decoder_sc_systematic.make(${block_size},\
41        \ ${num_info_bits}, ${frozen_bit_positions})), range(0, ${dim1}) ))
42        % else:
43        self.${id} = ${id} = list(map((lambda b: list(map((lambda a: fec.polar_decoder_sc_systematic.make(${block_size},\
44        \ ${num_info_bits}, ${frozen_bit_positions})), range(0, ${dim2})))), range(0, ${dim1})))
45        % endif
46
47file_format: 1
48