收藏 分享(赏)

实验六 数字信号处理在双音多频拨号系统中的应用.docx

上传人:HR专家 文档编号:5186835 上传时间:2019-02-12 格式:DOCX 页数:8 大小:382.42KB
下载 相关 举报
实验六 数字信号处理在双音多频拨号系统中的应用.docx_第1页
第1页 / 共8页
实验六 数字信号处理在双音多频拨号系统中的应用.docx_第2页
第2页 / 共8页
实验六 数字信号处理在双音多频拨号系统中的应用.docx_第3页
第3页 / 共8页
实验六 数字信号处理在双音多频拨号系统中的应用.docx_第4页
第4页 / 共8页
实验六 数字信号处理在双音多频拨号系统中的应用.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、实验六 数字信号处理在双音多频拨号系统中的应用一、实验目的1.了解双音频信号的特点2.学会双频拨号的使用3.了解并检测 DTMF 信号的 DFT 参数选择二、实验环境计算机 MATLAB 软件三、实验原理DTMF 信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了 D/A 变换器;在接收端用 A/D 变换 diji zh 器将其转换成数字信号,并进行数字信号处理与识别。为了系统的检测速度并降低成本,还开发一种特殊的 DFT 算法,称为戈泽尔(Goertzel)算法,这种算法既可以用硬件(专用芯片)实现,也可以用软件实现。下面首先介绍双音多频信号的产生方法和

2、检测方法,包括戈泽尔算法,最后进行模拟实验。下面先介绍电话中的 DTMF 信号的组成。在电话中,数字 09 的中每一个都用两个不同的单音频传输,所用的 8 个频率分成高频带和低频带两组,低频带有四个频率:679Hz,770Hz,852Hz 和 941Hz;高频带也有四个频率:1209Hz,1336Hz,1477Hz 和 1633Hz.。每一个数字均由高、低频带中各一个频率构成,例如 1 用697Hz 和 1209Hz 两个频率,信号用 表示,其中 ,)2sin()si(1tftfHzf6791。这样 8 个频率形成 16 种不同的双频信号。具体号码以及符号对应的频率如表Hzf120910.6.

3、1 所示。表中最后一列在电话中暂时未用。表 1 双频拨号的频率分配:列行1209Hz 1336Hz 1477Hz 1633Hz697Hz 1 2 3 A770Hz 4 5 6 B852Hz 7 8 9 C942Hz * 0 # DDTMF 信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。2 电话中的双音多频(DTMF)信号的产生与检测(1)双音多频信号的产生假设时间连续的 DTMF 信号用 表示,式中 是按照表)2sin()si()1tftftx21f和10.10.1 选择的两个频率, 代表低频带中的一个频率,

4、 代表高频带中的一个频率。显然采用数1f字方法产生 DTMF 信号,方便而且体积小。下面介绍采用数字方法产生 DTMF 信号。规定用 8KHz对 DTMF 信号进行采样,采样后得到时域离散信号为实验六 数字信号处理在双音多频拨号系统中的应用)80/2sin()80/2sin()1ffx形成上面序列的方法有两种,即计算法和查表法。用计算法求正弦波的序列值容易,但实际中要占用一些计算时间,影响运行速度。查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按顺序和一定的速度取出便可。这种方法要占用一定的存储空间,但是速度快。因为采样频率是 8000Hz,因此要求每 125ms 输出一个

5、样本,得到的序列再送到 D/A 变换器和平滑滤波器,输出便是连续时间的 DTMF 信号。DTMF 信号通过电话线路送到交换机。(2)双音多频信号的检测在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断所对应的十进制数字或者符号。显然这里仍然要用数字方法进行检测,因此要将收到的时间连续 DTMF信号经过 A/D 变换,变成数字信号进行检测。检测的方法有两种,一种是用一组滤波器提取所关心的频率,根据有输出信号的 2 个滤波器判断相应的数字或符号。另一种是用 DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。当检测的音

6、频数目较少时,用滤波器组实现更合适。FFT 是 DFT 的快速算法,但当 DFT 的变换区间较小时,FFT 快速算法的效果并不明显,而且还要占用很多内存,因此不如直接用 DFT 合适。下面介绍 Goertzel 算法,这种算法的实质是直接计算 DFT 的一种线性滤波方法。这里略去 Goertzel 算法的介绍(请参考文献1 9) ,可以直接调用 MATLAB 信号处理工具箱中戈泽尔算法的函数 Goertzel,计算 N 点 DFT 的几个感兴趣的频点的值。表 2:8 个基频Hz最近的整数 k值DFT 的k 值绝对误差 二次谐波Hz对应的k 值最近的整数 k 值绝对误差697 17.861 18

7、 0.139 1394 35.024 35 0.024770 19.531 20 0.269 1540 38.692 39 0.308852 21.833 22 0.167 1704 42.813 43 0.187941 24.113 24 0.113 1882 47.285 47 0.2851209 30.981 31 0.019 2418 60.752 61 0.2481336 34.235 34 0.235 2672 67.134 67 0.1341477 37.848 38 0.152 2954 74.219 74 0.2191633 41.846 42 0.154 3266 82.0

8、58 82 0.058四、实验过程(实验步骤、记录、数据、分析、结果)(1) 运行仿真程序 exp6.m,任意送入 6 位电话号码,打印出相应的幅度谱。观察程序运行结果,对照表 1 和表 2,判断程序谱分析的正确性。实验代码:6 位号码% DTMF 双频拨号信号的生成和检测程序%clear all;clc;tm=1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68; % DTMF 信号代表的 16 个数N=205;K=18,20,22,24,31,34,38,42;f1=697,770,852,941; % 行频率向量f2=1209,1336,1477,1633; % 列

9、频率向量TN=input(键入 6 位电话号码 = ); % 输入 6 位数字TNr=0; %接收端电话号码初值为零实验六 数字信号处理在双音多频拨号系统中的应用for l=1:6;d=fix(TN/10(6-l);TN=TN-d*10(6-l);for p=1:4;for q=1:4;if tm(p,q)=abs(d); break,end % 检测码相符的列号 qendif tm(p,q)=abs(d); break,end % 检测码相符的行号 pendn=0:1023; % 为了发声,加长序列x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8

10、000);% 构成双频信号sound(x,8000); % 发出声音pause(0.1)% 接收检测端的程序X=goertzel(x(1:205),K+1); % 用 Goertzel 算法计算八点 DFT 样本val = abs(X); % 列出八点 DFT 向量subplot(3,2,l);stem(K,val,.);grid;xlabel(k);ylabel(|X(k)|) % 画出 DFT(k)幅度axis(10 50 0 120)limit = 80; %for s=5:8;if val(s) limit, break, end % 查找列号endfor r=1:4;if val(r

11、) limit, break, end % 查找行号endTNr=TNr+tm(r,s-4)*10(6-l);enddisp(接收端检测到的号码为:) % 显示接收到的字符disp(TNr)实验六 数字信号处理在双音多频拨号系统中的应用分析:运行程序,根据提示键入 6 位电话号码 678012,回车后可以听见 6 位电话号码对应的DTMF 信号的声音,并输出相应的 6 幅频谱图如图 1 所示,左上角的第一个图在 k=20 和 k=38 两实验六 数字信号处理在双音多频拨号系统中的应用点出现峰值,所以对应第一位号码数字 6。最后显示检测到的电话号码 678012。(2) 分析该仿真程序,将产生、

12、检测和识别 6 位电话号码的程序改为能产生、检测和识别 8 位电话号码的程序,并运行一次,打印出相应的幅度谱和 8 位电话号码。实验代码:8 位号码% DTMF 双频拨号信号的生成和检测程序%clear all;clc;tm=1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68; % DTMF 信号代表的 16 个数N=205;K=18,20,22,24,31,34,38,42;f1=697,770,852,941; % 行频率向量f2=1209,1336,1477,1633; % 列频率向量TN=input(键入 8 位电话号码 = ); % 输入 8 位数字TNr=0

13、; %接收端电话号码初值为零for l=1:8;d=fix(TN/10(8-l);TN=TN-d*10(8-l);for p=1:4;for q=1:4;if tm(p,q)=abs(d); break,end % 检测码相符的列号 qendif tm(p,q)=abs(d); break,end % 检测码相符的行号 pendn=0:1023; % 为了发声,加长序列x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);% 构成双频信号sound(x,8000); % 发出声音pause(0.1)% 接收检测端的程序X=goertzel(x(

14、1:205),K+1); % 用 Goertzel 算法计算八点 DFT 样本val = abs(X); % 列出八点 DFT 向量figure(2)subplot(4,2,l);stem(K,val,.);grid;xlabel(k);ylabel(|X(k)|) % 画出 DFT(k)幅度axis(10 50 0 120)limit = 80; %for s=5:8;if val(s) limit, break, end % 查找列号endfor r=1:4;if val(r) limit, break, end % 查找行号endTNr=TNr+tm(r,s-4)*10(8-l);end

15、disp(接收端检测到的号码为:) % 显示接收到的字符实验六 数字信号处理在双音多频拨号系统中的应用disp(TNr)实验六 数字信号处理在双音多频拨号系统中的应用分析:运行程序,根据提示键入 8 位电话号码 45678012,回车后可以听见 8 位电话号码对应的DTMF 信号的声音,并输出相应的 8 幅频谱图如图所示,左上角的第一个图在 k=20 和 k=31 两点出现峰值,所以对应第一位号码数字 4。最后显示检测到的电话号码 45678012。五、 思考题简述 DTMF 信号的参数:采样频率、DFT 的变换点数以及观测时间的确定原则。答:1. 观测时间的确定: 观察要检测的 8 个频率,

16、相邻间隔最小的是第一和第二个频率,间隔是73Hz,要求 DFT 最少能够分辨相隔 73Hz 的两个频率,即要求 HzF73min 。DFT 的分辨率和对信号的观察时间 Tp 有关,Tpmin=1/F=1/73=13.7ms 。考虑到可靠性,留有富裕量,要求按键的时间大于 40ms。 2. 采样频率的确定: 频谱分析的频率范围为 6973266Hz。按照采样定理,最高频率不能超过折叠频率,即 HzFs36225.0 ,由此要求最小的采样频率应为 7.24KHz。因为数字电话总系统已经规定 sF8KHz,因此对频谱分析范围的要求是一定满足的。 3. DFT 的变换点数的确定: DFT 的频率采样点

17、频率为 Nkk/2 (k=0,1,2,-,N-1) ,相应的模拟域采样点频率为 NkFfsk/ (k=0,1,2,-,N-1) ,希望选择一个合适的 N,使用该公式算出的 kf 能接近要检测的频率,或者用 8 个频率中的任一个频率kf 代入公式/ksfFkN 中时,得到的 k 值最接近整数值,这样虽然用幅度最大点检测的频率有误差,但可以准确判断所对应的 DTMF 频率,即可以准确判断所对应的数字或符号。经过分析研究认为 N205 是最好的。实验六 数字信号处理在双音多频拨号系统中的应用六、实验总结1.在 DTMF 信号的参数设定的时候要按照一定的原则来,否则得到的输出不够准确;2.要注意频谱分析的频率范围要检测的信号频率范围是 6971633Hz,但考虑到存在语音干扰,除了检测这 8 个频率外,还要检测它们的二次倍频的幅度大小,波形正常且干扰小的正弦波的二次倍频是很小的,如果发现二次谐波很大,则不能确定这是 DTMF 信号。这样频谱分析的频率范围为6973266Hz。按照采样定理,最高频率不能超过折叠频率,即 ,由此要求最小的HzFs3625.0采样频率应为 7.24KHz。因为数字电话总系统已经规定 8KHz ,因此对频谱分析范围的要求是s一定满足的。按照 , 8KHz,算出对信号最少的采样点数为msTp7.13inF。0mini spFN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 规范标准 > 实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报