按键电话拨号

我们每天都使用傅里叶分析未察觉。手机、光盘驱动器、dvd和jpeg所有涉及快速有限傅里叶变换。这篇文章描述了按键电话拨号,三是第一个帖子对fft算法的计算和解释。我的帖子是改编自第八章书,与MATLAB数值计算

内容

DTMF

按键电话拨号是日常使用的傅里叶分析的一个例子。按键拨号的基础是双音多频(DTMF)系统。合成代模拟音调来表示数字的电话号码。分析是这些音调的解码来检索数字。这个项目按键电话,这是可以在这里钴锰,或包含在我的应用程序,演示了DTMF的这两个方面。

合成

电话拨号垫作为4-by-3矩阵。与每行和每列是一个频率。这些基本的频率是
fr = (697 770 852 941);fc = (1209 1336 1477);
这些频率选择,没有任何其他的整数倍。事实上,比率是21/19。这可以避免干预色彩。如果年代是一个标签的字符键盘上的按键之一,相应的行索引k和列索引j可以发现
开关年代情况下‘*’k = 4;j = 1;情况下' 0 'k = 4;j = 2;情况下“#”k = 4;j = 3;否则d = s -' 0 ';j = mod (d 1,3) + 1;k =(曹磊)/ 3 + 1;结束
数字声音采样率的重要参数。
Fs = 32768
一个向量的点在四分之一秒的采样率
t = 0:1 / Fs: 0.25
生成的语气按钮的位置(j, k)通过叠加的两个基本音调的频率fr (k)fc (j)
日元=罪(2 *π* fr (k) * t);y2 =罪(2 *π* fc (j) * t);y = (y1 + y2) / 2;
如果你的电脑配备一个声卡,声明
声音(y, Fs)
语气。

“1”按钮

例如,这是产生的显示按键电话“1”按钮。次要情节描绘了两个基本频率和次要情节底部显示信号的一部分获得的平均与频率的正弦波。

分析

怎么可能确定听信号生成一个电话号码吗?这包括FFT,有限傅里叶变换,或者,更可能的是,一些专业版本的FFT适应这一任务。我将讨论FFT在我的下一篇文章。数据文件touchtone.mat包含一个记录的电话打。文件是可用的
//www.tatmou.com/moler.htmlncm/touchtone.mat
标签上面的MATLAB命令窗口,点击开放选项卡,并将这个URL插入文件名称槽。这将加载一个结构yMATLAB的工作区。然后声明
y
将会产生
y =团体:[1 x74800 int8] fs: 8192
这表明y有两个字段,一个整数向量y.sig长度为74800,包含信号和一个标量y.fs,价值8192,采样率。
马克斯(abs (y.sig))
显示的元素信号有界127年的绝对值。因此,语句
Fs = y.fs;y =双(y.sig) / 128;
保存采样率,重新调节向量并将它转换成双精度。的语句
n =长度(y);t = (0: n - 1) / Fs
复制的样品时间记录。的最后一个组件t9.1307,这表明录音持续9秒多一点。下一个数字是整个信号的情节。这个记录是吵了。你甚至能看到图上的小高峰的时候按钮被点击。很容易看到,11位数字拨,但是,这种规模,确定具体的数字是不可能的。这是信号的FFT的大小,是决定个人的关键数字。
p = abs (fft (y));f = (0: n - 1) * (Fs / n);情节(f p);轴((500 1700 0 600))
x设在对应的频率。的设置限制显示的DTMF频率范围。有七峰,对应的七个基本频率。这整体FFT显示所有七个频率信号存在的地方,但这并不有助于确定单个数字。的按键电话程序还允许你把信号分成11个相等的部分,分析每一部分分开。下一个图是显示从第一段。对于这部分,只有两个峰值,表明只有两个基本的频率出现在这部分信号。这两个频率来自“1”按钮。您还可以看到,一小部分第一部分的波形相似的波形合成器产生“1”按钮。所以我们可以得出结论,在拨按键电话从1开始。我们把它作为练习继续分析按键电话并确定完整的电话号码。

额外的

按键电话有一个隐藏的“复活节彩蛋”,据我所知,从来没有发现。如果有人发现,提交评论,让我们知道。

参考

克里夫硅藻土,与MATLAB数值计算MathWorks、电子版本,< //www.tatmou.com/moler/index_ncm.html>、印刷版、暹罗修订再版,暹罗,2008年,334页。< http://bookstore.siam.org/ot87>。

发表与MATLAB®R2014a

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。