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:
- 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
for
such that
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).