DSP报告

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要

用MATLAB对语音信号进行分析与处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测和参数估计等处理。IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR滤波器的低的多。信号处理中和频谱分析最为密切的理论基础是傅立叶变换(FT)。离散傅立叶变换(DFT)和数字滤波是数字信号处理的最基本内容。

关键词:MATLAB;语音信号;加入噪声;滤波器;滤波

目录

摘要 (1)

一、设计目的: (3)

二、设计原理 (4)

2.1采样位数和采样频率 (4)

2.2时域信号FFT分析 (4)

2.3数字滤波器设计原理 (5)

三、设计方法 (5)

3.1、MATLAB中语音信号读取与输出 (5)

3.2、语音信号分析 (6)

3.3构造受干扰信号并对其FFT频谱分析 (6)

3.4 数字滤波器设计 (6)

3.5 信号处理 (7)

四、设计内容 (7)

4.1、对信号采集及其谱分析 (7)

4.2、噪声设计及谱分析 (7)

4.3、滤波器设计 (7)

4.4、对信号进行滤波及分析 (8)

4.5、绘图 (8)

五、设计结果及分析 (9)

六、设计体会 (9)

七、参考文献 (10)

一、设计目的:

《数字信号处理》是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解。

二、设计原理

2.1采样位数和采样频率

所谓采样位数,也即是采样值或取样值,一般是用来衡量声音波动变化的参数。指的是声卡在采集和播放声音文件时,所使用的数字声音信号的二进制位数。采样频率,则是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高,则声音的还原就越真实,越自然。

对于音频接口来说,采样位数和采样率是最为重要的两个指标,也是选择音频接口的两个重要标准。单从理论上来说,无论采样频率如何,采样的位数决定了音频数据最大的力度范围。每增加一个采样位数,则相当于力度范围增加了6dB。采样位数越多,则捕捉到的信号就会越精确。对于采样率来说,你可以想象它类似于一个照相机,40kHz则意味着当音频流进入计算机时,计算机每秒会对其拍照达40000次。显然采样率越高,计算机摄取的图片会越多,对于原始音频的还原也将会更加精确。

2.2时域信号FFT分析

FFT,即快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换DFT的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进而后获得的。在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进行处理。

2.3数字滤波器设计原理

数字滤波器的作用是利用离散时间系统的特性,对输入信号波形(或频谱)进行加工与处理,或者说利用数字方法,按预定的要求对信号进行变换。

可以将数字滤波器理解为一个算法或者程序,将代表输入信号的数字时间序列,转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。

数字滤波器有多种,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,一种是无限长冲激响应(IIR)滤波器,另外一种则是有限长冲激响应(FIR)滤波器。从性能上说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用于较低的阶数,以获得高的选择性,所用的存贮单元少,所以经济且效率较高。但是这个高效率是以牺牲相位的非线性为代价的。若选择性越好,则相位非线性失真会越严重。相反,FIR滤波器却可以得到严格的线性相位输出,但由于FIR滤波器传输函数的极点固定在原点,因而只能用较高的阶数以达到高的选择性;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高5~10倍,但是成本较高,信号延时也较大;所以如若按相同的选择性和相同的线性要求来说的话,则IIR滤波器就必须加全通网络以进行相位较正,同时要增加滤波器的节数和复杂性。

整体来看,IIR与FIR各有优缺点。IIR滤波器能达到同样效果,且阶数少,延迟也较低,但是会有稳定性和非线性相位问题;FIR滤波器虽然没有稳定性问题,且线性相位,但阶数多,延迟大。

三、设计方法

3.1、MATLAB中语音信号读取与输出

在Matlab中,[y,Fs] = audioread(filename, range, datatype),用于读取语音信号,采样值放在向量y中。fs表示采样频率(Hz)。range表示读取从N1点到N2点的值。若只有一个N的点,则表示读取前N点的采样值。Datatype表示读取的位数。

audiowrite(filename,y,Fs)该函数的作用是用于对声音进行输出。将

相关文档
最新文档