Telecommunication primitives

Touch-tone generators and decoders, channel models, and PCM coders.

Conversion, signal sources, and signal tests

MuLawEncoder
Transform the input using a logarithmic mapping if the Compress parameter is true. In telephony, applying the μ-law to eight-bit sampled data is called companding, and it is used to quantize the dynamic range of speech more accurately. The transformation is defined in terms of the non-negative integer parameter mu:

Out = \frac{\log(1+mu\cdot|In|)}{\log(1+mu)}

DTMFGenerator
Generate a dual-tone modulated-frequency (DTMF) signal by adding a low frequency and a high frequency sinusoid together. DTMF tones only consist of first harmonics. The default parameters generate a "1" on a touch-tone telephone.
DTMFPostTest
Return whether or not a valid dual-tone modulated-frequency has been correctly detected based on the last three detection results.
ToneStrength
Decision circuit for dual-tone modulated-frequency (DTMF) decoding. It returns true if Amax is greater than or equal to A_i for i = \{1, 2, 3, 4\} such that i does not equal index.

Touch-tone decoders

DTMFDecoder
Dual-tone modulated-frequency (DTMF) decoder based on post-processing of a bank of Goertzel discrete Fourier transform filters. This module decodes touch-tones generated by a telephone.
DTMFDecoderBank
Implement one of the banks for detecting dual-tone frequency-modulated (DTMF) touch-tones. Touch-tones are generated by adding a low frequency and a high frequency sinusoid together. The module is used to detect either the low or high frequency component, depending on the parameter settings. This algorithm examines the magnitude of the expected frequency components and their second harmonics. DTMF tones do not have second harmonics, so if they are present, then the input is likely speech and not touch-tones. The valid output is true if the input is probably a touch-tone. The default parameters are used to detect the low frequency tones.

GoertzelDetector
Detect the energy of the first and second harmonic using a pair of Goertzel filters.
lmsDTMFDecoderBank

Dual-tone modulated frequency detection based on the post-processing of the output of two LMS algorithms in cascade. These two algorithms are used to detect the two strongest frequencies present in the signal.
lmsDualTone
Detect the location of the two strongest harmonic components in the input signal for every input sample using the normalize direct frequency estimation technique, which is based on the LMS algorithm. This module is used in touch-tone detection.
lmsDTMFDecoder
Least-mean squares dual-tone modulated-frequency decoder. Dual-tone modulated frequency detection based on the post-processing of the output of two LMS algorithms in cascade. These two algorithms are used to detect the two strongest frequencies present in the signal.

Channel models

AWGNChannel
Model an additive Gaussian white noise channel with optional linear distortion.
BasebandEquivChannel

Baseband equivalent channel.
freqPhase
Impose frequency offset and/or phase jitter on a signal in order to model channels, such as telephone channels, that suffer these impairments.
NoiseChannel
A simple channel model with additive Gaussian white noise.
nonLinearDistortion

Generate second and third harmonic distortion by squaring and cubing the signal, and adding the results in controlled proportion to the original signal.
TelephoneChannel
Simulate impairments commonly found on a telephone channel, including additive Gaussian noise, linear and nonlinear distortion, frequency offset, and phase jitter.

PCM and ADPCM

ADPCMCoder
Implement adaptive differential pulse code modulation using an LMSFloat primitive. Both the quantized and unquantized prediction-error signals are available as outputs.
ADPCMDecoder
Decode the quantized prediction error signal produced by the ADPCMCoder module.
ADPCMFromBits
Convert a bit stream encoded with the ADPCMToBits module back to floating-point values. The 4 low-order bits of the input integer are changed to 1 of 16 floating-point values scaled by range.
ADPCMToBits
Convert the quantized prediction error of the ADPCMCoder module into a bit stream. The quantized prediction error has 16 possible levels, so this module produces 4 bits in each output sample.
PCMBitCoder
64kps PCM encoder (CCITT Recommendation G.711).
PCMBitDecoder
64kps PCM encoder (CCITT Recommendation G.711).