dsp.ScalarQuantizerEncoder System object

Package: dsp

Associate input value with index value of quantization region

Description

The ScalarQuantizerEncoder object encodes each input value by associating that value with the index value of the quantization region. Then, the object outputs the index of the associated region.

To encode an input value by associating it with an index value of the quantization region:

  1. Define and set up your scalar quantizer encoder. See Construction.

  2. Call step to encode the input value according to the properties of dsp.ScalarQuantizerEncoder. The behavior of step is specific to each object in the toolbox.

Construction

H = dsp.ScalarQuantizerEncoder returns a scalar quantizer encoder System object™, H. This object maps each input value to a quantization region by comparing the input value to the user-specified boundary points.

H = dsp.ScalarQuantizerEncoder('PropertyName',PropertyValue,...) returns a scalar quantizer encoder object, H, with each specified property set to the specified value.

Properties

BoundaryPointsSource

Source of boundary points

Specify how to determine the boundary points and codebook values as Property or Input port. The default is Property.

Partitioning

Quantizer is bounded or unbounded

Specify the quantizer as Bounded or Unbounded. The default is Bounded.

BoundaryPoints

Boundary points of quantizer regions

Specify the boundary points of quantizer regions as a vector. The vector values must be in ascending order. Let [p0 p1 p2 p3 ... pN] denote the boundary points property in the quantizer. If the quantizer is bounded, the object uses this property to specify [p0 p1 p2 p3 ... pN]. If the quantizer is unbounded, the object uses this property to specify [p1 p2 p3 ... p(N-1)] and sets p0 = -Inf and pN = +Inf. This property applies when you set the BoundaryPointsSource property to Property. The default is 1:10. This property is tunable.

SearchMethod

Find quantizer index by linear or binary search

Specify whether to find the appropriate quantizer index using a linear search or a binary search as one of Linear or Binary. The computational cost of the linear search method is of the order P and the computational cost of the binary search method is of the order

log2(P)

where P is the number of boundary points. The default is Linear.

TiebreakerRule

Behavior when input equals boundary point

Specify whether the input value is assigned to the lower indexed region or higher indexed region when the input value equals boundary point by selecting Choose the lower index or Choose the higher index. The default is Choose the lower index.

CodewordOutputPort

Enable output of codeword value

Set this property to true to output the codeword values that correspond to each index value. The default is false.

QuantizationErrorOutputPort

Enable output of quantization error

Set this property to true to output the quantization error for each input value. The quantization error is the difference between the input value and the quantized output value. The default is false.

Codebook

Codebook

Specify the codebook as a vector of quantized output values that correspond to each region. If the Partitioning property is Bounded and the boundary points vector has length N, you must set this property to a vector of length N-1. If the Partitioning property is Unbounded and the boundary points vector has length N, you must set this property to a vector of length N+1. This property applies when you set the BoundaryPointsSource property to Property and either the CodewordOutputPort property or the QuantizationErrorOutputPort property is true. The default is 1.5:9.5. This property is tunable.

ClippingStatusOutputPort

Enable output of clipping status

Set this property to true to output the clipping status. The output is a 1 when an input value is outside the range defined by the BoundaryPoints property. When the value is inside the range, the exception output is a 0. This property applies when you set the Partitioning property to Bounded. The default is false.

OutputIndexDataType

Data type of the index output

Specify the data type of the index output from the object as: int8, uint8, int16, uint16, int32, uint32. The default is int32.

 Fixed-Point Properties

Methods

cloneCreate an instance of an object with the same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs of step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepEncode using scalar quantization

Examples

Quantize the varying fractional inputs between zero and five to the closest integers, and then plot the results:

 hsqe = dsp.ScalarQuantizerEncoder;
 hsqe.BoundaryPoints = [-.001 .499 1.499 ...
    2.499 3.499 4.499 5.001];
 hsqe.CodewordOutputPort = true;
 hsqe.Codebook = [0 1 2 3 4 5];
 input = (0:0.02:5)';
 [index, quantizedValue] = step(hsqe, input);
 plot(1:length(input), [input quantizedValue]);

Algorithms

This object implements the algorithm, inputs, and outputs described on the Scalar Quantizer Encoder block reference page. The object properties correspond to the block parameters.

Was this topic helpful?