Bias (bias_xs)

Adds a fixed complex bias to all inputs.

Design

The mathematical representation of the implementation is given in (99).

(99)\[z[n] = x[n] + B\]

In (99):

  • \(x[n]\) is the input values.

  • \(z[n]\) is the output values.

  • \(B\) is the complex bias.

A block diagram representation of the implementation is given in Figure 139:.

Complex bias implementation.

Figure 139: Complex bias implementation.

Interface

<?xml version="1.0"?>
<componentspec>
  <property name="real_value" type="short" writable="true" default="1" description="Bias value added to real input values."/>
  <property name="imaginary_value" type="short" writable="true" default="1"
    description="Bias value added to imaginary input values."/>
  <port name="input" producer="false" protocol="complex_short_timed_sample-prot"/>
  <port name="output" producer="true" protocol="complex_short_timed_sample-prot"/>
</componentspec>

Ports

Inputs:

  • input: Primary input samples port.

    • Protocol: complex_short_timed_sample-prot

    • Optional: False

Outputs:

  • output: Primary output samples port.

    • Protocol: complex_short_timed_sample-prot

    • Optional: False

Opcode Handling

A bias is only added to values in sample opcode messages.

All other opcode messages received are passed through this component without any effect.

Properties

  • real_value: Bias value added to real input values.

    • Type: short

    • Access:

      • Parameter: False

      • Writable: True

      • Initial: False

      • Volatile: False

    • Default value: 1

  • imaginary_value: Bias value added to imaginary input values.

    • Type: short

    • Access:

      • Parameter: False

      • Writable: True

      • Initial: False

      • Volatile: False

    • Default value: 1

Implementations

Example Application

<?xml version="1.0"?>
<application done="file_write">
  <instance component="ocpi.core.file_read" connect="bias_xs">
    <property name="filename" value="input.bin"/>
  </instance>
  <instance component="ocpi.comp.sdr.math.bias_xs" connect="file_write">
    <property name="real_value" value="5"/>
    <property name="imaginary_value" value="-3"/>
  </instance>
  <instance component="ocpi.core.file_write">
    <property name="filename" value="output.bin"/>
  </instance>
</application>

Dependencies

The dependencies to other elements in OpenCPI are:

  • None

There is also a dependency on:

  • ieee.std_logic_1164

  • ieee.numeric_std

Limitations

Limitations of bias_xs are:

  • None.

Testing

Tested platforms: None

Component testing not completed.