数字信号处理
课程设计
题目数字信号处理在双音多频拨号系统中的应用学校南昌航空大学科技学院
专业 自动化
班级: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信号进行频率检测幅度谱图如下
六位的幅度谱图如下 与八位对比
提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...
3C云互联怎么样?3C云互联专注免备案香港美国日本韩国台湾云主机vps服务器,美国高防CN2GIA,香港CN2GIA,顶级线路优化,高端品质售后无忧!致力于对互联网云计算科技深入研发与运营的极客共同搭建而成,将云计算与网络核心技术转化为最稳定,安全,高速以及极具性价比的云服务器等产品提供给用户!专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松...
物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是美国圣何塞 Equinix 机房的高性能I9-10980XE大带宽VPS,去程CN2GIA回程AS9929,美国原生IP,支持解锁奈飞等应用,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-V,资源全...