% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.DecodeText,'string',''); %清空解码显示文本框
Signal = PressKeyDown(handles,'#'); handles.DTMFSignal = Signal;
handles.TelNumber=strcat(handles.TelNumber,'#'); % Update handles structure guidata(hObject, handles);
set(handles.CodeText,'string',handles.TelNumber);
六、 设计结果及改进建议
1. DFT在信号频谱分析中的应用
所得图形如下:
21
DFT与FFT 运算时间的比较
低频信号截取 100点时的幅频图
取20点分别补零至25点和60点的DFT变换
利用补零DFT计算低频信号N 点序列
22
计算高频信号16点的DFT
高频信号补零至50点的频谱
高频信号取长度为50点的频谱
23
由以上的结果可知,DFT所需时间比FFT长很多,
2. 双音多频拨号音编解码系统
GUI界面如图:
七、 回答思考题
1. DFT在信号频谱分析中的作用
简要回答如下思考题:
(1) 对比设计内容2中(1)(2) (3)的图,说明补零DFT的作用。
答:补零作用主要是减小栅栏效应,使频域抽样更密。
(2) 解释设计内容3中X1(ej?)~?图和X2(ej?)~?图有什么区别?补零DFT能否提高信号的频谱分辨率,说明提高频谱密度、频谱分辨率的措施各是什
24
么?
答:X2是高分辨率抽取,其中包含更多的高频分量,时域的曲线更平滑。提高频谱密度的方法是插入零值,提高频谱分辨率的措施是增加抽样点数。
2. 双音多频拨号音编解码系统
简要回答如下思考题:
(1)整个系统所需的运算量和存储器的占用量是多少?
答:这是一个二阶的IIR系统需要两个延迟器、两个乘法器和三个相加器。最多需占用12个存储器,分别存放十二个按键。
(2)比较DTMF拨号音解码系统中两种方法各自的特点。
答:滤波法是用一组滤波器提取所关心的频率,根据有输出信号的2个滤波器判断相应的数字或符号,主要用于检测的音频数目较少时。频谱分析法是用DFT(FFT)对双音多频信号进行频谱分析,由幅度谱判断信号频率。当DFT的变换区间较小时,FFT效果不明显且占用很多内存。
(3)波形发生器的零极点分布特点是什么? 答:零点位于单位圆内,零极点呈镜像对称。
八、 设计体会
数字信号处理作为我们专业一个极其重要的课程,同学们都对相应的数字信号课程设计给予同样的重视,我也不例外。最初拿到课程设计题目时,还是感到有一定难度的,毕竟Matlab软件是我们第一次接触。然而经过各种不同科目的课程设计,我很快便打消了内心的害怕,因为我相信,只要肯努力,一切都会有一个好结果的。
最初选择的是第六个题目,即DTMF信号的编写。不过这个题目着实让我打器起了退堂鼓,虽然题目本身很容易理解,不过要从matlab软件下手确实很困难。于是我转而选择了第一个题目——DFT在频谱分析中的应用。一是因为自己对DFT变换比较熟悉,二是自己第一次接触matlab时便是从DFT开始的,这个题目容易上手。经过查阅各种资料,最终比较顺利的完成了。但是我对DTMF信号的编写仍有兴趣,因为这是一个有实际意义的题目,我希望能通过自己的理
25
解来让自己意识到数字信号处理的实际意义。于是我又继续攻克第六个题目。我从网上查阅资料,发现其实DTMF信号的应用十分广泛,例如银行的ATM取款机等。又进一步了解到编写DTMF信号需要用到matlab中的GUI,然后我又查找资料亲自做了一个简单的GUI界面。
通过这次课程设计,让我对数字信号处理知识有了进一步的认识,通过对matlab的应用,让我对matlab程序也有了了解。并且培养了我的独立思考、解决问题的能力。
九、 参考文献
程佩青,数字信号处理及应用,清华大学出版社,2009
王宏,MATLAB及其在信号处理中的应用,清华大学出版社,2004 李正周,MATLAB数字型号处理与应用,清华大学出版社,2008
26