数字信号处理
课程设计
题目数字信号处理在双音多频拨号系统中的应用学校南昌航空大学科技学院
专业 自动化
班级:1 182022
学号 27
姓名: 吴哲祺
2014年1月13日2014年1月17日
设计任务
设计程序 读入8位电话号码 根据键入的 8位电话号码产生时域离散双音多频DTMF信号并连续发出 8位号码对应的双音频声音。对时域离散 DTMF信号进行频率检测画出幅度谱。根据幅度谱的两个峰值 分别查找并确定输入 8位电话号码并将其输出。
设计步骤
1) 初步完成总体设计搭好框架确定人机对话的界面确定输入输出函
数的接口
2) 编写主要程序包括戈泽尔算法和 N点D FT
3) 编写实现输入输出功能的程序
4) 编写波形输出程序
5) 用matlab的相应函数进行检验。
要求
1) 用结构化设计方法。一个程序划分成若干模块每一个模块的函数功能
要划分好总体设计应画出流程图
2) 输入输出界面要友好
3) 源程序书写要规范加必要的注释
4) 要提供通过 Matlab函数进行检验的结果
5) 程序一定要要能运行起来。
一、 原理
双音多频 Dual Tone Multi Frequency,DTMF 信号是音频电话中的拨号信号 由美国 AT&T贝尔公司实验室研制并用于电话网络中。这种信号制式具有很高的拨号速度 且容易自动监测识别 很快就代替了原有的用脉冲计数方式的拨号制式。 这种双音多频信号制式不仅用在电话网络中 还可以用于传输十进制数据的其它通信系统中 用于电子邮件和银行系统中。 这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。
DTMF信号系统是一个典型的小型信号处理系统它要用数字方法产生模拟信
号并进行传输 其中还用到了 D/A变换器 在接收端用 A/D变换器将其转换成数字信号并进行数字信号处理与识别。为了系统的检测速度并降低成本还开发一种特殊的 DFT算法称为戈泽尔(Goertzel) 算法这种算法既可以用硬件 专用芯片实现也可以用软件实现。下面首先介绍双音多频信号的产生方法和检测方法包括戈泽尔算法最后进行模拟实验。下面先介绍电话中的 DTMF信号的组成。
1. 电话中的DTMF信号的组成
在电话中数字 0-9 的中每一个都用两个不同的单音频传输所用的 8个频率分成高频带和低频带两组低频带有四个频率 679Hz,770Hz,852Hz和941Hz高频带也有四个频率 1209Hz,1336Hz,1477Hz和1633Hz. 。每一个数字均由高、低频带中各一个频率构成 例如 1 用 697Hz和 1209Hz两个频率 信号用sin(2 f1t) sin(2 f2t)表示其中 f1 679Hz f2 1209Hz。这样8个频率形成 16种不同的双频信号。 具体号码以及符号对应的频率如表 1所示。表中最后一列在电话中暂时未用。
表1双频拨号的频率分配
DTMF信号在电话中有两种作用一个是用拨号信号去控制交换机接通被叫的用户电话机另一个作用是控制电话机的各种动作如播放留言、语音信箱等。
2. 电话中的双音多频 DTMF信号的产生与检测
1 双音多频信号的产生
假设时间连续的 DTMF信号用x(t) sin(2 f1t) sin(2 f2t)表示式中 f1和f2是
进行频谱分析的问题。 根据第三章用 DFT对模拟信号进行谱分析的理论 确定三个参数 1 采样频率Fs 2 DFT的变换点数N 3需要对信号的观察时间的长度Tp 。这三个参数不能随意选取要根据对信号频谱分析的要求进行确定。这里对信号频谱分析也有三个要求 1频率分辨率 2谱分析的频谱范围 3检测频率的准确性。
1 频谱分析的分辨率
观察要检测的 8个频率相邻间隔最小的是第一和第二个频率 间隔是73Hz要求DFT最少能够分辨相隔 73Hz的两个频率 即要求 Fmin 73Hz。 DFT的分辨率和对信号的观察时间 Tp有关 Tpmin 1 /F 1/73 13.7ms 。考虑到可靠性留有富裕量要求按键的时间大于 40ms。
2 频谱分析的频率范围
要检测的信号频率范围是 6971633Hz但考虑到存在语音干扰除了检测这8个频率外 还要检测它们的二次倍频的幅度大小 波形正常且干扰小的正弦波的二次倍频是很小的如果发现二次谐波很大则不能确定这是 DTMF信号。这样频谱分析的频率范围为 6973266Hz。按照采样定理最高频率不能超过折叠频率 即0.5Fs 3622Hz 由此要求最小的采样频率应为 7.24KHz。因为数字电话总系统已经规定 Fs8KHz 因此对频谱分析范围的要求是一定满足的。按照Tpmin 13.7ms
3 检测频率的准确性
这是一个用 DFT检测正弦波频率是否准确的问题。序列的 N点DFT是对序列频谱函数在 02 区间的 N点等间隔采样如果是一个周期序列截取周期序列的整数倍周期进行 DFT其采样点刚好在周期信号的频率上 D F T的幅度最大处就是信号的准确频率。 分析这些DTMF信号 不可能经过采样得到周期序列因此存在检测频率的准确性问题。
DFT的频率采样点频率为 k 2 k/N k=0,1,2,---,N-1 相应的模拟域采样点频率为 fk Fsk/N k=0,1,2,---,N-1 希望选择一个合适的 N使用该公式算出的代入公式f ' Fk/Nk s 中时得到的 k值最接近整数值这样虽然用幅度最大点检测的频率有误差但可以准确判断所对应的 DTMF频率 即可以准确判断所对应的数字或符号。经过分析研究认为 N205是最好的。按照 Fs8KHz N205算出8个频率及其二次谐波对应 k值和k取整数时的频率误差见表 2。
通过以上分析确定 F s8KHz N205。
4.DTMF信号的产生与识别仿真实验
下面先介绍 MATLAB工具箱函数 g oertzel 然后介绍 DTMF信号的产生与识别仿真实验程序。 Goerztel 函数的调用格式为
Xg k=goertzel(xn,K)xn是被变换的时域序列用于 DTMF信号检测时 xn就是DTMF信号的205个采样值。 K是要求计算的 D FT[xn]的频点序号向量用 N表示xn的长度则要求 1≤K≤N。 由表2可知如果只计算 DTMF信号8个基频时
K=[18 20 22 24 31 34 38 42]
如果同时计算 8个基频及其二次谐波时
K=[18 20 22 24 31 34 35 38 39 42 43 47 61 67 74
82] 。
Xgk是变换结果向量 其中存放的是由 K指定的频率点的 DFT[x(n)] 的值。设X(k)=DFT[x(n)] 则Xgk(i) X(K(i )), i 1,2,L , length(K)。
DTMF信号的产生与识别仿真实验在 MATLAB环境下进行编写仿真程序运行程序送入 8位电话号码程序自动产生每一位号码数字相应的 DTMF信号并送出双频声音再用 D FT进行谱分析显示每一位号码数字的 DTMF信号的 DFT幅度谱 安照幅度谱的最大值确定对应的频率 再安照频率确定每一位对应的号码数字最后输出 8位电话号码。
二、 设计过程
1. 设置参数并读入 8位电话号码。设置每位电话号码所对应的高频分
量和低频分量。
2.根据键入的 8位电话号码产生相应的时域离散 DTMF信号添加程序
连续发出 8位电话号码对应的双频声音。
3.对时域离散 DTMF信号进行频率检测画出幅度谱。
4.根据幅度谱的两个峰值分别查找并确定输入 8位电话号码。
5.将8位电话号码表示成一个 8位数并输出。
三、 结果与验证
1 运行结果
键入8位电话号码: 12345678
接收端接检测的号码为 12345678
对时域离散 DTMF信号进行频率检测幅度谱图如下
六位的幅度谱图如下 与八位对比
昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...
最近上洛杉矶机房联通CUVIP线路主机的商家越来越多了,HostKvm也发来了新节点上线的邮件,适用全场8折优惠码,基于KVM架构,优惠后最低月付5.2美元起。HostKvm是一家成立于2013年的国人主机商,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,君选择国内直连或优化线路,延迟较低,适合建站或者远程办公等。以洛杉矶CUVIP线路主机为例,...
最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...