主要内容

DFT与Goertzel写到估计算法

这个例子展示了如何使用Goertzel写到函数来实现DFT-based DTMF检测算法。

双音多频(DTMF)信号是语音通信的基础控制和全球广泛应用在现代电话拨打号码和配置交换机。它也被运用于系统,如在语音邮件,电子邮件和电话银行。

生成DTMF音调

DTMF信号由两个正弦信号的和或音调与频率来自两个互斥组。这些频率选择,以防止任何谐波被错误接收器检测到的一些其他DTMF频率。每一对音调低组的包含一个频率(697 Hz, 770 Hz, 852 Hz, 941 Hz)和一个频率高集团(1209 Hz, 1336 Hz, 1477 Hz),代表了一个独特的符号。电话的频率分配给按钮板如下所示:

为每个按钮生成和情节DTMF信号在电话里垫。每个信号都有8 kHz的采样率和100毫秒的时间。

符号= {' 1 ',' 2 ',“3”,“4”,“5”,“6”,“7”,“8”,“9”,‘*’,' 0 ',“#”};[音调,f, f,寻求组队,hfg] = helperDTMFToneGenerator(象征,假);helperDFTEstimationPlot1(音调,象征,f, f);

图包含12轴对象。坐标轴对象与标题“1”象征:1 (697、1209),ylabel振幅包含一个类型的对象。坐标轴对象2标题象征“2”:(697、1336),ylabel振幅包含一个类型的对象。坐标轴对象3标题象征“3”:(697、1477),ylabel振幅包含一个类型的对象。坐标轴对象4标题象征“4”:(770、1209),ylabel振幅包含一个类型的对象。坐标轴对象与标题“5”象征:5 (770、1336),ylabel振幅包含一个类型的对象。坐标轴对象与标题“6”象征:6 (770、1477),ylabel振幅包含一个类型的对象。坐标轴对象与标题“7”象征:7 (852、1209),ylabel振幅包含一个类型的对象。坐标轴对象与标题“8”象征:8 (852、1336),ylabel振幅包含一个类型的对象。坐标轴对象9与标题“9”:象征(852、1477),ylabel振幅包含一个类型的对象。 Axes object 10 with title Symbol

播放DTMF音调

例如,玩音调对应的电话号码508-647-7000。的“0”符号对应于11日基调。

%听到,取消这些线:%为i = [5 11 8 6 4 7 7 11 11 11)% p = audioplayer(音调(:,i)、Fs、16);% (p)玩%暂停(0.5)%结束

估计DTMF音调Goertzel写到算法

DTMF信号的最小时间由ITU标准定义是40毫秒。因此,最多有0.04 x 8000 = 320个样本用于估计和检测。DTMF解码需要估计这些短信号中包含的频率。

这个估计问题的一种常用的方法是计算离散傅里叶变换(DFT)样品接近七个基本音调。DFT-based解决方案,它已被证明,使用205个样本在频域之间的误差最小化原始频率和DFT的点估计。

元= 205;original_f =[寻求组队(:);hfg (:))%初始频率
original_f =7×1697 770 852 941 1209 1336 1477
k =圆(original_f / Fs * Nt);% DFT的指标estim_f =圆(k * Fs /元)%的DFT频率估计
estim_f =7×1702 780 859 937 1210 1327 1483

之间的误差最小化原始频率和DFT的点估计,我们截断音调,只保留205个样本或25.6 ms进行进一步处理。

音调=音调(1:205:);

此时,我们可以使用快速傅里叶变换(FFT)算法计算DFT。然而,Goertzel写到的流行算法在这种背景下在于DFT的少量的点估计。在这种情况下,Goertzel写到算法比FFT算法更有效。

toneChoice = 1:12%选择语气语气=音调(:,toneChoice);%估计DFT使用Goertzel写到ydft (:, toneChoice) = goertzel写到(语气,k + 1);% Goertzel写到基于使用的索引结束

情节Goertzel写到DFT大小估计每个音调的网格对应电话垫。

helperDFTEstimationPlot2 (ydft,象征,f, estim_f);

图包含12轴对象。坐标轴对象与标题“1”象征:1 (697、1209),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象2标题象征“2”:(697、1336),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象3标题象征“3”:(697、1477),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象4标题象征“4”:(770、1209),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象与标题“5”象征:5 (770、1336),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象与标题“6”象征:6 (770、1477),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象与标题“7”象征:7 (852、1209),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象与标题“8”象征:8 (852、1336),ylabel DFT级包含一个干细胞类型的对象。坐标轴对象9与标题“9”:象征(852、1477),ylabel DFT级包含一个干细胞类型的对象。 Axes object 10 with title Symbol

检测DTMF音调

数字音检测可以通过测量能量出席上述七个频率估计。每个符号可以由简单的组件上下频率组的最大的能源。

附录

本例中使用以下辅助函数。

另请参阅