Simple DTMF Encoder & Decoder

版本 1.0.1.4 (12.0 KB) 作者: DGM
Simple tools for demonstrating encoding and decoding a sequence of DTMF tones.
261.0 次下载
更新时间 2022/9/30
This is a relatively simple implementation intended mainly to help deal with questions asked by students. These should not require any special toolboxes and should be more clearly understandable to new users. Tested in R2019b, R2015b, and R2009b.
I make no assurance of the robustness of this implementation in practical applications.
% %%%%%%%%%%%%%%%%%%%%%%%%%%
SIGNAL = dtmfencode(KEYS,{OPTIONS})
Encode a sequence of DTMF tones in an audio signal.
Each tone in the sequence is separated by a period of silence.
The minimum typical tone and space duration used by equipment
is 40 ms.
KEYS is a character vector made from the keys on a 4x4 keypad:
 123A
 456B
 789C
 *0#D
OPTIONS are key value pairs:
 'toneduration' specifies the length of the tones (default 0.2s)
 'spaceduration' specifies the intertone silence (default 0.1s)
 'fs' specifies sampling frequency (default 8000 Hz)
Output SIGNAL is a vector describing a time-domain audio signal
% %%%%%%%%%%%%%%%%%%%%%%%%%%
KEYS = dtmfdecode(SIGNAL,{SAMPLEFREQ})
Decode a sequence of DTMF tones in an audio signal.
If called without any output arguments, a figure window
will be opened, displaying the tone spectra and frequency
bins associated with the DTMF source tones.
Each tone in the sequence should be separated by a period of
silence. For normalized signals, the minimum tone duration
and spacing are both well below 40ms.
SIGNAL is a vector describing a time-domain audio signal.
SAMPLEFREQ is the sampling frequency used by SIGNAL (Hz)
 This is expected to be at least 3300. (default 8000)
Output KEYS is a character vector
Example:
mysignal = dtmfencode('8675309');
themdigits = dtmfdecode(mysignal);

引用格式

DGM (2024). Simple DTMF Encoder & Decoder (https://github.com/291ce4321ac/dgm-dtmf-example/releases/tag/v1.0.1.4), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R2019b
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

FEX_dependencies/ifversion_fex

FEX_dependencies/subplot_tight

版本 已发布 发行说明
1.0.1.4

See release notes for this release on GitHub: https://github.com/291ce4321ac/dgm-dtmf-example/releases/tag/v1.0.1.4

1.0.1.3

included fex dependencies

1.0.0.3

again

1.0.0.2

description edit again

1.0.0.1

fixed broken description formatting as usual

1.0.0

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库