主要内容

DTMF 生成器和接收器

此示例说明如何对双音多频 (DTMF) 生成器和接收器进行建模。该示例包括一个预配置的模型,该模型具有带通滤波器组接收器、显示所生成音调的频谱和频谱图的 Spectrum Analyzer 模块、用于存储解码位的移位寄存器以及所有平台上的实时声卡音频。

DTMF 生成器

DTMF 信令使用两种音调来表示触摸板上的每个键。触摸板有四行三列,总共 12 个键。按下某个键会根据下表生成行音调和列音调。

        1209 Hz    1336 Hz    1477 Hz
697 Hz    1          2          3
770 Hz    4          5          6
852 Hz    7          8          9
941 Hz    *          0          #

例如,按下 5 键会生成 770 Hz 和 1336 Hz 的音调。

此示例中的行频率和列频率避免谐波多义性。没有一个频率是另一个频率的倍数。任意两个频率之差不等于任何其他频率,任意两个频率之和也不等于任何其他频率。

在此示例中,* 键表示数字 10,# 键表示数字 11。

DTMF 接收器

接收器检测音调频率并对数字进行解码。您可以使用基于 DFT 的算法来检测频率。但是,由于此示例中只有七个频率分量(四个低频和三个高频),使用格兹尔算法更高效。此算法通过使接收到的信号通过七个带通滤波器来检测频率分量。您可以在 DTMF Receiver 模块中将滤波器带宽调整为中心频率的百分比。

运行模型

打开并运行模型 dspdtmf

open_system('dspdtmf');
sim('dspdtmf');

当您运行仿真时,您可以在示波器中查看 DTMF 接收器接收到的音调的频谱图。您可以在数值显示示波器中查看 DTMF 接收器检测到的数字。如果您使用的是为音频硬件设计的模型版本,您可以通过系统声卡收听接收到的音调。

您可以调整以下模型参数:

  • 每个音调的频率偏置(DTMF Generator 模块)

  • 通道噪声功率和信号增益(Channel 模块)

  • 接收器带通滤波器频率带宽(DTMF Receiver 模块)。

另请参阅

|

主题