Engee documentation

Uniform Decoder

Decoder of integer input data into floating point output data.

uniform decoder

Description

Block Uniform Decoder performs the inverse operation to the unified encoder block Uniform Encoder and recovers quantised floating point values from the encoded integer input data.

The block adheres to the definition of uniform decoding given in "ITU-T Recommendation G.701".

For more information on how the block calculates the decoded floating point output, see "ITU-T Recommendation G.701". Optional.

Ports

Input

Input - input signal
vector | matrix

Specify the integer input data to be decoded as a vector or matrix.

The real and imaginary components of complex input data are converted independently.

Data types: Float32, Float64, Int8, Int16, Int32, UInt8, UInt16, UInt32, Bool, Fixed

Support for complex numbers: Yes

Output

Output - decoded output signal
vector | matrix

Decoded floating point output signal returned as a vector or matrix.

The output data type depends on the value of the Output type parameters:

  • single - Float32 data type.

  • double - data type Float64.

For more information on how the block calculates output data, see Algorithms.

Data types: Float32 | Float64

Support for complex numbers: Yes

Parameters

Main

Peak - the largest amplitude in the encoded input signal
1 (by default) | non-negative scalar

Specify the largest amplitude represented as a non-negative scalar in the coded input signal.

To correctly decode values encoded by the Uniform Encoder block, set the Peak parameters in both blocks to the same value.

Bits - number of bits
3 (by default) | an integer in the range [2, 32].

Specify the number of input bits used to encode the data. The number of bits can be any integer between 2 and 32 inclusive. This value may be less than the total number of bits provided by the input data type.

To correctly decode values encoded by the Uniform Encoder block, set the Peak parameters in both blocks to the same value.

Overflow mode - overflow mode
Saturate (by default) | Wrap

Define the behaviour of the block when an input integer falls outside the range represented by the bits . Input data that falls outside the range can either saturate at the extreme value or return to the range.

  • When the Overflow mode parameters are set to Saturate, unsigned input values greater than are saturated at , and signed input values greater than or less than are saturated at those limits. The real and imaginary components of complex input signals are saturated independently.

  • When the Overflow mode parameters are set to Wrap, unsigned input values , exceeding , are returned to the range ] using arithmetic .

Signed input values, , greater than or less than , are wrapped back into this range using the arithmetic .

Real and imaginary components of complex input data are handled independently of each other.

Output type - output data type
Double (by default) | Single

Specify the decoding accuracy of floating point output data: single (Single) or double (Double).

You can use any level of output precision with any of the six integer input data types.

Optional

*Algorithms.

Block Uniform Decoder first converts integer input values to floating-point values, and then uniquely maps (decodes) them to one of uniformly distributed floating-point values in the range ], where you specify in the Bits parameter (as an integer from 2 to 32), and is the floating-point value specified by the Peak parameters.

The block maps the smallest input value represented by the bits (0 for unsigned input data type and for signed input data type) to the value .

It maps the largest input value represented by the bits ( for unsigned input data type and for signed input data type) to the value . It linearly maps intermediate input values to intermediate values in the range ].

To correctly decode values encoded by the Uniform Encoder block, the parameters Bits and Peak of the block Uniform Decoder must be set to the same values as the Bits and Peak parameters of the Uniform Encoder block.

References