ialaw

Functions

int main(int argc, char *argv[])

ialaw [ option ] [ infile ]

  • -v double

    • absolute maximum value of input \((0 < V)\)

  • -a double

    • compression factor \((1 \le A)\)

  • infile str

    • double-type compressed data sequence

  • stdout

    • double-type output data sequence

In the below example, 8-bit compressed and quantized data read from data.alaw is transformed into raw waveform.

dequantize data.alaw | ialaw > data.raw
Parameters:
  • argc[in] Number of arguments.

  • argv[in] Argument vector.

Returns:

0 on success, 1 on failure.

See also

alaw iulaw

class ALawExpansion

Nonlinearly decompress data based on A-law algorithm.

Given the input data \(y(n)\), the expansion is performed as follows:

\[\begin{split} x(n) = V \, \mathrm{sgn}(y(n)) \left\{ \begin{array}{ll} \frac{\frac{|y(n)|}{V}(1 + \log A)}{A}, & \frac{|y(n)|}{V} < \frac{1}{1 + \log A} \\ \frac{\exp(-1 + \frac{|y(n)|}{V}(1 + \log A))}{A}, & \frac{|y(n)|}{V} \ge \frac{1}{1 + \log A} \\ \end{array} \right. \end{split}\]
where \(V\) is the absolute maximum value of the input data and \(A\) is the compression factor, which is typically set to 87.6.

Public Functions

ALawExpansion(double abs_max_value, double compression_factor)
Parameters:
  • abs_max_value[in] Absolute maximum value.

  • compression_factor[in] Compression factor, \(A\).

inline double GetAbsMaxValue() const
Returns:

Absolute maximum value.

inline double GetCompressionFactor() const
Returns:

Compression factor.

inline bool IsValid() const
Returns:

True if this object is valid.

bool Run(double input, double *output) const
Parameters:
  • input[in] Input data.

  • output[out] Output data.

Returns:

True on success, false on failure.

bool Run(double *input_and_output) const
Parameters:

input_and_output[inout] Input/output data.

Returns:

True on success, false on failure.