1、 物理与电气工程学院课程设计报告(数字信号处理)姓 名 张晓娟 学 号 101102072 专 业 电子信息工程 指导教师 冯丽娜 成 绩 日 期 2010.12.06 双音多频拨号系统张晓娟(安阳师范学院 物理与电气工程学院 河南 安阳 455002)摘 要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理
2、数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数。关键词:Matlab;语音信号;傅里叶变换;信号处理;滤波器引言:双音多频信号(DTMF)系统是一个典型的小型信号处理系统,它用数字方法产生模拟信号并进行传输,其中还用到了 D/A 变换器将其转换成数字信号,并进行数字信号处理与识别。在电话中,数字 0 到 5 中每一个都用两个不同的单音频传输,所用的 8 个频率分成高频带和低频带两组,低频带有四个频率,679hz,770hz,852hz,941hz;高频带也有四个频带,1209hz,1336hz,1477h
3、z,1633hz。每一个数字均由高、低频带中各一个频率构成。背景应用: 双音多频信号的分析采样中用到了离散傅立叶变换,X(K)=DFTX(n)。设时间连续的 DTMF 信号用:x(n)=sin(2*pi*f1*n)+sin(2*pi*f2*n)表示,用 8khz 对 DTMF 信号进行采样,采样后得到时域离散信号为:x(n)=sin(2*pi*f1*n/8000)+sin(2*pi*f2*n/8000)。DTMF 的检测:用数字方法进行检测,要将收到的时间连续 DTMF 信号经过 A/D 转换,变成数字信号进行检测。用 DFT 对双音多频信号进行频谱分析,有信号的幅度谱进行判断信号的两个频率,
4、最后确定相应的频率或符号。做这个程序还用到第三章用 DFT 对模拟信号进行频谱分析的理论,即是,用 DFT 对连续信号进行频谱分析必然是近似的,其近似程度和信号带宽、采样频率和截取长度有关。可以通过对连续信号采样并进行 DFT 再乘以 T,近似得到模拟信号频谱的周期延拓函数在第一个周期0,Fs上的 N 点等间隔采样 X(kF)。程序流程图:输入行向量,列向量,输入 5 位电话号码产生信号,发出声音并检测发声对双音频信号产生声音进行一些设计及实现程序: clc;clear all;tm=1,2,3,65;4,5,6,66;7,8,9,67;42,0,35,68; N=205;K=18,20,22
5、,24,31,34,38,42;f1=697,770,852,941; f2=1209,1336,1477,1633; TN=input(键入 5 位电话号码=); %figure(1)for m=1:5;d=fix(TN/10(5-m);TN=TN-d*10(5-m);用 Goertzel 算法计算八点DFT 样本,并列出八点的模画出 DFT 的幅度,查出列号,行号产生五个号码的各个图形结束for p=1:4;for q=1:4;if tm(p,q)=abs(d); break,end % 检测码相符的列号 qendif tm(p,q)=abs(d); break,end % 检测码相符的行
6、号 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(1:N),K+1); val = abs(X); subplot(3,3,m);stem(K,val,.);grid;xlabel(k);ylabel(|X(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, en
7、d % 查找行号endTNr=TNr+tm(r,s-4)*10(10-m);disp(接收端检测到的号码为:);disp(TNr)end当输入的数字为 12345 图形为:10 20 30 40 50050100k|X(k)|10 20 30 40 50050100k|X(k)|10 20 30 40 50050100k|X(k)|10 20 30 40 50050100k|X(k)|10 20 30 40 50050100k|X(k)|总结:通过这次课程设计我对于傅立叶变换的原理以及方法邮了更深的理解,另外饿学会了如何用 DFT 对模拟信号进行滤波,在选择滤波器时是有一定的规则的,不能随便选。根据它们的频率即是低通、高通、还是带通,来选择滤波器的使用。在程序调试过程中到了一些小问题,比如,函数名拼写时少了或者多了某个字母,还有就是少加了逗号或者分号,经过自己仔细检查与多次调试程序调试才成功,从这些之中,我觉得无论事情有多繁琐只要认真对待,细心很重要,往往就是细节决定成败。参考文献:【1】丁玉美、高全喜。数字信号处理第三版。西安电子科技大学出版社【2】楼顺天、李博菡。基于 matlab 的系统分析与设计。西安电子科技大学出纳社【3】胡广书。数字信号处理理论、算法与实现。清华大学出版社。【4】百度