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