应用IIR滤波器对双音多频信号进行解码教程.doc

应用IIR滤波器对双音多频信号进行解码教程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用IIR滤波器对双音多频信号进行解码教程

 PAGE \* MERGEFORMAT 12 应用IIR滤波器对双音多频信号进行解码 实验名称 应用IIR滤波器对双音多频信号进行解码 实验目的 综合应用信号频谱分析和IIR数字滤波器设计的知识,实现双音多频信号的解码,加深理解信号时域和频域分析的物理概念。 实验环境 微型电子计算机(PC); 安装Windows 10操作系统,MATLAB7.0等开发工具。 实验原理 双音多频( DTMF)信号的产生及检测在现代通信系统中有着广泛的应用,家用电话、移动电话以及公共程控交换机(PBX)都采用DTMF信号发送和接收电话拨号号码。DTMF信号由低频组和高频两组频率信号构成,其中高频为列,低频为行。按键电话上的每个按键都由对应的两个频率组成。当按下某个键时,所得到的按键信号是由相应两个频率的正弦信号相加而成: 其中,,。可以用IIR数字滤波器对DTMF信号进行解码。如图1所示,接收到的音频信号分别通过低???和高通滤波器,由于DTMF信号的行频低于列频,所以低通和高通可以分离出行和列信息。再通过带通滤波器,对其输出的振幅大小进行判断,可以确定具体的行频和列频。如图1中所示的滤波器响应,将得到按键“4”。 图1 图2 实验内容和任务要求 用Matlab编程完成以下问题,实验结束后提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确。 (1)利用DTMF的产生原理合成数字“4”,合成公式为: 其中,画出其时域波形和幅度谱曲线。 (2)根据图中的低通和高通滤波器,画出两个滤波器的幅频响应;并利用函数对信号进行滤波,并输出信号的幅度谱曲线。 (3)设计图1中第一组的四个带通滤波器,画出滤波器的幅频响应;并利用函数对图中相应的输入信号进行滤波,在一张图上用不同颜色画出这四条输出曲线。比较其幅值可知,BP770Hz滤波器的输出最大,因此确定该DTMF的行频为770Hz。 (4)设计图1中第二组的三个带通滤波器,画出滤波器的幅频响应;并利用函数对图中相应的输入信号进行滤波,在一张图上用不同颜色画出这三条输出曲线。比较其幅值,BP1209Hz滤波器的输出最大,因此确定该DTMF的列频为1209Hz。从(3)和(4)可以解出该DTMF信号为按键“4”。 (5)生成0~9其它数字的DTMF信号,按照上述方法进行解码,验证该方法的正确性。 (6)对于图1中的第一组带通滤波器的4个输出,分别用fft函数求其频响,画出幅频响应曲线。同理在一张图上用不同颜色画出第二组带通滤波器的3个输出的幅频响应曲线。 实验分析 本实验要求利用IIR滤波器对双音多频信号进行解码。 对于问题一,我们可以利用高频和低频合成相应的时域信号以此来模拟DTMF中信号的产生; 对于问题二,我们根据题目要求分别设计一个IIR低通滤波器和高通滤波器,并对问题一中产生的信号进行滤波,以此将信号中的高频和低频区分开来; 对于问题三,我们分别设计四个低频带通滤波器,以此来对问题二中产生的低频信号进行第二次滤波,将滤波后的信号绘制在同一张图上,比较其幅值从而确定其行频; 对于问题四,同问题三类似,设计三个高频带通滤波器对问题二中产生的高频信号进行第二次滤波,从而确定其列频; 对于问题五,我们用同样的方式模拟其他数字的合成以及解码,并检验相应解码结果是否正确; 对于问题六,利用FFT对滤波后的两组信号分别进行频谱分析。 Matlab代码 数字合成函数: function [x]=Signal(fl,fh) %生成字符信号序列函数 fs=8000; N=205;n=0:N-1; t=n/fs; x=sin(2*pi*fl*t)+sin(2*pi*fh*t); 滤波器函数: function [b,a,H,varagout]=Butter_My(wp,ws,Rp,Rs,w,sign) %高/低/带通滤波器的设计函数 [Nm,wc]=buttord(wp,ws,Rp,Rs); %计算满足给定指标所需的最小阶数以及相应的3dB截止频率 if (length(wp)1)||(wpws) %低通和带通 [b,a]=butter(Nm,wc); else [b,a]=butter(Nm,wc,high); %高通 end; if sign==0 %根据标志信号判断是否需要计算滤波器的频率响应 H=freqz(b,a,w); else H=0; End 译码函数: function [result,varargout]=Translate(x)%译码函数 %%初始参数设置

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档