DTMT双音多频信号的检测课程设计报告.docx
《DTMT双音多频信号的检测课程设计报告.docx》由会员分享,可在线阅读,更多相关《DTMT双音多频信号的检测课程设计报告.docx(22页珍藏版)》请在冰豆网上搜索。
DTMT双音多频信号的检测课程设计报告
中北大学
课程设计说明书
学生姓名:
学号:
学院:
信息与通信工程
专业:
电子信息工程
题目:
信息处理综合实践:
DTMT双音多频信号的检测
指导教师:
薛英娟赵英亮职称:
副教授
2014年6月26日
课程设计任务书
1.设计目的:
1、掌握USB总线或PCI总线的基本结构,了解基于USB总线或PCI总线A/D卡的通用结构。
写出关于基于USB总线或PCI总线A/D卡的报告。
2、通过A/D卡,利用高级语言编写信号的采集、存储和显示程序。
3、双音多频(DualToneMultiFrequency)信号应用于许多场合,最常见的时电话号码的拨音。
电话号码盘上每一个号码对应一个DTMF音,它包含两个不同频率的正弦信号的叠加,检测DTMF音就是检测这两个正弦信号的频率,从而判断出拨键号码。
2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
(1)掌握USB总线或PCI总线的基本结构,了解基于USB总线或PCI总线A/D卡的通用结构。
(2)通过A/D卡,编写信号的采集、存储和显示程序。
(3)熟悉有关的基本理论知识,明白DTMF音的检测原理;
(4)实现DTMF音产生和检测的两个MATLAB函数
a、一个程序实现DTMF音产生,函数形式为y=fun(s),s代表电话号码对应的字母,即“0”、“1”、····、“#”。
根据抽样定理选择抽样频率fs=8000Hz,根据实际应用,y的取样电数为205各样值。
b、第二个函数就是DTMF音的检测,该函数的输入就是上面函数产生的y,输出就是检测判断得到的号码,即是“0”、“1”、····、“#”。
检测原理就是计算y的频谱,根据上表判断是什么号码。
(5)根据信号频谱特点,自定义性能指标,设计IIR数字低通滤波器设计。
滤波器的类型可以从巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器中任选其中的三种。
分别给出所设计滤波器的频率响应;
(6)用所设计的滤波器对语音信号滤波,画出滤波后信号的时域波形图和频谱图;
(7)分析比较各滤波器的特点;
3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:
课程设计说明书一份
仿真结果
课程设计任务书
4.主要参考文献:
[1]维纳·K·英格尔,约翰·G·普罗克斯(著),刘树棠(译).数字信号处理(MATLAB版)[M].西安:
西安交通大学出版社,2013(7):
326-379
[2]桂志国.数字信号处理[M].北京:
科学出版社,2009
[3]陈怀琛,吴大正,高西全.MATLAB及在电子信息课程中的应用[M].北京:
电子工业出版社,2013(8):
233-242
[4]王玉顺.MATLAB实践教程[M].西安:
西安电子科技大学出版社,2012(8):
195-196
[5]岂兴明,王占富,郭正彪,矫津毅.MATLAB程序设计快速入门[M].北京:
人民邮电出版社,2009(7)
[6]李莉.数字信号处理实验教程[M].北京:
清华大学出版社,2011(10):
114-120
5.设计成果形式及要求:
课程设计说明书
仿真结果
6.工作计划及进度:
2014年
6月9日~6月12日:
查资料;
6月13日~6月15日:
在指导教师指导下设计方案;
6月16日~6月24日:
完成设计内容;
6月25日~6月26日:
撰写课程设计说明书;
6月27日:
答辩
学院审查意见:
签字:
____________
_____年____月____日
目录
一、引言1
二、设计目的1
三、设计原理1
USB总线概述1
(一)USB总线:
1
(二)USB总线设备规范:
2
(三)USB总线通信模型:
2
(四)USB总线枚举过程:
3
(五)USB总线要点:
4
(六)USB总线传输过程:
4
(七)通用USB设备操作:
5
1.动态插接与拔出:
5
2.地址分配:
6
3.配置:
6
4.数据传送:
6
(八)USB设备的标准请求:
7
1.批处理传送:
9
2.控制传送:
9
3.中断传送:
9
4.同步传送:
10
基于USB总线的A/D采集卡(USB-9211A)10
(一)概述:
10
(二)性能和技术指标:
10
双音多频信号12
四、设计方案12
(一)双音多频(DTMF)信号的组成:
12
(二)双音多频信号的产生:
13
(三)双音多频信号的检测:
14
(四)MATLAB实现:
14
(五)检测DTMF信号的DFT参数选择:
15
1.频谱分析的分辨率:
15
2.频谱分析的频率范围:
15
3.检测频率的准确性:
16
五、结果及分析17
(一)实验结果:
17
(二)实验程序:
21
第一部分:
DTMF信号生成(generateSingle.m)21
第二部分:
DTMF信号检测(DTMF.m)22
六、设计心得23
一、引言
在现代通信系统中,都离不开数据采集、处理和输出这三个过程。
本次课程设计主要围绕基于USB总线的采集原理及其对应的A/D采集卡的相关特性,并重点以DTMF为研究对象熟悉了解了在信号处理方面的各个过程。
二、设计目的
1、掌握USB总线或PCI总线的基本结构,了解基于USB总线或PCI总线A/D卡的通用结构。
写出关于基于USB总线或PCI总线A/D卡的报告。
2、通过A/D卡,利用高级语言编写信号的采集、存储和显示程序。
3、双音多频(DualToneMultiFrequency)信号应用于许多场合,最常见的时电话号码的拨音。
电话号码盘上每一个号码对应一个DTMF音,它包含两个不同频率的正弦信号的叠加,检测DTMF音就是检测这两个正弦信号的频率,从而判断出拨键号码。
三、设计原理
USB总线概述
(一)USB总线:
USB的英文全称为UniversalSerialBus,中文含义是通用串行总线。
它是一种快速的双向的、同步传输的、廉价的并可以进行热拔插的串行接口。
USB接口使用方便,可以连接多个不同的设备,而过去的串口和并口只能接一个设备。
速度快是USB技术的突出特点之一,全速USB接口的最高传输率可达12Mb/s,比串口快了整整100倍,而执行USB2.0标准高速USB接口速率更是达到7480Mb/s,这使得高分辨率、真彩色的大容量图像的实时传送成为可能。
USB接口支持多个不同设备的串列连接,一个USB接口理论上可以连接127个USB设备。
连接方式也十分灵活,既可以使用串行连接,也可以使用集线器(Hub)把多个设备连接在一起,再同PC机的USB接口相接。
普通的使用串口、并口的设备都需要单独的供电系统,而USB设备则不需要。
正是由于USB的这些特点,使其获得了广泛的应用。
(二)USB总线设备规范:
USB1.1规范介绍了USB的总线特点、协议内容、事务种类、总线管理、接口编程的设计,以及建立系统制造外围设备所需的标准。
设计USB的目标就是使不同厂家所生产的设备可以在一个开放的体系下广泛的使用。
该规范改进了使携商务或家用电脑的现有体系结构,进而为系统生产商和外设开发商提供了足够的空间来创造多功能的产品和开发广阔的市场,并不必由于使用陈旧的接口,而害怕失去兼容性。
(三)USB总线通信模型:
一个USB系统仅可以有一个主机,而为USB器件连接主机系统提供主机接口的部件被称为USB控制器。
USB控制器是一个由硬件、软件和固件(Firmware)组成的复合体。
一块具有USB接口的主板通常集成了一个称为RootHub的部件,它为主机提供一到多个可以连接其他USB外设的USB扩展接口。
USB器件可以分为两种,即USBHub和USB功能器件(FunctionDevice)。
USB的功能器件作为USB外设,它必须保持和USB协议的完全兼容,并可以回应标准的USB操作。
USB主机与USB设备的通信过程如下:
当用户在应用程序中发出一个通信指令(比如在用户界面的对话框中单击发送数据按钮),该指令经应用程序传送到USB设备功能驱动程序.在总线转上换成USB比特的数据流,通过USB电缆传送到USB设备,USB设备上的专门芯片接收并处理该指令,然后再将处理后的状态和结果回送给USB主机。
USB固件就是固化在USB设备中处理USB主机的各种命令和发送相应应答的程序。
(四)USB总线枚举过程:
USB总线采用总线枚举的方法来标记和管理外设所处的状态,当一台USB外设初次连接到USB系统中后,通过下面8个步骤来完成它的初始化:
1.USB外设所连接的Hub检测到所连接的USB外设并自动通知主机,以及它的端口状态的变化,这时外设还处于禁止(Disabled)状态,
2.主机通过对HUB的查询以确认外设的连接;
3.现在,主机已经知道有一台新的USB外设连接到了USB系统中,然后激活这个Hub的端口,并向Hub发送一个复位该端口的命令;
4.Hub将复位信号保持10ms,为连接到该端口的外设提供100mA的总线电流,达时该外设处于Powered状态,它的所有寄存器被消空并指向默认的地址;
5.在外没分配到惟一的USB地址以前,其默认信道均使用主机的默认地址。
然后主机通过读取外设协议层的特征字来了解该外设的默认信通所使用的实际的最大数据有效裁荷宽度(即外设在特征字中所定义的在DATA0数据包中数据字段的长度)。
6.主机分配一个惟一的USB地址给该外设,并使它处于Addressed状态;
7.主机开始使用EndPoint0信道读取外设ROM中所存储的器件配置特征字,这可能会花去几帧的时间;
8.基于器件配置持征字:
主机为该外设指定一个配置值,这时,外设即处于配置状态了,它所有的端点(Endpoint)这时也处于配置值所描述的状态。
从外设的角度来看,这时该外设己处于准备使用的状态。
(五)USB总线要点:
在一台外设能被使用之前,它必须被配置。
“配置”即主机根据外设的配置特征字来定义器件的配置寄存器,以便规定外设的所有Endpoint的工作环境。
当一台USB外设配置好以后,即会进入到挂起(suspend)状态,直到它开始被使用。
必须指出的是,一台USB外设一旦配置好,它的每一个特定的信道只能使用一种数据传输方式。
(六)USB总线传输过程:
下面以一台采用同步传输的数字摄像机为例,来说明USB设备的数据传输的过程:
1.应用软件(用户的操作界面管理程序)在内存中开辟数据缓冲区,并通过标准USB命令字向USB驱动程序发出数据请求(IRP)。
2.USB驱动程序通过对该IRP的翻译形成Token数据(USB形式的2进制数据)包发送到外设,这时主机进入等待状态。
3.外设中的固件程序通过控制PDIUSBDl2芯片,对数据包进行解码、操作及CRC校验,确认后接收主机PID字段中所包含的命令并开始采集数据。
4.采集到的并行数据在固件程序的控制下首先进入外设的FIFO,并通过控制PDIUSBDl2并/串转换部件形成串行脉冲。
5.根据器件配置寄存器的要求对数据进行符合条件的分割,配置数据包的PID字段等以形成原始数据包。
6.通过CRC校验产生器对每一个数据包生成CRC校验码字段,SOP和EOP信号产生器为该数据包加入同步字段头和数据包结束符。
7.数据包的NRZI编码和操作。
8.使用收发器(Transreceiver)将数据流驱动到USB线缆上。
9.主机控制器将USB数据转化成为普通的“纯”图像数据送到数据缓冲区以进行数据的进一步处理;如果是采用控制传输、块传输或中断传输方式,在数据被成功传送后,主机还会向外设发送ACK的握手数据包作为回应。
在数据传输过程中,上面的USB设备都是在固件程序的控制下对PDIUSBDl2芯片进行操作,以将命令和数据进行编码或解码,在用户识别的格式和USB比特流之间进行转换。
(七)通用USB设备操作:
1.动态插接与拔出:
USB设备必须在任意时刻允许被插接与拔开,提供连接点或端口的集线器应当负责汇报端口的状态改变情况。
当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而复位,一个被复位了的USB设备有如下特性:
●对缺省USB地址发生响应。
●没有被配置。
●初始状态不是挂起。
当设备从一个集线器端口移去时,集线器会使得原来连接的端口失效,并且通知主机设备已移去。
2.地址分配:
当USB设备连接以后,由主机负责给此设备分配一个唯一的地址,这个操作是在设备复位以及端点使能操作以后。
3.配置:
USB设备在正常被使用以前,必须被配置,由主机负责配置设备。
主机一般会从USB设备获取配置信息,再确定此设备有哪些功能。
作为配置操作的一部分,主机会设置设备的配置值,并且如果必要,会选择合适的接口的备选设置。
4.数据传送:
数据可能以4种方式在USB设备端点与主机之间传送。
在不同设置下,一个端点可能被用于不同的传送方式,但一旦设置选定,传送方式就选定了。
1控制传输模式:
控制传输用于在外设初次连接时对器件进行配置、对外设的状态进行实时检则、对控制命令的传送等,也可以在设备配置完成后由客户软件用于其他目的。
2块传送模式:
块传送用于进行批量的、非实时的数据传输。
如一台USB扫描仪即可采用块传送的模式,以保证让数据连续地、在硬件层次上的实时纠错地传送。
3同步传输模式:
同步传输适用于那些要求数据连续地、实时地以固定的数据传输率产生、传送并消耗的场合,如数字录像机等。
为保证数据传输的实时性,同步传输不进行数据错误的重试,也不在硬件层次上回应一个握手数据包,这样有可能使数据流中存在数据错误的隐患。
为保证在同步传输数据流中致命错误的几率小到可以容忍的程度,而数据传输的延迟又不会对外设的性能造成太大的影响,厂商必须为使用同步传输的管道选择一个合适的带宽(即必须在速度和品质之间做出权衡)。
4中断传输模式:
对于那些小批量的、点对点的、非连续的数据传输应用的场合,如用于人机交互的鼠标、键盘、游戏杆等,中断传输的方式是最适合的。
(八)USB设备的标准请求:
所有的USB设备在设备的缺省控制通道(DefaultControlPipe)处对主机的请求发出响应。
这些请求是通过使用控制传输来达到的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。
不管设备是否被分配了非缺省地址或设备当前已经被配置,它们都应当对标形请求产生响应。
(九)USB的数据包及数据传输方式:
在编写USB固件代码时,首先需要对USB各种数据包的格式有一个清楚的理解,其中最重要的是标记包。
同时USB的数据传输有4种不同的方式,分别应用于不同的数据传输场合。
USB总线是一种串行总线,即它的数据是逐位传送的。
在USB系统中,数据是通过USB线缆,采用USB数据包,从主机传送到外设或是从外设传送到主机的。
在USB协议中,把基于外设的数据源和基于主机的数据接收软件(或者方向相反)之间的数据传输模式称为管道(Pipe)。
管道分为流模式的管道(StreamPipe)和消息模式的管道(MessagePipe)两种。
管道方式的结构使得USB系统支持一个外设拥有多个功能部件(用EndPoint0、Endpoint1、Endpointn这样的方法进行标识),这些功能部件可以同时以不同的数据传输方向在同一条USB线缆上进行数据传输而互不影响。
比如一个USB的ISDNMODEM就可以同时拥有一个上传的管道和一个下载的管道,并能同时很好地工作。
为实现多外设、多管道同时工作,USB总线使用数据包的方式来传输数据和控制信息。
USB数据传输中的每一个数据包都以一个同步字段开始.它的最后两个位作为PID(数据包标识字段)字段开始的标志。
主机根据PID字段的类型来判断一个数据包中所包含的数据类型,并执行相应的操作。
当一个USB外设初次连接时,USB系统会为这台外设分配惟一的USB地址,这个地址通过地址寄存器(ADDR)来标记,以保证数据包不会传送到别的USB外设。
7位的ADDR使得USB系统最大寻址为127台设备(ADDR字段)。
为保证控制、块传送及中断传送中数据包的正确性,CRC校验字段被引用到如标记、数据、帧开始(SOP)这样的数据包中。
CRC校验(数据冗余校验)可以给予数据100%的正确检检验。
虽然USB总线是把这些位形式的数据打成数据包来传送,但数据的同步也是必不可少的。
USB1.0/1.1协议规定,USB的标准脉冲时钟为12MHZ,而其总线时钟为1ms,即每隔1ms,USB器件应为USB线缆产生一个时钟脉冲序列。
这个脉冲序列称为帧开始数据包(SOF),主机利用SOF来同步USB数据的发送和接收。
数据位被发送到总线的时候,首先最低有效位(LSB),跟着是下一个最低有效位,最后是最高有效位(MSB)。
包中单个的位和字段从左到右的顺序就是它们通过总线的顺序。
USB的数据有4种传输类型:
批处理(Bulk)、控制(Control)、中断(Interrupt)和同步(Isochronous)。
各种包的格式根据传输类型的不同而变化。
1.批处理传送:
批传送用于进行批量的、非实时的数据传输.如一台USB扫描仪即可采用批传送的模式,以保证数据连续地、在硬件层次上的实时纠错地传送。
只有高速设备可以便用批传送。
2.控制传送:
要进行控制传送,先要由主机向设备发一个总线建立(Setup)信息。
它描述了控制访问的类型,设备将执行此控制访问。
3.中断传送:
中断传送是为这样一类设备设计的:
它们只传或收少量数据,而且并不经常进行传送,但它们有一个确定的服务周期,用于人机交互的鼠标、键盘、游戏杆等,中断传输的方式是最适合的。
对中断传送有以下要求:
●通道的最大服务期得到保证;
●由于错误而引起的重发在下一服务期进行。
4.同步传送:
同步传送意味着恒定速率、错误容忍的传送。
同步传输适用于那些要求数据连续地、实时地以固定的数据传输率产生、传送并消耗的场合,如数字录像机等。
同步传送的几个特点:
固定的延时下,确保对USB带宽的访问;只要数据能提供,就能保证通道上的恒定数据传输速率;如果由于错误造成传送失败,并不重传数据。
基于USB总线的A/D采集卡(USB-9211A)
(一)概述:
USB-9211A是USB总线数据采集控制板,支持USB协议2.0版本,该板可插入具备USB插口的个人微机或笔记本电脑,USB-9211A为用户提供了16bit单端32路/双端16路模拟量数据采集输入通道,模拟量输入最高采样速率100K/S,16Bit数字量输入/16Bit数字量输出,USB-9211A卡使用时无需外供电源,即插即用。
(二)性能和技术指标:
表1技术参数
模拟信号输入分辩率
16Bit
模拟信号输入通道
单端32
程控放大器增益误差
0.05%
模拟电压信号输入范围
10V
模拟信号输入采集速率
5K/S~100K/S
AD转换数据缓冲区容量
16K字
A/D转换触发方式
软件触发
A/D转换方式
连续采集,通道自动切换
数字量输入输出
输入输出各16BIT;HC电平
模拟信号输入阻抗
10MΩ
A/D转换精度
2LSB
计数器输入
32位4通道
定时器输出
32位4通道(基准时钟40MHZ)
电源消耗
375mA
板外形尺寸
200mm110mm;四层板结构
铝壳外形尺寸
280mm170mm×50mm
工作温度范围
0~+70
存储温度范围
-25~+85
相对湿度范围
90(不结露)
双音多频信号
双音多频(DualToneMultiFrequency,DTMF)信号是音频电话中的拨号信号,由美国AT&T贝尔公司实验室研制,并用于电话网络中。
这种信号制式具有很高的拨号速度,且容易自动监测识别,很快就代替了原有的用脉冲计数方式的拨号制式。
这种双音多频信号制式不仅用在电话网络中,还可以用于传输十进制数据的其它通信系统中,用于电子邮件和银行系统中。
这些系统中用户可以用电话发送DTMF信号选择语音菜单进行操作。
DTMF信号系统是一个典型的小型信号处理系统,它要用数字方法产生模拟信号并进行传输,其中还用到了D/A变换器;在接收端用A/D变换器将其转换成数字信号,并进行数字信号处理与识别。
为了系统的检测速度并降低成本,还开发一种特殊的DFT算法,称为戈泽尔(Goertzel)算法,这种算法既可以用硬件(专用芯片)实现,也可以用软件实现。
下面首先介绍双音多频信号的产生方法和检测方法,包括戈泽尔算法,最后进行模拟实验。
四、设计方案
(一)双音多频(DTMF)信号的组成:
在电话中,数字0~9的中每一个都用两个不同的单音频传输,所用的8个频率分成高频带和低频带两组,低频带有四个频率:
679Hz,770Hz,852Hz和941Hz;高频带也有三个频率:
1209Hz,1336Hz和1477Hz。
每一个数字均由高、低频带中各一个频率构成,例如1用697Hz和1209Hz两个频率,信号用
表示,其中
,
。
这样7个频率形成12种不同的双频信号。
具体号码以及符号对应的频率如表1所示。
表中最后一列在电话中暂时未用。
表2双频拨号的频率分配
1209Hz
1336Hz
1477Hz
697Hz
1
2
3
770Hz
4
5
6
852Hz
7
8
9
942Hz
*
0
#
DTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。
(二)双音多频信号的产生:
假设时间连续的DTMF信号用
表示,式中
是按照表1选择的两个频率,
代表低频带中的一个频率,
代表高频带中的一个频率。
显然采用数字方法产生DTMF信号,方便而且体积小。
下面介绍采用数字方法产生DTMF信号。
规定用8KHz对DTMF信号进行采样,采样后得到时域离散信号为:
形成上面序列的方法有两种,即计算法和查表法。
用计算法求正弦波的序列值容易,但实际中要占用一些计算时间,影响运行速度。
查表法是预先将正弦波的各序列值计算出来,寄存在存储器中,运行时只要按顺序和一定的速度取出便可。
这种方法要占用一定的存储空间,但是速度快。
因为采样频率是8000Hz,因此要求每125ms输出一个样本,得到的序列再送到D/A变换器和平滑滤波器,输出便是连续时间的DTMF信号。
DTMF信号通过电话线路送到交换机。
(三)双音多频信号的检测:
在接收端,要对收到的双音多频信号进行检测,检测两个正弦波的频率是多少,以判断所对应的十进制数字或者符号。
显然这里仍然要用数字方法进行检测,因此要将收到的时间连续DTMF信号经过A/D变换,变成数字信号进行检测。
检测的方法有两种,一种是用一组滤波器提取所关心的频率,根据有输出信号的2个滤波器判断相应的数字或符号。
另一种是用DFT(FFT)对双音多频信号进行频谱分析,由信号的幅度谱,判断信号的两个频率,最后确定相应的数字或符号。
当检测的音频数目较少时,用滤波器组实现更合适。
FFT是DFT的快速算法,但当DFT的变换区间较小时,FFT快速算法的效果并不明显,而且还要占用很多内存,因此不如直接用DFT合适。
下面介绍Goertzel算法,这种算法的实质是直接计算DFT的一种线性滤波方法。
这里略去