数据的采集与音频信号的频谱分析 课程设计

数据的采集与音频信号的频谱分析 课程设计
数据的采集与音频信号的频谱分析 课程设计

中北大学

课程设计说明书

学生姓名:谢航飞学号:1305014126

学院:信息与通信工程学院

专业:电子信息工程

题目:信息处理信息实践:

数据的采集与音频信号的频谱分析

指导教师:王玉职称:副教授

2016 年 1 月 22 日

中北大学

课程设计任务书

15/16 学年第一学期

学院:信息与通信工程学院

专业:电子信息工程

学生姓名:关炜学号:1305014102 学生姓名:谢航飞学号:1305014126 学生姓名:李庆学号:1305014140 课程设计题目:信息处理信息实践:

数据的采集与音频信号的频谱分析起迄日期:2016年1月4日~2016年1月22日

课程设计地点:学院楼201实验室

指导教师:王玉

负责人:王浩全

下达任务书日期: 2016 年1月 4 日

1.设计目的:

(1)掌握USB总线或PCI总线的基本结构,了解基于USB总线或PCI总线A/D卡的通用结构;

(2)掌握数据采集卡采集数据的过程和原理;

(3)了解MATLAB的信号处理技术;

(4)掌握MATLAB 实现音频信号的读取、保存、拼接与频谱分析。

2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):

(1)查阅相关资料,撰写关于基于USB总线或PCI总线A/D卡的报告;

(2)采用A/D卡采集信号发生器产生的信号;

(3)采用MATLAB读取两个以上音频信号,截取各信号中的一段进行拼接,并进行频谱分析,并讨论不同的采样频率对频谱的影响;

(4)保存拼接后的音频信号,并进行播放证实存储的正确性,同时对拼接后的信号进行频谱分析,并与原有信号的频谱作对比;

(5)要求3位同学完成。

3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:

(1)要求设计组的每个成员都要了解设计的要求和思路;

(2)MATLAB数据处理部分要求有正确的运行结果及结果分析;

(3)数据处理部分要求每位同学有自己的理解;

(4)每位同学针对上述内容撰写设计说明书(每人1份)。

4.主要参考文献:

1 黄顺吉.数字信号处理及其应用.北京:国防工业出版社,1982

2 陈怀琛.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社.2008,1

3 赵知劲,刘顺蓝.数字信号处理实验.杭州:浙江大学出版社,2007

4 程佩青.数字信号处理教程.北京:清华大学出版社,2007

5 徐明远,刘增力.MATLAB仿真在信号处理中的应用.西安:西安电子科技大学出版社,2007

6 丛玉良,王宏志.数字信号处理原理及其MATLAB实现(第2版).北京:电子工业出版社,2009

5.设计成果形式及要求:

课程设计说明书

程序运行结果

6.工作计划及进度:

2016年

1月4日~ 1月6日:查资料,了解基于USB总线或PCI总线A/D卡的通用结构以及A/D采集卡的应用;

1月7日~ 1月20日:在老师指导下完成课程设计内容;

1月20日~ 1月22日:撰写课程设计说明书、答辩。

负责人审查意见:

签字:

年月日

目录

一、A/D卡设计 (1)

1.1 基于USB总线的A/D卡 (1)

1.2 基于PCI总线的A/D卡 (2)

1.2.1 PCI的含义 (2)

1.2.2 PCI总线的基本结构 (3)

1.2.3 PCI的总线接口的含义 (5)

1.2.4 PCI控制功能的实现 (6)

1.2.5 基于PCI的A/D卡的工作原理 (7)

二、设计方案简介 (8)

三、语音信号的采集 (8)

3.1 录音系统流程 (9)

四、语音信号的分析 (9)

4.1 语音信号时域分析 (9)

4.2 语音信号频域分析 (10)

五、程序设计及仿真图 (10)

六、语音信号的读取、拼接、保存与频谱分析 (11)

6.1 设计条件及主要参数表 (12)

6.2 设计主要参数计算 (12)

6.2.2 采样频率对语音频谱的影响 (22)

七、心得体会 (25)

八、参考文献 (25)

一、A/D卡设计

1.1 基于USB总线的A/D卡

https://www.360docs.net/doc/445298619.html,B总线介绍

USB总线为通用串行总线,USB接口位于PS/2接口和串并口之间,允许外设在开机状态下热插拔,最多可串接下来127个外设,传输速率可达480Mb/S,P 它可以向低压设备提供5伏电源,同时可以减少PC机I/O接口数量。USB是基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目的。数据采集就是把来自各种传感器的信号数据实时地、准确地测量或汇集起来,用计算机进行实时处理或记录存储,实时完成测试和控制功能。数据采集系统结构通过微机的标准接口连接各种功能模块、仪器仪表和传感器,组成测量系统。

2.USB接口电路设计

图1.1 USB接口电路图

R3是上拉电阻器,它可使USB口的D+端上拉到DS2490S的VB端,表示USB 主机系统是高速设备,同时这个上拉电阻器告诉主机有USB设备插入。该上拉电阻器的设置对适配器的影响很大,它的负载值和1-Wire网络的总长决定1-Wire 总线电压上升到5 V的速度。经过实验测试选择R3的阻值为27 Ω±lO%。R1、R2为USB数据线保护电阻器。L、L2具有禁止高频干扰并且减弱EMI辐射的功能。LF33CV为3.3 V电压稳压器,与周围元件C1、C2组成强上拉部分,给EEPROM

或温度传感器等器件提供额外的电源。

https://www.360docs.net/doc/445298619.html,B接口的数据采集系统的设计实现

数据采集系统使用采集卡进行数据采集,然后经过A/D转换器供计算机加工处理。基于USB接口的数据采集与频谱分析系统本系统结构由硬件部分和软件部分组成,硬件部分主要有计算机、I/ O 接口设备. 计算机作为硬件平台的核心可采用台式机,系统采用的I/ O 设备为A/ D 数据采集卡,该采集卡是一种基于USB 总线数据采集产品,可与带USB 接口的各种台式计算机、笔记本电脑、工控机连接构成高性能的数据采集测量系统.整个系统主要由4部分组成:USB 接口芯片及外围电路、控制电路、数据缓冲电路和A/D转换电路。USB接口芯片选择了Cypress公司的EZ-USB 2131Q,该芯片内嵌8051控制器,因此整个系统以EZ-USB控制器为核心,由EZ-USB经控制电路实现对A/D转换电路和数据缓冲电路的控制,模拟信号转换后的数据送入数据缓冲器,当数据缓冲器存满之后,通知EZ-USB控制器,由主机取出数据。

4.A/D转换电路

声卡是计算机对语音信号进行加工的重要部件,它具有对信号滤波、放大、采样保持、A/D和D/A转换等功能。系统中A/D转换芯片采用了MAXIM公司的MAX122,该芯片是12 b的高速的A/D转换器。在完全转换模式下,他的转换时间可以达到2.6μs,采样率为333 kS/s。MAX122有5种工作模式,在数据采集系统中,采用了模式2即连续转换模式。在这种模式下,每次转换需要13~14个时钟脉冲节拍,转换可以不间断地进行,但是需要提供开始转换使能信号,并且要保证使能信号和时钟信号同步,读信号和片选始终处于有效状态。数据输出使能信号一直有效,在转换结束时产生新的数据。

1.2 基于PCI总线的A/D卡

1.2.1 PCI的含义

PCI是由Intel公司1991年推出的一种局部总线。从结构上看,PCI是在

CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡,声卡,网卡,MODEM等设备提供了连接接口,它的工作频率为33MHz/66MHz。PCI总线也支持总线主控技术,允许智能设备在需要时取得总线控制权,以加速数据传送。PCI 总线是一种不依附于某个具体处理器的局部总线。

PCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。PCI插槽也是主板带有最多数量的插槽类型,在目前流行的台式机主板上,ATX结构的主板一般带有5~6个PCI插槽,而小一点的MATX主板也都带有2~3个PCI插槽,可见其应用的广泛性。

1.2.2 PCI总线的基本结构

1、PCI总线

PCI总线由HOST主桥或者PCI桥管理,用来连接各类设备,如声卡、网卡和IDE接口卡等。在一个处理器系统中,可以通过PCI桥扩展PCI总线,并形成具有血缘关系的多级PCI总线,从而形成PCI总线树型结构。在处理器系统中有几个HOST主桥,就有几颗这样的PCI总线树,而每一颗PCI总线树都与一个PCI 总线域对应。

与HOST主桥直接连接的PCI总线通常被命名为PCI总线0。考虑到在一个处理器系统中可能有多个主桥,图1-1将HOST主桥x推出的PCI总线命名为x0总线,而将PCI桥x1扩展出的PCI总线称之为x1总线;而将HOST主桥y推出的PCI总线称为y0-yn。分属不同PCI总线树的设备,其使用的PCI总线地址空间分属于不同的PCI总线域空间。

2、PCI设备

在PCI总线中有三类设备,PCI主设备、PCI从设备和桥设备。其中PCI从设备只能被动地接收来自HOST主桥,或者其他PCI设备的读写请求;而PCI主设备可以通过总线仲裁获得PCI总线的使用权,主动地向其他PCI设备或者主存

储器发起存储器读写请求。而桥设备的主要作用是管理下游的PCI总线,并转发上下游总线之间的总线事务。

一个PCI设备可以即是主设备也是从设备,但是在同一个时刻,这个PCI 设备或者为主设备或者为从设备。PCI总线规范将PCI主从设备统称为PCI Agent 设备。在处理器系统中常见的PCI网卡、显卡、声卡等设备都属于PCI Agent 设备。

在PCI总线中,HOST主桥是一个特殊的PCI设备,该设备可以获取PCI总线的控制权访问PCI设备,也可以被PCI设备访问。但是HOST主桥并不是PCI 设备。PCI规范也没有规定如何设计HOST主桥。

在PCI总线中,还有一类特殊的设备,即桥设备。桥设备包括PCI桥、PCI-to-(E)ISA桥和PCI-to-Cardbus桥。PCI桥的存在使PCI总线极具扩展性,处理器系统可以使用PCI桥进一步扩展PCI总线。

PCI桥的出现使得采用PCI总线进行大规模系统互连成为可能。但是在目前已经实现的大规模处理器系统中,并没有使用PCI总线进行处理器系统与处理器系统之间的大规模互连。因为PCI总线是一个以HOST主桥为根的树型结构,使用主从架构,因而不易实现多处理器系统间的对等互连。

PCI桥可以连接两条PCI总线,上游PCI总线和下游PCI总线,这两个PCI 总线属于同一个PCI总线域,使用PCI桥扩展的所有PCI总线都同属于一个PCI 总线域。其中对PCI设备配置空间的访问可以从上游总线转发到下游总线,而数据传送可以双方向进行。

3、HOST处理器

PCI总线规定在同一时刻内,在一颗PCI总线树上有且只有一个HOST处理器。这个HOST处理器可以通过HOST主桥,发起PCI总线的配置请求总线事务,并对PCI总线上的设备和桥片进行配置。

在PCI总线中,HOST处理器是一个较为模糊的概念。在SMP(symmetric multiprocessing)处理器系统中,所有CPU都可以通过HOST主桥访问其下的PCI 总线树,这些CPU都可以作为HOST处理器。但是值得注意的是,HOST主桥才是PCI总线树的实际管理者,而不是HOST处理器。在HOST主桥中,设置了许多寄存器,HOST处理器通过操作这些寄存器管理这些PCI设备。

4、PCI总线的负载

PCI总线的所能挂接的负载与总线频率相关,其中总线频率越高,所能挂接的负载越少。下文以 PCI总线和PCI-X总线为例说明总线频率、峰值带宽和负载能力之间的关系,如表1所示。

总线类型总线频率峰值带宽负载能力PCI

33MHz 133MB/s 4-5个插槽

66MHz 266MB/s 1-2个插槽

PCI-X

66MHz 266MB/s 4个插槽133MHz 533MB/s 2个插槽266MHz 1066MB/s 1个插槽533MHz 2131MB/s 1个插槽表 1 PCI总线频率、带宽与负载之间的关系

如表所示,PCI总线频率越高,所能挂接的负载越少,但是整条总线所能提供的带宽越大。在PCI总线中,一个插槽相当于两个负载,接插件和插卡各算为一个负载,在表1中,33MHz的PCI总线可以挂接4-5个插槽,相当于直接挂接8-10个负载。

1.2.3 PCI的总线接口的含义

如图2所示,通过将PCI与LogiCore逻辑框图的连接,可以知道PCI各端口的含义。

PCI总线接口:

AD[31:0] 时分复用地址/数据信号,在帧信号有效的一个时钟AD[31:0]上的信号为地址信号。

C/BE[3:0] 命令/字节使能信号,在帧信号有效的第一个节拍,指示总线作业类型。

FRAMF由总线上设备驱动,指明传输的起始时间和终止时间,在该信号有效期间表示总线传输开始,当该信号无效时,传输的是最后一个数据节拍。

IRDY 由总线主设备驱动,读操作时表示总线传输开始,当该信号无效时,传输的最后一个数据节拍。

IRDY 由总线主设备驱动,读操作时表示已准备好接受数据,写操作时表示有效数据已经在数据上。

TRDY 由从设备驱动,读操作时从设备正在把有效数据放在数据总线上;写操作时表示从设备准备接受来自Host的数据。

DEBSEL 译码出的地址在该设备的地址范围内时,则该信号有效。

IDSEL 配置读、写期间由Host发出的片选信号。

STOP 从设备向Host表示停止目前信号的传送。

PAR 奇偶校验信号,它通过AD[31:0]和C/BE[3:0]进行奇偶校验。

PERR 该信号只报告数据奇偶校验错。

SERR 该信号只报靠地址奇偶校验错,或者特殊命令序列中的数据奇偶校验错。

INTR_A 表示PCI设备请求中断。

1.2.4 PCI控制功能的实现

PCI的控制功能通过控制器DMA来实现的,DMA由现行字节数寄存器、现行地址寄存器、基字节数寄存器、基地址寄存器、半满地址寄存器、全满地址寄存器、状态寄存器、读写缓冲器及控制寄存器和优先级编码器等组成。

1.DMA控制器的特点:

(1)现行地址寄存器、基字节数寄存器、基地址寄存器、半满地址寄存器、全满地址寄存器5个寄存器可由高层应用程序根据当前驱动程序分配的系统内存空间来灵活配置。当传送完规定的传送长度(字节数减到零时),结束当前DMA传送并自动重新对现行地址寄存器进行初始化,具有自动初始化能力。

(2)优先级编码器中的4个DMA请求源的优先级是固定的,不可以旋转。优先级按照从高到低依次为读缓冲器、STATUS_C(由状态寄存器C-D发出的)、写缓冲器、STATUS_D(由状态寄存器C-D发出的)。优先权编码器对4个DMA 请求源进行优先级编码,并向LogiCore发出DMA请求信号。

(3)DMA数据传送有单字节传送和数据块传送两种方式。数据块传送方式可由用户初始化基字节寄存器来灵活设置一次传送的数据块长度。DMA控制器向系统缓冲区发送状态寄存器C-D中的信息时采用单字节传送方式。而传送读缓冲器和写缓存器中的数据时采用数据块传送方式并可由用户设置一次传送数据的

长度。此时每传送一个数据,地址指针加1,字节数据1。

(4)DMA控制器中读缓冲器和写缓冲器都是2KB。

2.DMA控制器基本工作原理

首先由高层应用程序根据采集卡的低层驱动程序分配的系统内存地址对基地址寄存器、半满地址寄存器、全满地址寄存器、状态寄存器、读写缓冲器和控制寄存器进行初始化。然后启动系统,开始工作。当读缓冲器的数据量不到半满或写缓冲器中接收到的数据量已超过半满或状态寄存器C-D有状态信息向高层报告时,则向优先级编码器发出相应的请求信号。DMA优先级编码器根据DMA请求对象的操作类型向DMA控制寄存器发出相应的控制信号。当DMA控制器检索到对应的控制信息发生变化时,向LogiCore发出DMA请求,并用基字节寄存器和基地址寄存器分别初始化现行字节数寄存器和现行地址寄存器。当计算机系统允许DMA控制器占用PCI总线时,则DMA控制器接管PCI总线,并在地址周期向LogiCore发出DMA读写命令,同时输出当前要对系统缓冲区操作的起始地址。在随后的数据周期中,从数据总线ADIO上输出或接收数据,同时修改地址指针(DMA支持隐含寻址)和字节计数器值,DMA控制器检测传送是否结束。如未结束则不停循环传送。当检测到字节计数器即将为零时,则向LogiCore发出COMPLETE信号,COMPLETE信号持续到字节计数器为零时,DMA控制器释放掉对PCI总线的控制权,使CPU恢复正常工作状态。

在DMA控制器中,状态寄存器C-D有两个DMA请求源STATUS_C和STATUS_D。其中STATUS_C在地址比较器检测到读缓冲器读完对应系统缓冲区一半空间或全部读守对应系统缓冲区数据时,置相应的状态信息并向优先级编码器发出STATUS_C请求信号。而STATUS_D在地址比较器检测到写缓冲器写完对应系统缓冲区数据、置相应的状态信息并向优先级编码器发出STATUS_D的请求信号。1.2.5 基于PCI的A/D卡的工作原理

1、连接器介绍

信号连接器有通道信号,PCI总线接口,外触发,多卡扩展同步接口等4种,以下分别介绍。

通道信号接口:位于采集卡的尾部,信号用同轴电缆接入。一张采集卡最多只有4个通道,也可能少于4个通道,视用户的需求而定。

PCI总线接口:采集卡与上位PC机的数据和控制信号通信接口。其采用32位PCI总线。

外触发接口:用于接外触发信号用。

多卡扩展同步接口:用于多卡扩展。其传输的信号包括主卡的同步时钟源、触发以及状态信号。一般用16针带缆连接。

当启动采集后,A/D转换后的数据经锁存,然后保存于每通道独立的卡上存储器中。卡上存储器相当于环形缓冲,如果A/D转换的数据样点数超过了卡上存储器的最大容量,新数据会覆盖旧数据。这个过程是周而复始的,只有当触发条件满足后,门阵列开始计数,计数达到指定值(该值由采集长度决定)后,采集结束,卡上存储器保存了满足用户需要的采集数据。上位机通过PCI接口门阵列经由门阵列控制核心取得卡上存储器样点数据。

上过程每通道是独立进行的。每通道卡上存储器最多可存储8M样点,且此参数可由DIP开关设置。

二、设计方案简介

本实验通过应用MATLAB软件实现音乐信号的读取、拼接、保存与频谱分析。将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察变化规律,称为频谱分析。频谱分析主要分析信号是由哪些频率的正弦信号叠加得到的,以及这些正弦信号的振幅。

分析和处理音频信号,首先要对声音信号进行采集,MATLAB 的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。

本实验以WAV格式音频信号作为分析处理的输入数据,用MATLAB处理音频信号的基本流程是:先将WAV格式音频信号经wavread 函数转换成MATLAB列数组变量;再用MATLAB强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite转换成WAV格式文件或用sound函数直接回放。三、语音信号的采集

配置好数据采集设备的参数后,使用start命令便可启动声卡开始语音信号的采集。采集到的数据被暂时存放在PC机的内存里,理论上可采集的最大数据量是由PC机的内存容量决定的,这一点相对于一般的数据采集系统而言有较强的优势。MATLAB还可以记录采集过程中出现错误,如出错的时间、错误产生的来源以及数据采集设备的状态等信息都会被记录下来作为以后工作的参考。Matlab自带的数据采集工具箱里面,提供了专门用于语音采集的命令和函数。数据采集的硬件设备的内部特性对Matlab的接口完全是透明的,通过调用Matlab提供的语音采集函数和命令可以对其进行访问。而且,Matlab可以对其采集的数据进行实时的分析,也可在存储后再进行处理。

3.1 录音系统流程

数据采集:

数据采集程序要实现的任务就是用软件控制声卡采集输入的信号,并将其转换为数字信号(即我们常说的数据)提供给后续程序处理,它为后续程序提供了一个数据来源。在最后程序结束以后,将该音频文件保存为Wav文件存到计算机。

四、语音信号的分析

4.1 语音信号时域分析

MATLAB数据采集箱中提供的函数命令进行图像分析的函数命令:wavread :wavread 用于读取Microsoft 的扩展名为“.wav”的声音文件。其调用形式为:y = wavread (file) 。其作用是从字符串file 所指的文件路径读取wave 文件,将读取的采样数据送到y 中。Y的取值范围:[ -1 ,1 ] 。

sound:音频信号是以向量的形式表示声音采样的。sound 函数用于将向量转换为声音,其调用形式为:sound (y ,fs) ,作用是向扬声器送出向量y 中的音频信号(采样频率为fs) 。

将向量转换为声音,其调用形式为:sound (y ,fs) ,作用是向扬声器送出向量y 中的音频信号(采样频率为fs) 。

通过Wavread和plot(x)函数即可显示图像的时域波形。

4.2 语音信号频域分析

FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x 相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N;若x 为矩阵,按相同方法对x进行处理。

五、程序设计及仿真图

Matlab对原始语音信号进行分析,得出它的时域波形和频谱如图5.1、5.2

程序:

[ x,fs,Nbits] =wavread('053.wav') ;

t=0:1/fs:(length(x)-1)/fs;

sound(x,fs) ; %对加载的语音信号进行回放figure(1)

plot(x) %做原始语音信号的时域图形

title('原始语音信号');

xlabel('time n');

ylabel('fuzhi n');

n=length(x); %求出语音信号的长度

y1=fft(x,n) ; %傅里叶变换

y2=fftshift(y1);

f=0:fs/n:fs*(n-1)/n; %得出频点

figure(2)

subplot(2,1,1);

plot(abs(y2)) %做原始语音信号的FFT频谱图

title('原始语音信号FFT频谱')

subplot(2,1, 2);

plot(f,abs(y2)); %绘制原始语音信号title('原始语音信号频谱')

图5.1原始语音信号

图5.2原始语音信号频谱

六、语音信号的读取、拼接、保存与频谱分析

6.1 设计条件及主要参数表

频谱分析是为了我们能够知道一个混合信号中所有的分量信号的频率,从而我们可以得知信号的组成,一般我们用FFT 来分析信号的的频率分量特征分析与提取。

实验首先找到三个wav 格式的音频信号(02.wav ,03.wav ,04.wav ),通过wavread 函数转换成MATLAB 列数组变量。

其次,分别对三个wav 音频信号进行截取并分别进行频谱分析。

再次,将截取的三段音频信号进行拼接(uu=[m0(1:250000,:); m1(1:250000,:);m2(1:350000,:)])

最后,保存拼接后的音乐信号(如图04.wav ),并进行播放证实存储的正确性,同时对拼接后的信号进行频谱分析,并与原有信号的频谱作对比。得出实验结论。

利用FFT 进行频谱分析:

若信号本身是有限长的序列,计算序列的频谱就是直接对序列进行FFT 运算求得)(k X ,)(k X 就代表了序列在[]π2,0之间的频谱值。

幅度谱 )()()(22k X k X k X I R +=

相位谱 )

()(arctan )(k X k X k R I =? 若信号是模拟信号,用FFT 进行谱分析时,首先必须对信号进行采样,使之变成离散信号,然后就可按照前面的方法用FFT 来对连续信号进行谱分析。按采样定理,采样频率s f 应大于2倍信号的最高频率,为了满足采样定理,一般在采样之前要设置一个抗混叠低通滤波

器。用FFT 对模拟信号进行谱分析的方框图6.1如下所示。

图6.1 FFT 对模拟信号进行谱分析

应用到的主要函数:wavread 、wavwrite 、sound

6.2 设计主要参数计算 抗混叠低通滤波器 采样T=1/f s N 点FFT

语音的拼接:

语音信号与音乐信号的拼接主要由六部分构成:1、读取02.wav文件并分析;

2、读取03.wav文件并分析;

3、读取04.wav文件并分析

4、读取05.wav文件分析

5、将四个音频文件拼接分析后分析;

6、保存拼接后的音频。分析部分主要利用快速傅里叶变换,得到其频谱,同时,还要获取每一段音频的长度参数(程序里面m0、m1、m2、m3),得到长度参数后,利用矩阵拼接,将四个音频拼接起来,再对齐分析。拼接的时候,应该注意到,m0,m1,m2和m3都是两行数据,应该同时将两行拼接,同时,拼接长度参数应该等于m0、m1、m2、m3和的长度。保存则用wavwrite函数保存。

程序:

clear all;

clc;

[m0,fs0,bits0]=wavread('02.wav'); %读取音乐信号

len0=size(m0,1);

f0=fs0*(0:(len0-1))/len0;%(得出频点)

figure(1);

plot(m0); %原始音乐信号的波形图

title('原始音乐信号的波形图0');

figure(2);

y0=fft(m0,len0);

plot(f0,abs(y0)); %原始音乐信号的频谱图

title('原始音乐信号的频谱图0');

sound(m0,fs0,bits0);

disp('按任意键读取下一段音频');

pause

[m1,fs1,bits1]=wavread('03.wav');

len1=size(m1,1);

f1=fs1*(0:(len1-1))/len1;

figure(3);

plot(m1); %原始音乐信号的波形图

figure(4);

y1=fft(m1,len1);

plot(f1,abs(y1)); %原始音乐信号的频谱图title('原始音乐信号的频谱图1');

sound(m1,fs1,bits1);

disp('按任意键进行拼接');

pause

[m2,fs2,bits2]=wavread('04.wav');

len2=size(m2,1);

f2=fs1*(0:(len2-1))/len2;

figure(5);

plot(m2); %原始音乐信号的波形图

title('原始音乐信号的波形图2');

figure(6);

y2=fft(m2,len2);

plot(f2,abs(y2)); %原始音乐信号的频谱图title('原始音乐信号的频谱图2');

sound(m2,fs2,bits2);

pause

[m3,fs3,bits3]=wavread('05.wav');

len3=size(m3,1);

f3=fs1*(0:(len3-1))/len3;

figure(7);

plot(m3); %原始音乐信号的波形图

title('原始音乐信号的波形图');

figure(8);

y3=fft(m3,len3);

plot(f3,abs(y3)); %原始音乐信号的频谱图

sound(m3,fs3,bits3);

pause

[m4,fs4,bits4]=wavread('06.wav');

len4=size(m4,1);

f4=fs1*(0:(len4-1))/len1;

figure(9);

plot(m4); %原始音乐信号的波形图

title('软件拼接音乐信号的波形图');

figure(10);

y4=fft(m4,len4);

plot(f4,abs(y4)); %原始音乐信号的频谱图

title('软件拼接音乐信号的频谱图');

sound(m4,fs4,bits4);

pause

uu=[m0(1:250000,:); m1(1:250000,:);m2(1:350000,:);m3(1:300000,:)];

len2=size(uu,1);

f2=fs0*(0:(len2-1))/len2;

figure(11);

plot(uu); %拼接后音乐信号的波形图

title('Matlab拼接后音乐信号的波形图');

figure(12);

y2=fft(uu,len2);

plot(f2,abs(y2)); %拼接后音乐信号的频谱图

title('Matlab拼接后音乐信号的频谱图');

sound(uu,fs0,bits0);

disp('按任意键进行拼接');

pause

数字信号处理课程设计报告

抽样定理的应用 摘要 抽样定理表示为若频带宽度有限的,要从抽样信号中无失真地恢复原信号,抽样频率应大于2倍信号最高频率。抽样频率小于2倍频谱最高频率时,信号的频谱有混叠。抽样频率大于2倍频谱最高频率时,信号的频谱无混叠。 语音信号处理是研究用数字信号处理技术和语音学知识对语音 信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用 软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。这为我们的本次设计提供了强大并良好的环境! 本设计要求通过利用matlab对模拟信号和语音信号进行抽样,通过傅里叶变换转换到频域,观察波形并进行分析。 关键词:抽样Matlab

目录 一、设计目的: (2) 二、设计原理: (2) 1、抽样定理 (2) 2、MATLAB简介 (2) 3、语音信号 (3) 4、Stem函数绘图 (3) 三、设计内容: (4) 1、已知g1(t)=cos(6πt),g2(t)=cos(14πt),g3(t)=cos(26πt),以抽样频率 fsam=10Hz对上述三个信号进行抽样。在同一张图上画出g1(t),g2(t),g3(t)及其抽样点,对所得结果进行讨论。 (4) 2、选取三段不同的语音信号,并选取适合的同一抽样频率对其进 行抽样,画出抽样前后的图形,并进行比较,播放抽样前后的语音。 (6) 3、选取合适的点数,对抽样后的三段语音信号分别做DFT,画图 并比较。 (10) 四、总结 (12) 五、参考文献 (13)

基于单片机音频信号分析仪设计

2007年A题音频信号分析仪 本系统基于Altera Cyclone II 系列FPGA嵌入高性能的嵌入式IP核(Nios)处理器软核,代替传统DSP芯片或高性能单片机,实现了基于FFT的音频信号分析。 音频信号分析仪 山东大学王鹏陈长林秦亦安 摘要:本系统基于Altera Cyclone II 系列FPGA嵌入高性能的嵌入式IP核(Nios)处理器软核,代替传统DSP芯片或高性能单片机,实现了基于FFT的音频信号分析。并在频域对信号的总功率,各频率分量功率,信号周期性以及失真度进行了计算。并在FPGA中嵌入了8阶IIR切比雪夫(Chebyshev)II型数字低通滤波器,代替传统有源模拟滤波器实现了性能优异的音频滤波。配合12位A/D转换芯片AD1674,和前端自动增益放大电路,使在50mV到5V的测量范围下,单一频率功率及总功率测量误差均控制在1%以内。 关键词:FPGA;IP核;FFT;IIR;可控增益放大 Abstract: This system is based on IP core(Nios)soft-core processors embedded in the FPGA of Altera Cyclone II family. Instead of using DSP or microcontroller, we use Nios II to perform a low-cost FFT-based analysis of the audio signal.And we caculated the power of the whole signal,the power of each frequence point that componented the signal.By the way,we anlysised its periodicity and distortion.We also embedded an 8-order Chebyshev II IIR digital low-pass filter to replace the traditional analog Active Filter to perform an excellent audio filter. With 12bit A / D converter chip AD1674, and the front-end automatic gain amplifier, this system’s single-frequency power and total power measurement error is below 1% in 50mV to 5V measurement range. Keyword: FPGA;IP core; FFT;IIR; automatic gain amplifier 一、方案选择与论证 1、整体方案选择 音频分析仪可分为模拟式与数字式两大类。 方案一:以模拟滤波器为基础的模拟式频谱分析仪。有并行滤波法、扫描滤波法、小外差法等。因为受到模拟滤波器滤性能的限制,此种方法对我们来说实现起来非常困难。 方案二:以FFT为基础的的数字式频谱分析仪。通过信号的频谱图可以很方便的得到输入信号的各种信息,如功率谱、频率分量以及周期性等。外围电路少,实现方便,精度高。 所以我们选用方案二作为本音频分析仪的实现方式。

信号与系统课程设计报告材料

课程设计报告 课程名称信号与系统课程设计指导教师 设计起止日期 学院信息与通信工程 专业电子信息工程 学生 班级/学号 成绩 指导老师签字

目录 1、课程设计目的 (1) 2、课程设计要求 (1) 3、课程设计任务 (1) 4、课程设计容 (1) 5、总结 (11) 参考文献 (12) 附录 (12)

1、课程设计目的 “信号与系统”是一门重要的专业基础课,MATLAB作为信号处理强有力的计算和分析工具是电子信息工程技术人员常用的重要工具之一。本课程设计基于MATLAB完成信号与系统综合设计实验,以提高学生的综合应用知识能力为目标,是“信号与系统”课程在实践教学环节上的必要补充。通过课设综合设计实验,激发学生理论课程学习兴趣,提高分析问题和解决问题的能力。 2、课程设计要求 (1)运用MATLAB编程得到简单信号、简单信号运算、复杂信号的频域响应图; (2)通过对线性时不变系统的输入、输出信号的时域和频域的分析,了解线性时不变系统的特性,同时加深对信号频谱的理解。 3、课程设计任务 (1)根据设计题目的要求,熟悉相关容的理论基础,理清程序设计的措施和步骤; (2)根据设计题目的要求,提出各目标的实施思路、方法和步骤; (3)根据相关步骤完成MATLAB程序设计,所编程序应能完整实现设计题目的要求; (4)调试程序,分析相关理论; (5)编写设计报告。 4、课程设计容 (一)基本部分 (1)信号的时频分析 任意给定单频周期信号的振幅、频率和初相,要求准确计算出其幅度谱,并准确画出时域和频域波形,正确显示时间和频率。 设计思路: 首先给出横坐标,即时间,根据设定的信号的振幅、频率和初相,写出时域波形的表达式;然后对时域波形信号进行傅里叶变化,得到频域波形;最后使用plot函数绘制各个响应图。 源程序: clc; clear; close all; Fs =128; % 采样频率 T = 1/Fs; % 采样周期 N = 600; % 采样点数 t = (0:N-1)*T; % 时间,单位:S x=2*cos(5*2*pi*t);

信号处理实验七音频频谱分析仪设计与实现

哈尔滨工程大学 实验报告 实验名称:离散时间滤波器设计 班级:电子信息工程4班 学号: 姓名: 实验时间:2016年10月31日18:30 成绩:________________________________ 指导教师:栾晓明 实验室名称:数字信号处理实验室哈尔滨工程大学实验室与资产管理处制

实验七音频频谱分析仪设计与实现 一、 实验原理 MATLAB 是一个数据分析和处理功能十分强大的工程实用软件,其数据采集工具箱为实现数据的输入和输出提供了十分方便的函数命令。本实验要求基于声卡和MTLAB 实现音频信号频谱分析仪的设计原理与实现,功能包括: (1)音频信号输入,从声卡输入、从WAV 文件输入、从标准信号发生器输入; (2)信号波形分析,包括幅值、频率、周期、相位的估计、以及统计量峰值、均值、均方值和方差的计算。 (3)信号频谱分析,频率、周期的统计,同行显示幅值谱、相位谱、实频谱、虚频谱和功率谱的曲线。 1、频率(周期)检测 对周期信号来说,可以用时域波形分析来确定信号的周期,也就是计算相邻的两个信号波峰的时间差、或过零点的时间差。这里采用过零点(ti)的时间差T(周期)。频率即为f = 1/T ,由于能够求得多个T 值(ti 有多个),故采用它们的平均值作为周期的估计值。 2、幅值检测 在一个周期内,求出信号最大值ymax 与最小值ymin 的差的一半,即A = (ymax - ymin)/2,同样,也会求出多个A 值,但第1个A 值对应的ymax 和ymin 不是在一个周期内搜索得到的,故以除第1个以外的A 值的平均作为幅值的估计值。 3、相位检测 采用过零法,即通过判断与同频零相位信号过零点时刻,计算其时间差,然后换成相应的相位差。φ=2π(1-ti/T),{x}表示x 的小数部分,同样,以φ的平均值作为相位的估计值。 频率、幅值和相位估计的流程如图1所示。 4、数字信号统计量估计 (1) 峰值P 的估计 在样本数据x 中找出最大值与最小值,其差值为双峰值,双峰值的一半即为峰值。 P=0.5[max(yi)-min(yi)] (2)均值估计 i N i y N y E ∑== 1 )( 式中,N 为样本容量,下同。 (3) 均方值估计 () 20 2 1 ∑== N i i y N y E (4) 方差估计 ∑=-=N i i Y E y N y D 0 2))((1)(

应用Matlab对含噪声语音信号进行频谱分析及滤波

应用Matlab对含噪声的语音信号进行频谱分析及滤波 一、实验内容 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。 二、实现步骤 1.语音信号的采集 利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,(可用默认的采样频率或者自己设定采样频率)。 2.语音信号的频谱分析 要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。 在采集得到的语音信号中加入正弦噪声信号,然后对加入噪声信号后的语音号进行快速傅里叶变换,得到信号的频谱特性。并利用sound试听前后语音信号的不同。

分别设计IIR和FIR滤波器,对加入噪声信号的语音信号进行去噪,画出并分析去噪后的语音信号的频谱,并进行前后试听对比。 3.数字滤波器设计 给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz(可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。

报告内容 一、实验原理 含噪声语音信号通过低通滤波器,高频的噪声信号会被过滤掉,得到清晰的无噪声语音信号。 二、实验内容 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz (可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。 三、实验程序 1、原始信号采集和分析 clc;clear;close all; fs=10000; %语音信号采样频率为10000 x1=wavread('C:\Users\acer\Desktop\voice.wav'); %读取语音信号的数据,赋给x1 sound(x1,40000); %播放语音信号 y1=fft(x1,10240); %对信号做1024点FFT变换 f=fs*(0:1999)/1024; figure(1); plot(x1) %做原始语音信号的时域图形 title('原始语音信号'); xlabel('time n'); ylabel('fuzhi n'); figure(2); plot(f,abs(y1(1:2000))); %做原始语音信号的频谱图形 title('原始语音信号频谱') xlabel('Hz'); ylabel('fuzhi');

数字信号处理课设+语音信号的数字滤波

语音信号的数字滤波 ——利用双线性变换法实现IIR数字滤波器的设计一.课程设计的目的 通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。 二.设计方案论证 1.IIR数字滤波器设计方法 IIR数字滤波器是一种离散时间系统,其系统函数为 假设M≤N,当M>N时,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和,它 是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。 2.用双线性变换法设计IIR数字滤波器 脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=e sT转换 平面的-π/T~π到Z平面上。也就是说,第一步先将整个S平面压缩映射到S 1 /T一条横带里;第二步再通过标准变换关系z=e s1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1所示。 图1双线性变换的映射关系 为了将S平面的整个虚轴jΩ压缩到S1平面jΩ1轴上的-π/T到π/T段上,可以通过以下的正切变换实现

数字信号处理课程设计报告

《数字信号处理》课程设计报告 设计题目: IIR滤波器的设计 专业: 班级: 姓名: 学号: 指导教师: 2010年月日

1、设计目的 1、掌握IIR 滤波器的参数选择及设计方法; 2、掌握IIR 滤波器的应用方法及应用效果; 3、提高Matlab 下的程序设计能力及综合应用能力。 4、了解语音信号的特点。 2、设计任务 1、学习并掌握课程设计实验平台的使用,了解实验平台的程序设计方法; 2、录制并观察一段语音信号的波形及频谱,确定滤波器的技术指标; 3、根据指标设计一个IIR 滤波器,得到该滤波器的系统响应和差分方程,并根据差分方程将所设计的滤波器应用于实验平台,编写相关的Matlab 程序; 4、使用实验平台处理语音信号,记录结果并进行分析。 3、设计内容 3.1设计步骤 1、学习使用实验平台,参见附录1。 2、使用录音机录制一段语音,保存为wav 格式,录音参数为:采样频率8000Hz、16bit、单声道、PCM 编码,如图1 所示。 图1 录音格式设置 在实验平台上打开此录音文件,观察并记录其波形及频谱(可以选择一段较为稳定的语音波形进行记录)。 3、根据信号的频谱确定滤波器的参数:通带截止频率Fp、通带衰减Rp、阻带截止频率Fs、阻带衰减Rs。 4、根据技术指标使用matlab 设计IIR 滤波器,得到系统函数及差分方程,并记录得到系统函数及差分方程,并记录其幅频响应图形和相频响应图形。要求设计 第 1页出的滤波器的阶数小于7,如果不能达到要求,需要调整技术指标。 5、记录滤波器的幅频响应和系统函数。在matlab 中,系统函数的表示公式为:

因此,必须记录系数向量a 和b。系数向量a 和b 的可以在Matlab 的工作空间(WorkSpace)中查看。 6、根据滤波器的系统函数推导出滤波器的差分方程。 7、将设计的滤波器应用到实验平台上。根据设计的滤波器的差分方程在实验平台下编写信号处理程序。根据运行结果记录处理前后的幅频响应的变化情况,并试听处理前后声音的变化,将结果记录,写入设计报告。 3.2实验程序 (1)Rs=40; Fs=1400; Rp=0.7; Fp=450; fs=8000; Wp=2*pi*Fp;Ws=2*pi*Fs; [N,Wn]=buttord(Wp,Ws,Rp,Rs,'s'); [b1,a1]=butter(N,Wn,'s'); [b,a]=bilinear(b1,a1,fs); [H,W]=freqz(b,a); figure; subplot(2,1,1);plot(W*fs/(2*pi),abs(H));grid on;title('频率响应'); xlabel('频率');ylabel('幅值');、 subplot(2,1,2); plot(W,angle(H));grid on;title('频率响应'); xlabel('相位(rad)');ylabel('相频特性'); 3.3实验结果(如图): N =5 Wn=6.2987e+003 第 2页

matlab频谱分析仪

频谱分析仪 摘要频谱分析仪是研究电信号频谱结构的仪器,用于信号失真度、调制度、谱纯度、频率稳定度和交调失真等信号参数的测量,是一种多用途的电子测量仪器。随着软硬件技术的发展,仪器的智能化与虚拟化已成为未来实验室及研究机构的发展方向。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。本文介绍了一种使用GUI工具箱用matlab实现的简易虚拟频谱分析仪的设计方法。 关键词matlab,频谱分析仪,时域分析,频域分析

目录 1概述 (3) 2技术路线 (4) 3实现方法 (5) 3.1搭建GUI界面 (5) 3.2信号输入 (6) 3.2.1选择信号输入 (6) 3.2.2声卡输入 (7) 3.2.3读取wav文件 (7) 3.2.4信号发生器输入 (7) 3.3时域分析 (8) 3.4频域分析 (9) 3.5仿真 (10) 3.5.1声卡输入 (10) 3.5.2读取wav文件 (10) 3.5.3信号发生器 (11) 4存在的问题 (15) 5致谢...................................................................................................... 错误!未定义书签。参考文献 (15)

1概述 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件。可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。MATLAB自带了强大的GUl工具[1]。在本文中,将利用MATLAB的GUI工具,设计出数字频谱分析仪。 频谱分析仪是研究电信号频谱结构的仪器,用于信号失真度、调制度、谱纯度、频率稳定度和交调失真等信号参数的测量,可用以测量放大器和滤波器等电路系统的某些参数,是一种多用途的电子测量仪器。它又可称为频域示波器、跟踪示波器、分析示波器、谐波分析器、频率特性分析仪或傅里叶分析仪等。现代频谱分析仪能以模拟方式或数字方式显示分析结果,能分析1赫兹以下的甚低频到亚毫米波段的全部无线电频段的电信号[2]。目前已经有许多较成熟的频谱分析软件,如SpectraLAB、RSAVu、dBFA等[3]。本文将给出的则是通过MATLAB软件实现的基于FFT的数字频谱分析仪。 FFT(Fast Fourier Transformation),即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步[4]。 通过此次设计,能进一步掌握MATLAB软件开发过程的基本理论、基本知识和基本技能,熟悉基于MATLAB平台的若干信号处理系统开发及调试方法,且成本低,易于实现,容易修改,并可以进行仿真。该设计的进行可以为我们以后的学习工作奠定一定的基础。

应用matlab对语音信号进行频谱分析及滤波.

数字信号处理 —综合实验报告 综合实验名称:应用MatLab对语音信号进行 频谱分析及滤波 系: 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间学年学期

目录 一.综合实验题目 (1) 二、综合实验目的和意义 (1) 2.1 综合实验目的 (1) 2.2 综合实验的意义 (1) 三.综合实验的主要内容和要求 (1) 3.2 综合实验的要求: (2) 四.实验的原理 (2) 4.1 数字滤波器的概念 (2) 4.2 数字滤波器的分类 (2) (1)根据单位冲激响应h(n)的时间特性分类 (2) 五.实验的步骤 (3) 下面对各步骤加以具体说明。 5.1语音信号的采集 (3) 5.2 语音信号的频谱分析; (3) 5.3 设计数字滤波器和画出其频率响应 (5) 5.3.1设计数字滤波器的性能指标: (5) 5.3.2 用Matlab设计数字滤波器 (6) 5.6 设计系统界面 (19) 六、心得体会 (20) 参考文献: (21)

一.综合实验题目 应用MatLab对语音信号进行频谱分析及滤波 二、综合实验目的和意义 2.1 综合实验目的 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,再者,加强学生对Matlab软件在信号分析和处理的运用 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.2 综合实验的意义 语言是我们人类所特有的功能,它是传承和记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。 语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展;它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。 三.综合实验的主要内容和要求 3.1综合实验的主要内容: 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;综合实验应完成的工作: (1)语音信号的采集; (2)语音信号的频谱分析;

数字信号处理课设共18页文档

数字信号处理课程设计 姓名:刘倩 学号:201014407 专业:信息与计算科学 实验一:常见离散信号产生和实现 一、实验目的: 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验原理: 1.单位抽样序列 在MATLAB 中可以利用zeros()函数实现。 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: 2.单位阶越序列 在MATLAB 中可以利用ones()函数实现。 3.正弦序列 在MATLAB 中 4.复指数序列 在MATLAB 中 5.指数序列 在MATLAB 中

实验内容:由周期为10的正弦函数生成周期为20的余弦函数。 实验代码: n=0:30; y=sin(0.2*pi*n+pi/2); y1=sin(0.1*pi*n+pi/2); subplot(121) stem(n,y); xlabel ('时间序列n');ylabel('振幅');title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); subplot(122) stem(n,y1); xlabel ('时间序列n');ylabel('振幅'); title('正弦函数序列y=sin(0.2*pi*n+pi/2)'); 实验结果: 实验二:离散系统的时域分析 实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。实验原理:离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号, 记系统单位冲激响应 则系统响应为如下的卷积计算式:

当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实验内容:用MATLAB 计算全解 当n>=0时,求用系数差分方程y[n]+y[n-1]-6y[n-2]=x[n]描述的一个离散时间系统对阶跃输入x[n]=8μ[n]的全解。 实验代码: n=0:7; >> [y,sf]=filter(1,[1 1 -6],8*ones(1,8),[-7 6]); >> y1(n+1)=-1.8*(-3).^n+4.8*(2).^n-2; >> subplot(121) >> stem(n,y); >> title('由fliter 函数计算结果'); >> subplot(122) >> stem(n,y1); >> title('准确结果'); 实验结果: 结果分析:有图可得由fliter 函数得出的结果与计算出的准确结果完全一致。 实验三FFT 算法的应用

Adobe-Audition-系列教程(二):频谱分析仪

Adobe Audition系列教程(二):频谱分析仪 频谱分析仪是研究信号频谱特征的仪器,在电子技术一日千里的今天,是研究、开发、调试维修中的有力武器。现代频谱分析仪都趋向于智能化,虚拟仪器技术广泛应用,有些就是以专用的计算机系统为核心设计的。其结果是结构大大简化、性能飞速提高。当然专业的频谱分析仪就比示波器更加昂贵了,业余爱好者更难用上。不过不必灰心,我们可以充分利用AdobeAudition的频谱分析功能,让你拥有精确频谱分析仪的美梦成真!? 1. 频谱显示模式? Adobe Audition本身有一种“频谱显示”模式。先打开一段波形,或用《妙用Adobe Audition:数字存储示波器》一文介绍的方法录制一段波形,即可进行频谱分析。这里我们新建一段20秒的对数扫频信号(本文大多选用直接建立的波形,以便了解信号原始波形的标准频谱特征),然后选择“View=>Spectral View”(视图=>频谱),如图1,或点击快捷工具栏的“Toggle between Spectral and Waveform views”(切换频谱视图/波形视图)按扭,即可将波形以频谱显示的方式显示出来,如图2。扫频的频谱显示见图3。 图1

图2 图3 可以看到,横轴为时间,纵轴为频率指示。每个时刻对应的波形频谱都被显示出来了,可以看到扫描速度是指数增加的,即将频率轴取对数时扫描速度是线性的。如图中光标处18秒处频谱指示约11KHz。实际上频谱指示的颜色是代表频谱能量的高低的,颜色从深蓝到红再到黄,指示谱线电平由低到高的变化。这实际上跟地图的地形鸟瞰显示是比较相似的,看图4频谱复杂变化的声音频谱就更容易理解这点了。 图4

信号分析课程设计报告书

信号分析课程设计 信号系统的时域分析 编程实现的卷积积分或卷积和 一、课程设计题目: 基于 MATLAB 的连续时间LTI 系统的时域分析 二、基本要求: ① 掌握连续时不变信号处理的基本概念、基本理论和基本方法; ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; ③ 学会用 MATLAB 对信号进行分析和处理; ④ 编程实现卷积积分或卷积和,零输入响应,零状态响应; ⑤ 撰写课程设计论文,用信号处理基本理论分析结果。 三、设计方法与步骤: 一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法. 1.连续时间系统的零输入响应 描述n 阶线性时不变(LTI )连续系统的微分方程为: 已知y 及各阶导数的初始值为y(0),y (1)(0),… y (n-1)(0), 求系统的零输入响应。 建模 当LIT 系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根) 其中p 1,p 2,…,p n 是特征方程a 1λ n +a 2λn-1+…+a n λ+a n =0的根,它们可以 用root(a)语句求得。各系数 由y 及其各阶导数的初始值来确定。对此有 1121111n n m n n m m n n m d y d y dy d u du a a a a y b b b u dt dt dt dt dt -++-++?????++=+????++1212()n p t p t p t n y t C e C e C e =++????+120n C C C y ++????+=11220 n n p C p C p C Dy ++????+=

音频信号的谱分析及去噪

课程设计任务书 课程设计学生日志

课程设计考勤表 课程设计评语表

音频信号的谱分析及去噪 一、研究背景:……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 二、设计方案…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

三、设计目的和意义 通过MATLAB编程,用FFT函数绘制出音频信号的频谱。用噪音去干扰音频信号,画出干扰后信号的频谱。这样观察对比,便可分析出噪声对音频信号的干扰。主要目的是通过设计FIR 数字滤波器滤除噪音信号,体会滤波器可提取有用信号消除干扰的作用。去噪,可以减少或消除信号传输过程中的干扰,从而达到有效传输。…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 四、设计原理 1、FFT原理:运用快速傅里叶变换得信号的频谱,快速傅里叶变换是可以用计

算机编程实现的一种快速求得信号频谱的方法。在MATLAB 编程中可以直接调用FFT 函数。 2、FIR 数字滤波器的设计步骤: 1)将给定的数字滤波器性能指标转化成相应的模拟滤波器性能指标。 2)将模拟滤波器的性能指标变换成模拟低通滤波器的性能指标。 3)用所得的模拟低通滤波器的性能指标,利用某种模拟滤波器逼近方法,设计得出该滤波器。 低通滤波器的频率响应: 设计滤波器时主要考虑四个指标:通带截止频率、阻带起始频率、通带衰减、阻带衰减。 五、 详细设计步骤 1. 用Windows 附件中的录音机录制了一段歌曲,并且由MATLAB 中的FFT 函数绘制出它的频谱图和时域波形。 N=1024;%采样点数 fs=20000; %语音信号采样频率为20000 [x0,fs,NBTS]=wavread('d:\输入噪声\ly.wav'); % ly 为原始语音信号 [m0,n0]=size(x0); x0=wavread('d:\ 输 入 噪 声 \ly.wav'); %读取音频信号 sound(x0,fs); %播放音频信号 figure(1) 阻带 过渡带 通带

数字信号处理课程规划报告

数字信号处理课程设计报告《应用Matlab对信号进行频谱分析及滤波》 专业: 班级: 姓名: 指导老师: 二0 0五年一月一日

目录 设计过程步骤() 2.1 语音信号的采集() 2.2 语音信号的频谱分析() 2.3 设计数字滤波器和画出其频谱响应() 2.4 用滤波器对信号进行滤波() 2.5滤波器分析后的语音信号的波形及频谱() ●心得和经验()

设计过程步骤 2.1 语音信号的采集 我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。其程序如下: [x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]); sound(x,fs,bite); 2.2 语音信号的频谱分析 首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。 其程序如下: n=1024; subplot(2,1,1); y=plot(x(50:n/4)); grid on ; title('时域信号') X=fft(x,256); subplot(2,1,2); plot(abs(fft(X))); grid on ; title('频域信号'); 运行程序得到的图形:

Adobe-Audition-系列教程(二):频谱分析仪

AdobeAudition系列教程(二):频谱分析仪 频谱分析仪是研究信号频谱特征的仪器,在电子技术一日千里的今天,是研究、开发、调试维修中的有力武器。现代频谱分析仪都趋向于智能化,虚拟仪器技术广泛应用,有些就是以专用的计算机系统为核心设计的。其结果是结构大大简化、性能飞速提高。当然专业的频谱分析仪就比示波器更加昂贵了,业余爱好者更难用上。不过不必灰心,我们可以充分利用AdobeAudition的频谱分析功能,让你拥有精确频谱分析仪的美梦成真! 1. 频谱显示模式 AdobeAudition本身有一种“频谱显示”模式。先打开一段波形,或用《妙用Adobe Audition:数字存储示波器》一文介绍的方法录制一段波形,即可进行频谱分析。这里我们新建一段20秒的对数扫频信号(本文大多选用直接建立的波形,以便了解信号原始波形的标准频谱特征),然后选择“View=>Spe ctral View”(视图=>频谱),如图1,或点击快捷工具栏的“Toggle between Spectral and Waveform views”(切换频谱视图/波形视图)按扭,即可将波形以频谱显示的方式显示出来,如图2。扫频的频谱显示见图3。 图1

图2 图3 可以看到,横轴为时间,纵轴为频率指示。每个时刻对应的波形频谱都被显示出来了,可以看到扫描速度是指数增加的,即将频率轴取对数时扫描速度是线性的。如图中光标处18秒处频谱指示约11KHz。实际上频谱指示的颜色是代表频谱能量的高低的,颜色从深蓝到红再到黄,指示谱线电平由低到高的变化。这实际上跟地图的地形鸟瞰显示是比较相似的,看图4频谱复杂变化的声音频谱就更容易理解这点了。

matlab声音信号频谱分析的课程设计

原语音信号 [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Y=fft(y,n); >> subplot(2,1,1);plot(y); >> subplot(2,1,2);plot(abs(Y));

加噪声 >> [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Noise=0.2*randn(n,2); >> s=y+Noise; >> sound(s) >> subplot(2,1,1); >> plot(s) >> S=fft(s); >> subplot(2,1,2); >> plot(abs(S)) >> title('加噪语音信号的频谱波形')

FIR 低通滤波器 fp=1000;fc=1200;As=100;Ap=1;fs=30000; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1; >> beta=0.1102*(As-8.7); >> Win=Kaiser(N+1,beta); b=fir1(N,wc,Win); >> freqz(b,1,512,fs); >> s_low=filter(b,1,s); >> plot(s_low);title('信号经过低通滤波器的时域图') >> S_low=fft(s_low,n); >> plot(abs(S_low));title('信号经过低通滤波的频谱') >> sound(s_low,fs,bits)

数字信号处理课程设计

数字信号处理 课 程 设 计 院系:电子信息与电气工程学院 专业:电子信息工程专业 班级:电信班 姓名: 学号: 组员:

摘要 滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。 关键词数字滤波器 MATLAB 窗函数法巴特沃斯

目录 摘要 (1) 1 引言 (1) 1.1课程设计目的 (1) 1.2 课程设计内容及要求 (1) 1.3课程设计设备及平台 (1) 1.3.1 数字滤波器的简介及发展 (1) 1.3.2 MATLAB软件简介 (2) 2 课程设计原理及流程 (4) 3.课程设计原理过程 (4) 3.1 语音信号的采集 (4) 3.2 语音信号的时频分析 (5) 3.3合成后语音加噪声处理 (7) 3.3.1 噪声信号的时频分析 (7) 3.3.2 混合信号的时频分析 (8) 3.4滤波器设计及消噪处理 (10) 3.4.1 设计IIR和FIR数字滤波器 (10) 3.4.2 合成后语音信号的消噪处理 (13) 3.4.3 比较滤波前后语音信号的波形及频谱 (13) 3.4.4回放语音信号 (15) 3.5结果分析 (15) 4 结束语 (15) 5 参考文献 (16)

音频频谱分析仪设计

信号处理实验 实验八:音频频谱分析仪设计与实现

一、实验名称:音频频谱分析仪设计与实现 二、实验原理: MATLAB是一个数据信息和处理功能十分强大的工程实用软件,其数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令。本实验可以用MATLAB进行音频信号频谱分析仪的设计与实现。 1、信号频率、幅值和相位估计 (1)频率(周期)检测 对周期信号来说,可以用时域波形分析来确定信号的周期,也就是计算相邻的两个信号波峰的时间差、或过零点的时间差。这里采用过零点(ti)的时间差T(周期)。频率即为f = 1/T,由于能够求得多个T值(ti有多个),故采用它们的平均值作为周期的估计值。 (2)幅值检测 在一个周期内,求出信号最大值ymax与最小值ymin的差的一半,即A = (ymax - ymin)/2,同样,也会求出多个A值,但第1个A值对应的ymax和ymin不是在一个周期内搜索得到的,故以除第1个以外的A值的平均作为幅值的估计值。 (3)相位检测 采用过零法,即通过判断与同频零相位信号过零点时刻,计算其时间差,然后换成相应的相位差。φ=2π(1-ti/T),{x}表示x的小数部分,同样,以φ的平均值作为相位的估计值。 频率、幅值和相位估计的流程如图所示。

其中tin表示第n个过零点,yi为第i个采样点的值,Fs为采样频率。 2、数字信号统计量估计 (1) 峰值P的估计 在样本数据x中找出最大值与最小值,其差值为双峰值,双峰值的一半即为峰值。P=0.5[max(yi)-min(yi)] (2)均值估计 式中,N为样本容量,下同。 (3) 均方值估计

频谱分析

标题:基于MATLAB的声音信号频谱分析仪设计 2009-05-17 13:49:14 基于MATLAB的声音信号频谱分析仪设计 1.概述 随着软硬件技术的发展,仪器的智能化与虚拟化已成为未来实验室及研究机构的发展方向[1]。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛。基于计算机软硬件平台的虚拟仪器可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等[2]。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器,由于计算机性能的飞速发展,已把传统仪器远远抛到后面,并给虚拟仪器生产厂家不断带来连锅端的技术更新速率。目前已经有许多较成熟的频谱分析软件,如S pectraLAB、RSAVu、dBFA等。 声卡是多媒体计算机最基本的配置硬件之一,价格便宜,使用方便。MATLAB是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令[3]。本文将给出基于声卡与MATLAB的声音信号频谱分析仪的设计原理与实现方法,功能包括: (1) 音频信号信号输入,从声卡输入、从WAV文件输入、从标准信号发生器输入; (2) 信号波形分析,包括幅值、频率、周期、相位的估计,以及统计量峰值、均值、均方值和方差的计算; (3) 信号频谱分析,频率、周期的估计,图形显示幅值谱、相位谱、实频谱、虚频谱和功率谱的曲线。 2.设计原理2.1波形分析原理2.1.1 信号频率、幅值和相位估计 (1)频率(周期)检测 对周期信号来说,可以用时域波形分析来确定信号的周期,也就是计算相邻的两个信号波峰的时间差、或过零点的时间差。这里采用过零点(ti)的时间差T(周期)。频率即为f = 1/T,由于能够求得多个T值(ti有多个),故采用它们的平均值作为周期的估计值。 (2)幅值检测 在一个周期内,求出信号最大值y max与最小值y min的差的一半,即A = (y max- y min)/2,同样,也会求出多个A值,但第1个A值对应的y max和y min不是在一个周期内搜索得到的,故以除第1个以外的A值的平均作为幅值的估计值。 (3)相位检测 采用过零法,即通过判断与同频零相位信号过零点时刻,计算其时间差,然后换成相应的相位差。φ=2π(1-t i/T),{x}表示x的小数部分,同样,以φ的平均值作为相位的估计值。 频率、幅值和相位估计的流程如图1所示。

相关文档
最新文档