<?xml version="1.0"?>
<block>
  <name>POLAR code Configurator</name>
  <key>variable_polar_code_configurator</key>
  <import>from gnuradio.fec import polar</import>
  <var_make>self.$(id) = $(id) = polar.load_frozen_bits_info(False, $channel, $block_size, $num_info_bits, $design_snr, $mu)</var_make>
  <var_value>polar.load_frozen_bits_info(True, $channel, $block_size, $num_info_bits, $design_snr, $mu)</var_value>
  <make></make>

  <param>
    <name>Channel</name>
    <key>channel</key>
    <value>polar.CHANNEL_TYPE_BEC</value>
    <type>string</type>
      <option>
        <name>BEC</name>
        <key>polar.CHANNEL_TYPE_BEC</key>
      </option>
      <option>
        <name>AWGN</name>
        <key>polar.CHANNEL_TYPE_AWGN</key>
      </option>
  </param>

  <param>
    <name>Block size (N)</name>
    <key>block_size</key>
    <value>32</value>
    <type>int</type>
  </param>

  <param>
    <name>Info Bits (K)</name>
    <key>num_info_bits</key>
    <value>16</value>
    <type>int</type>
  </param>

  <param>
    <name>design SNR</name>
    <key>design_snr</key>
    <value>0.0</value>
    <type>float</type>
  </param>

  <param>
    <name>mu</name>
    <key>mu</key>
    <value>16</value>
    <type>int</type>
  </param>
  <doc>This block serves as an interface to the underlying Python functions for channel construction.
  
  Current channel types are: BEC/AWGN
  Block size must be a power of 2!
  Info Bits must be 0 smaller K  smaller N
  Design SNR does affect the target transmission SNR and thus performance.
  The parameter mu is only relevant for AWGN channels. It is passed on to the corresponding Channel construction algorithm.</doc>
</block>
