iPhone 上拨号键盘的发音规律
上个学期在信号处理课上选做的题目和这个问题正好相关。
如焕杰同学所说,iPhone拨号音是使用双音多频信号(DTMF)。双音多频信号是贝尔实验室发明的,通常用于发送被叫号码,它取代了早起的脉冲拨号方法。和DTMF配合使用的是DTMF键盘,标准的是4X4的键盘,但是通常电话不需要16个按键,只有12个按键。每个按键都有一个横坐标和一个纵坐标,分别对应一个频率。传统的DTMF信号是用来在固话网络上在带内(跟语音通话公用信道)传输信息的。比如被叫号码或者其它信令(网上银行输入卡号密码等)。 而手机的类似信令由带外(跟语音信号分别传输)传输,相比较而言,更精确,也更安全(不存在被录音后破解的情况)。 为了延续用户习惯,iPhone拨号时仍旧模拟DTMF音播放给用户听,在实际通话中没有实际作用。用户拨完号按“发射”键时,手机会生成一组数字信号,由带外传输至交换机。(感谢@Morgan Wang更正)
也就是说,当我们按下数字‘1’的时候,我们听到的声音是一个单纯的697Hz的信号和一个单纯1209Hz的信号的叠加(不知道为了声音悦耳,设计师有没有加进去谐波成分)。其他9个数字和星号键、井号键也分别由这样两个信号叠加。
如果把它们放在频域上看,不同数字就很容易区分了。我当时用Matlab,根据标准频率做了一组信号,模拟拨号“1234567890”的拨号音,每个按键0.5秒,做短时傅里叶变换,纵坐标是归一化的频率。从图上可以看出,每一条黄色柱子表示一个数字,中间两段红色的粗线就是它对应的两个频率。
下面是我用自己手机拨打自己号码,用电脑声卡采集,然后用Matlab做STFT得到的结果。
上图是拨号音的时域波形。我边想边拨,花了10秒钟才拨完,拨号节奏有快有慢,只看波形你并不知道我的号码是多少。但是如果在频域上看,结果就比较清楚了,如下图。
iPhone 上拨号键盘的发音规律的更多相关文章
- 去掉iphone上拨号弹出框
1.常规的方法可以直接去除默认事件event.preventDefault() 2.使用vue的话可以: <div @click.stop.prevent=</div> //或者 & ...
- 英语发音规则---字母组合oo的发音规律
英语发音规则---字母组合oo的发音规律 一.总结 一句话总结:在英语单词中,字母组合oo多数读长音/u:/,少数读短音/ʊ/.另外,还有极少数的特殊情况读/ʌ/, 在英语单词中,字母组合oo多数读长 ...
- 三种经典iPhone上网络抓包方法详解
此文章来自:听云博客 很多时候需要网络抓包分析,在iPhone上抓包稍有不同,下面介绍三种常用的方式.分析工具以wireshark为例. 一.最简单的方式:用PC作为热点,在PC上抓包 优点:简单 缺 ...
- 在iphone上安装多个微信 【微信营销必备】
做微信营销有很多因素会影响,xmyanke认为微信消息的活跃度会让你的微信公众号在微信搜索排名靠前,既然那样,我们可以通过运营几个小号来达到目的.每每当你在几个微信小号之间切换的时候有没要奔溃的赶脚? ...
- 解决iPhone上select时常失去焦点,随意跳到下一个输入框,影响用户操作
window.addEventListener('load', function() { FastClick.attach(document.body); }, false); //300s延迟,解决 ...
- 通过Mouse Without Borders在多台机器上共享键盘鼠标
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:通过Mouse Without Borders在多台机器上共享键盘鼠标.
- ios:如何将自己编写的软件放到真正的iPhone上运行(转)
想要将自己编写的软件放到真正的iPhone上去运行,首先你需要成为Apple Developer计划的成员.其次,你需要设置程序ID和认证书,在这之后你就可以在你指定的iPhone上运行你的程序了.下 ...
- iphone上click事件不触发的问题解决。
iphone上click事件不触发的问题解决. //在ID为jsProvince上有这么一个事件: $('body').on('click', '#jsProvince', function(e){ ...
- iPhone 上显示桌面版页面
在用智能电话的浏览器打开页面时,很多网站会根据浏览器的屏幕大小自动调整显示布局,或跳转到移动设备使用的专用面上来优化显示.一些情况下,这种优化可能不是用户希望的,比如优化后的页面缺少桌面版的功能. 这 ...
随机推荐
- Windows多线程编程总结
1 内核对象 1 .1 内核对象的概念 内核对象是内核分配的一个内存块,这种内存块是一个数据结构,表示内核对象的各种特征.并且只能由内核来访问.应用程序若需要访问内核对象,需要通过操作系统提供的函数来 ...
- HDU 5382 莫比乌斯反演
题目大意: 求S(n)的值 n<=1000000 这是官方题解给出的推导过程,orz,按这上面说的来写,就不难了 这里需要思考的就是G(n)这个如何利用积性函数的性质线性筛出来 作为一个质数,那 ...
- tableview 刷新 @property属性的用法
1.tableView的刷新1> 数据刷新的总体步骤* 修改模型数据* 刷新表格(刷新界面) 2> 刷新表格(刷新界面)的方法* 全局刷新(每一行都会重新刷新)- (void)reload ...
- 最大公约数——Program G
最大公约数 Description There is a hill with n holes around. The holes are signed from 0 to n-1. A rabbit ...
- SQL学习心得(转)
http://www.cnblogs.com/lyhabc/p/3732942.html
- checkbox的全选、反选、删除(MainActivity)
package com.example.ay; import java.util.ArrayList;import java.util.List; import com.example.adapter ...
- js 中 setInterval 的返回值问题
var i = 0; var timer = setInterval(function() { i++ console.log(i); //alert(1); }, 2000); alert( typ ...
- uart与usart
字面意义:UART:universal asynchronous receiver and transmitter通用异步收发器:USART:universal synchronous asynchr ...
- poj蚂蚁问题
问题描述: n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向 爬回去.对于每只蚂蚁,我们知道它距离竿子左 ...
- Jul_31 PYTHON REGULAR EXPRESSIONS
1.Special Symbols and Characters 1.1 single regex 1 . ,Match any character(except \n) ^ ,Match start ...