文档库 最新最全的文档下载
当前位置:文档库 › 基于语音信号去噪处理的FIR低通滤波器设计

基于语音信号去噪处理的FIR低通滤波器设计

基于语音信号去噪处理的FIR低通滤波器设计
基于语音信号去噪处理的FIR低通滤波器设计

摘要

本次课程设计分析了FIR数字滤波器的基本原理,在MATLAB环境下利用窗函数设计FIR低通滤波器,实现了FIR低通滤波器的设计仿真。本文根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始语音信号频谱图的比较,最后回放滤波后语音信号,滤波后的语音信号与原始语音信号一样清晰,仿真结果表明,设计的FIR滤波器的各项性能指标均达到了指定要求,设计过程简便易行。该方法为快速、高效地设计FIR滤波器提供了一个可靠而有效的途径。

关键词:DSP ;FIR;低通滤波器;语音信号;MATLAB

目录

第一章引言 (1)

1.1 设计目的及意义 (1)

1.2 设计任务及要求 (2)

1.3 课程设计平台 (2)

第二章基本原理 (3)

2.1 FIR滤波器的基本概念 (3)

2.2 FIR滤波器的特点 (3)

2.3 FIR滤波器的种类 (4)

第三章FIR数字低通滤波器的设计 (5)

3.1 FIR低通滤波器设计原理 (5)

3.2 FIR低通滤波器的设计方法 (5)

3.2.1 频率采样法 (5)

3.2.2 最优化设计 (6)

3.2.3 窗函数法 (6)

3.3 窗函数法设计步骤 (8)

第四章详细设计 (9)

4.1 语音信号的采集 (9)

4.2 语音信号的读入与打开 (10)

4.3 语音信号的FFT变换 (11)

4.4 含噪信号的合成 (12)

4.5 利用FIR滤波器滤波 (13)

4.6 结果分析 (14)

总结 (15)

参考文献 (16)

附录 (17)

致谢 (21)

第一章引言

随着信息科学和计算机技术的不断发展,数字信号处理(DSP,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。在我们面临的信息革命中,数字信号处理几乎涉及了所有的工程技术领域。

数字信号处理是一种将信号以数字形式进行处理的一种理论和技术,它的目的是将真实世界中的一些信号进行分析并滤波,最后得出其中的有用的信号。数字滤波器是数字信号处理的一种,一般根据单位脉冲响应h(n)分为无限脉冲响应(IIR)和有限脉冲响应(FIR)系统。IIR数字滤波器的设计方法简单,特别是采用双线性变换法来设计的数字滤波器不存在频域混叠的现象,但是IIR滤波器存在一个较为明显的缺憾,就是它的相位响应一般都是非线性的,而在传输频带内的相位响应如果不是线性的,就会造成有用信号的传输失真,而FIR数字滤波器不仅可以设计成任意的幅度响应,而且可以设计成在通频带内具有良好的线性相位响应。FIR数字滤波器的单位脉冲响应h(n)有限长,所以FIR数字滤波器是稳定的,不存在稳定性的问题,且可以通过快速傅里叶变换(FFT)的算法来实现信号滤波,大大的提高的运算效率。[1]因此,FIR数字滤波器日益引起了人们的关注。

本课程设计是采用kaiser窗设计的FIR滤波器对语音信号进行滤波去噪。通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。通过观察语音信号滤波前后的时域波形的比较,加深对滤波器作用的理解。通过对比滤波前后波形图的比较和放滤波前后语音信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。

1.1 设计目的及意义

《信号处理》课程设计是现代信号处理技术课程的有效补充部分,通过课程设计,使得学生在设计过程中了解完整的现代信号处理技术的工程实现方法和流程,从而对现代信号处理技术的理论有更深入的认识。本课程设计的目的是通过学生使用MATLAB等工具,采用窗函数法设计符合一定参数要求的FIR滤波器,并用所设计的滤波器对加噪语音信号进行滤波去噪处理。

1.2 设计任务及要求

利用MATLAB语言及其工具箱来完成如下的工作:

1、学会MATLAB的使用,掌握MATLAB的程序设计方法;

2、录制一段语音信号,完成对信号的采样,画出信号的时域波形和频谱图,确定信号的频谱范围;

3、给信号叠加噪声(噪声类型分为如下几种:a白噪声;b单频噪色(正弦干扰);c多频噪声(多正弦干扰);d其它干扰。),画出受噪声干扰的信号时域波形和频谱图;

4、采用窗函数法设计FIR低通滤波器,低通滤波器性能指标fb=1000 Hz,fc=1200 Hz,as=100 dB,ap=1 dB。画出滤波器的频响特性图;

5、用所设计的滤波器对受噪声影响的信号进行滤波,画出滤波后语音信号的时域波形图和频谱图;

6、对滤波前后的信号进行对比,分析信号的变化;回放语音信号,并与原始语音信号对比;

7、掌握窗函数法设计FIR数字滤波器的方法。

1.3 课程设计平台

20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks 公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

第二章基本原理

2.1 FIR滤波器的基本概念

数字滤波器从实现的网络结构或者从单位脉冲响应可分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。FIR滤波器是有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。[2]因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。

从性能上说,IIR滤波器以非线性相位为代价以较低的阶数获得较高的选择性。而FIR滤波器想要获得相同的选择性阶数是IIR滤波器的5-10倍,结果成本较高、信号时延也较大:从结构上说,IIR采用递归结构,FIR采用非递归结构;从设计工具上说;IIR可以借助于模拟滤波器的成果,FIR滤波器一般采用没有封闭形式的设计公式;从使用场合上来看,在对相位要求不敏感的场合,如语音通讯等,选用IIR较为合适,可以充分发挥经济高效的特点。对图像处理、数据传输等以波形携带信息的系统,使用FIR较好。

2.2 FIR滤波器的特点

有限长单位冲激响应(FIR)滤波器有以下特点:

(1) 系统的单位冲激响应在有限个n值处不为零;

(2) 系统函数H(z)在|z|>0处收敛,极点全部在z = 0处(因果系统);

(3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。

设FIR滤波器的单位冲激响应为一个N点序列,,则滤波器的系统函数为

=∑^

)

)

(式(2-1)

*

(

H-

n

z

z

h

n

就是说,它有(N—1)阶极点在z = 0处,有(N—1)个零点位于有限z平面的任何位置。

优点:

(1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要;

(2)可得到多带幅频特性;

(3)极点全部在原点(永远稳定),无稳定性问题;

(4)任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果序列,所以因果性总是满足;

(5)无反馈运算,运算误差小。

缺点:

(6)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;

(7)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。[3]

2.3 FIR滤波器的种类

(1)数字集成电路FIR滤波器[4]

一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,使其系统函数H(z)具有指定的频率特性。(2)DSP芯片FIR滤波器

另一种是使用DSP芯片。DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。(3)可编程FIR滤波器

还有一种是使用可编程逻辑器件,FPGA/CPLD。FPGA有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。

第三章 FIR 数字低通滤波器的设计

3.1 FIR 低通滤波器设计原理

由于FIR 滤波器冲击响应h[n]是有限长序列,因此这种结构可用非递归结构来实现[1]。FIR 数字滤波器系统函数一般形式为如式(3-1)所示:

∑=-=0

)()(n n z k h z H 式(3-1)

FIR 滤波器数学表达式可用差分方程(3-2)来表示:

∑=-=0

)()()(k k n x k h n y 式(3-2)

式中:y (n )输出序列;h (k )滤波器系数;n 滤波器阶数;x (k )输入序列。

应用Matlab 设计FIR 滤波器的主要任务就是根据给定的性能指标,设计一个H (z ) ,使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化。

3.2 FIR 低通滤波器的设计方法

3.2.1 频率采样法

频率采样法是从频域出发,根据频域采样定理,对给定的理想滤波器的频率响应()jw H e 加以等间隔的抽样 ,得到()d h k :

N

k w jw d d e H k H /)

2(|)()(π==,k=0,1,…,N -1 式(3-3)

再利用()d H k 可求得FIR 滤波器的系统函数()H Z 及频率响应()jw H e 。 而在各采样点间的频率响应则是其加权内插函数延伸叠加的结果。但对于一个无限长的序列,用频率采样法必然有一定的逼近误差,误差的大小取决于理想频响曲线的形状,理想频响特性变换越平缓,则内插函数值越接近理想值,误差越小。[5]为了提高逼近的质量,可以通过在频率相应的过渡带内插入比较连续的采样点,扩展过渡带使其比较连续,从而使得通带和阻带之间变换比较缓慢,以达到减少逼近误差的目的。

选取w ∈[0,2π]内N 个采样点的约束条件为如式(3—4):

???-=-=)()()()(M N m k N H k H ?? 0≤k ≤N-1 式(3-4)

增大阻带衰减三种方法:

1)加宽过渡带宽,以牺牲过渡带换取阻带衰减的增加。 2)过渡带的优化设计

利用线性最优化的方法确定过渡带采样点的值,得到要求的滤波器的最佳逼近(而不是盲目地设定一个过渡带值)。

3)增大N 。如果要进一步增加阻带衰减,但又不增加过渡带宽,可增加采样点数N 。代价是滤波器阶数增加,运算量增加。

直接从频域进行设计,物理概念清楚,直观方便;适合于窄带滤波器设计,这时频率响应只有少数几个非零值,但是截止频率难以控制。 3.2.2 最优化设计

最优化设计方法是指采用最优化准则来设计的方法。在 FIR DF 的最优化设计中 ,最优化准则有均方误差最小化准则和等波纹切比雪夫逼近(也称最大误差最小化)准则两种。但是对于本次的课程设计来说存在一定的局限性和难度。 3.2.3 窗函数法

设计FIR 数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR 数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw d H e ,设计一个FIR 数字滤波器频率响应()jw H e ,去逼近理想的滤波响应()jw d H e 。窗函数法设计FIR 数字滤波器是在时域进行的,因而必须由理想的频率响应()jw d H e 推导出对应的单位取样响应()d h n ,再设计一个FIR 数字滤波器的单位取样响应()h n 去逼近()d h n 。设计过程如图3.1:

*()()()()()I D T F F T w n D T F T j j d d H e h n h n H e ωω

???→???→???→

图3.1

加窗的作用是通过把理想滤波器的无限长脉冲响应()d h n 乘以窗函数()w n 来产生一个被截断的脉冲响应,即()()()d h n h n w n =并且对频率响应进行平滑。MATLAB 工具箱提供的窗函数有:矩形窗(Rectangularwindow)、三角窗(Triangular window)、布拉克曼窗(Blackman window)、汉宁窗(Hanningwindow)、海明窗(Hamming window)、凯塞窗(Kaiser window)、切比雪夫窗(Chebyshev window)。

窗函数主要用来减少序列因截断而产生的Gibbs 效应。但当这个窗函数为矩形时,得到的FIR 滤波器幅频响应会有明显的Gibbs 效应,并且任意增加窗函数的长度(即FIR 滤波器的抽头数)Gibbs 效应也不能得到改善。为了克服这种现象,窗函数应该使设计的滤波器:

(1) 频率特性的主瓣宽度应尽量窄,且尽可能将能量集中在主瓣内; (2) 窗函数频率特性的旁瓣ω趋于π 的过程中,其能量迅速减小为零。 窗函数法设计FIR 滤波器由于其运算简单、精度高,已成为工程中应用最广泛的设计方法。因此,本次设计采用窗函数法设计滤波器。其基本思想是让待设计的实际滤波器逼近理想特性。理想低通滤波器的频率特性应为:振幅特性在通带内为1,阻带内为0;在通带内的相位特性与w 成线性关系,如式(3—5):

????=-c

jwn jw

d w

e e H 01)(≤≤≤w w w w c c

|| 式(3—5)

它对应的理想单位冲激相应)(n h d 为式(3—6): [])

()(sin 21

)(000n n n n w dw e e n h c jwn w w jwn d n

c

--=

=

?

--ππ

式(3—6) 可见,理想低通滤波器的单位冲激响应hd (n)是无限长的非因果序列。而我们要设计的是FIR 滤波器,其h( n)必然是有限长的,为了构造物理上可以实现的长度为N 的因果线性相位滤波器,必须将hd( n) 截取长度为N 的一段,或者说用一个有限长度的窗口函数序列w ( n) 来截取hd ( n),即h( n) = w ( n) hd ( n),因而窗函数序列的形状及长度的选择就是关键。工程实际中常用的窗函数有6种,即矩形窗、三角形窗、汉宁(Hanning)窗、哈明(Hamming)窗、布莱克曼(Blackman) 窗和凯泽( Kaiser) 窗。它们之间的性能比较如表2所示。实际的FIR 数字滤波器的频率响应H(jw

e

) 逼近理想滤波器频率响应Hd(jw

e

)的好坏,取决于窗函数

的频率特性W( w)。[6]各种窗函数的特性如表1所示:

表3-1 6种窗函数的特性

3.3 窗函数法设计步骤

用窗函数设计FIR 滤波器的步骤为:

(1)选择窗函数类型能够和长度,写出窗函数w (n )表达式。根据阻带最小衰减选择窗函数w(n)的类型,再根据过渡带宽确定所选窗函数的长度N 。

(2)构造希望逼近的频率响应函数)(jw

d e

H 。选择理想低通滤波器,应当注

意,理想滤波器的截止频率wc 点近似为最终设计的FIRDFD 的-6dB 频率。

(3)根据式(3—7)计算: ?-

=

π

π

π

dw e e H n h jwn jw d d )()(21 式(3—7)

(4)加窗得到设计结果式(3—8):

)()()(n w n h n h d = 式(3—8)

第四章详细设计

本次课程设计先完成语音信号的采集,并对所采集的语音信号加入不同的干扰噪声,对加入噪声的信号进行频谱分析,针对受干扰语音信号的特点设计不同的滤波器,然后利用窗函数法设计低通,高通,带通等滤波器对采集到的语音信号进行滤波处理,分析语音信号各频率段的特性。对加噪信号进行滤波,恢复原信号。把原始语音信号、加噪语音信号和滤波后的信号进行时域变换和频域变换,画出它们的时域波形和频域波形图,从视觉角度比较分析滤波的效果。实现框图如图4-1所示:

图4-1 整体设计流程图

4.1 语音信号的采集

要求录制一段语音信号,并对录制的信号进行采样。在MATLAB中可以使用wavrecord()函数完成,例如:y=wavrecord(13*fs,fs,);可以用来录制13秒的语音,wavplay(y,fs); 用来播放录制的语音,wavwrite(y,fs,'111.wav');wavwrite(y,'111.wav');两句则是将录制的语音保存下来。[7]

4.2 语音信号的读入与打开

在MATLAB 中,[y,fs,bits]=wavread('111.wav');用于读取语音,采样值放在向量y 中,fs 表示采样频率(Hz),bits 表示采样位数。

wavplay (y,fs );用于语音的播放,也可以使用sound(y); 用于对声音的回放。向量y 则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。

在MATLAB 中,实现语音的读入,并绘出了语音信号的原始信号图可采用fs=11025; 语音信号的采样频率为11025,x1=wavread('aa.wav'); 读取语音信号的数据赋给变量,sound(x1,11025); 用于播放语音信号。

语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数主要有语音的短时能量,短时平均过零率,短时自相关函数等。 原始语音信号图如图4-2所示:

500

1000

1500

2000

2500

3000

3500

4000

4500

0204060

80原始信号幅值

-4-2024原始信号相位

图4-2 原始语音信号图

00.51 1.5

2 2.5

3 3.5

4

x 10

5

-1

-0.5

00.5

1原始语音信号时域波形图

time n

f u z h i n

x 10

4

051015

20原始语音信号频谱图

Hz

f u d u

如图中提取的语音的波形图所示,整段音频数据中得声音高低起伏与录入的声音信号基本一致,从图中可以看出语音信号的截止频率为4000Hz 。

4.3 语音信号的FFT 变换

FFT 即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。在MATLAB 的信号处理工具箱中函数FFT 和IFFT 用于快速傅立叶变换和逆变换。函数FFT 用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x 是序列,y 是序列的FFT ,x 可以为一向量或矩阵,若x 为一向量,y 是x 的FFT 且和x 相同长度;若x 为一矩阵,则y 是对矩阵的每一列向量进行FFT 。[8]如果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 进行处理。

对语音信号进行FFT 变换就是为了得到它的频域的图形,便于从图中观察出信号的幅度等特性。如图4-3所示即为原始信号时域波形和频谱图:

图4-3 为原始信号时域波形和频谱图

信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。语音信号经过FFT 变换之后,就可以得到信号的频域图形,另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项宏物理现象。

4.4 含噪信号的合成

在MATLAB 软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:白噪声、单频噪声(正弦干扰)、多频噪声(多正弦干扰)、其他干扰,可设置为低频、高频、带限噪声、Chirp 干扰、冲激干扰。

绘制出叠加噪声之后的语音信号时域图形及频域图形,在视觉上与原始信号图形对比,也可以通过Windows 播放软件或者是利用MATLAB 中的sound()函数从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。 加噪后语音信号时域及频域图如图4-4所示:

1

2

3

4

5

6

7

8

9

-2-101

2加随机噪声后语音信号时域图

t

x 1

x 10

4

051015

20加随机噪声后的语音信号频谱图

Hz

f u d u

图4-4 加噪后信号的时域及频域图

与原始信号对比,加入噪声后的波形与原始信号相比出现了一些区别:先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在

加了噪音之后4000到6000之间出现超过最大幅值15,超出了正常值。

4.5 利用FIR滤波器滤波

利用凯瑟窗设计低通FIR滤波器,利用凯瑟窗设计高通FIR滤波器对合成的含噪信号进行滤波,绘制出FIR滤波器的频率响应,绘出滤波后的时域波形和频谱图,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较个方法的滤波效果,并从理论上进行分析。

语音信号中包含背景噪声,这些噪声的频率一般较高。所以可以利用MATLAB软件中设计的FIR滤波器进行滤波处理,得到较为理想的语音信号。

从以上各种数字滤波器经过滤波后得出的语音信号相比较,使用低通滤波器滤波以后,声音稍微有些发闷,但是很接近原来录制的声音;使用高通滤波器滤波后则听不到人的声音。

(1)用凯瑟窗设计FIR低通滤波器

利用凯瑟窗设计的FIR低通滤波器,滤波器的性能指标为:fb=1000 Hz,fc=1200 Hz,as=100 dB,ap=1 dB。凯瑟窗是全面地反映主瓣与旁瓣衰减之间的交换关系,可以在它们两者之间自由地选择主瓣与旁瓣衰减的比重。图示的4-5及4-6分别为利用凯瑟窗设计的低通滤波器和滤波前后的语音信号图:

图4-5 凯瑟窗设计低通滤波器的频谱图

1

2

3

4

x 10

5

-1-0.500.5

1未滤波语音波形

1

2

3

4

x 10

5

-2-101

2滤波后语音波形

0123

4

x 10

5

-4000

-20000

2000

未滤波语音频谱

0123

4

x 10

5

-4000-20000

2000

滤波后语音频谱

图4-6 滤波前后的信号的比较

加噪声后的语音信号经过FIR 滤波器滤波后,时域和频域图与原始信号几乎一样,说明噪声几乎都被滤掉了,也说明FIR 滤波器设计很理想,能满足所需要求。使用凯瑟窗设计的FIR 低通滤波器滤波以后,听到的声音稍微有些发闷、低沉,原因是高频分量被FIR 低通滤波器衰减。但是得到的已经是很接近原来的声音了。

4.6 结果分析

通过对比分析可知,滤波后的输出波形和原始语音加噪声信号的图形发生了一些变化:滤波后的输出波形明显在对应时间幅度比原语音加噪声信号的要小,而且滤波的效果也与滤波器的选择有关,可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以发现滤波前后的声音有变化.低通滤波后,已很接近原来的声音。从频谱图中我们还可以看出声音的能量信号主要集中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。在采样时要注意音频要为单声道,否则会提示出错,无法利用freqz 绘制原始语音信号的频率响应图。整个过程的程序代码如附录所示:

总结

语音信号是一种非平稳的时变信号,它携带着各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法,直接对语音信号的时域波形进行分析,提取的特征参数。语音信号经过FFT变换之后,就可以得到信号的频域图形,另外,频域图形使信号的某些特性变得更明显,信号的傅立叶表示在信号的分析与处理中起着重要的作用。因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。

本课程设计的主要目的是在MATLAB环境下,使用窗函数设计法设计一个FIR低通滤波器,并对叠加了噪声后的语音信号进行滤波去噪。应用MATLAB 根据给定的技术指标进行FIR 数字滤波器设计时,可根据设计要求随时改变参数,以使滤波器达到最优化。使用凯瑟窗设计低通滤波器,并对叠加噪声后的语音信号进行滤波。比较滤波前后的时域波形和频谱并进行分析,低通滤波后,声音稍微有些发闷、低沉,原因是高频分量被低通滤波器衰减。但是很接近原来的声音。

总之,加噪声的后的语音信号经过FIR滤波器的滤波处理,时域和频域图与原始信号都几乎一样,这说明噪声几乎全被滤掉了,同时也说明FIR滤波器设计还算理想,能满足所需要求。也可看出滤波之后仍有一小段噪声没有滤除,设计还有些许的不足。

参考文献

[1]丁美玉.数字信号处理[M]. 西安电子科技大学出版社 151:222

[2]朱冰莲.数字信号处理[M].电子工业出版社 87:93

[3]刘树棠译.数字信号处理——使用MATLAB[M].西安交通大学出版社 42:49

[4]李勇、徐震.MATLAB辅助现代工程数字信号处理[M].西安电子科技大学出版社 48:56

[5]约翰·G·普罗克斯.数字信号处理[M].西安交通大学出版社,2009.

[6]张小虹.信号系统与数字信号处理[M].第1版.西安:西安电子科技出版社,2002.

[7]罗军辉等编著.MATLAB7.0在数字信号处理中的应用[M].北京:机械工业出版社.28:34

[8张志涌.精通MATLAB 6.5版[M].北京:北京航空航天大学出版社,2003.

附录

%声音采集及绘制原始语音信号的时域波形和FFT频谱图

[x,fs]=wavread('G:\111.wav')

x=x(:,1);

FS=length(x);

f=0;fs/FS;(FS-1)*fs/FS;

sound(x); %播放语音信号

X=fft(x,4096);

magX=abs(X);

angX=angle(X);

y1=fft(x,1024); %对信号做1024点FFT变换

f=fs*(0:511)/1024;

figure(1)

subplot(211);plot(magX);title('原始信号幅值');

grid on;

subplot(212);plot(angX);title('原始信号相位');

grid on;

figure(2)

subplot(211);

plot(x); %绘制原始语音信号的时域波形图title('原始语音信号时域波形图');

xlabel('time n');

ylabel('fuzhi n');

grid on;

Subplot(212); %绘制原始语音信号的频率响应图plot(f,abs(y1(1:512)));

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

xlabel('Hz');

ylabel('fudu');

grid on;

%添加随机噪声及添加噪声后的时域图和频谱图

noise_mu=0;

noise_var=0.05;

x0=randn(size(x)).*sqrt(noise_var)+noise_mu;

x1=x+x0;

ts=1/fs; % 绘制在原始信号上加随机噪声的信号图ta=(length(x)-1)/fs;

t=0:ts:ta;

figure(3);

subplot(211);

plot(t,x1);

title('加随机噪声后语音信号时域图');

xlabel('t');

ylabel('x1');

grid on;

y2=fft(x1,1024); %对信号做1024点FFT变换

IIR滤波器语音去噪处理

课程设计(论文) 题目基于IIR数字滤波器的有噪语音信号的 处理 课程设计(论文)任务书学院:电气工程学院 题目:基于IIR数字滤波器的有噪语音 信号的处理

起止时间:2016年10月25日至16年11月20日 学生姓名: 专业班级: 指导教师: 教研室主任: 院长: 2016年11 月20 日

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

Abstract: filter design plays an important role in digital signal processing, IIR filter is an important part of the filter design. Research based on MATLAB design and implementation of the noise processing of speech signal, the theory of knowledge of the integrated use of digital signal processing in time domain of speech signal plus noise, frequency domain analysis and filtering. Through theoretical derivation corresponding conclusion using MATLAB as a programming tool for computer implementation. In the design process, with Butterworth, Chebyshev and bilinear method of IIR digital filter design, and use MATLAB as a tool Complete the drawing calculation and graphic design. Through the simulation and frequency characteristic analysis on the design of filter, MATLAB signal processing tools processing toolbox can effectively and quickly design IIR digital filter based on the results of the performance indicators to meet the specified requirements. Keywords: MATLAB; IIR filter; noisy speech signal

滤波器语音信号去噪讲解

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2013年春季学期 信号处理课程设计 题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:通信工程(1)班 姓名:王兴栋 学号:10250114 指导教师:陈海燕 成绩:

摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB 软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。 关键字滤波器;MATLAB;仿真;滤波

前言 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。 本论文主要介绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。 对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。

语音信号滤波去噪

一、设计的目的和意义 数字滤波器和快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础,是20世纪60年代形成的一系列数字信号处理的理论和算法。在数字信号处理中,滤波器的设计占有极其重要的地位。而其中,FIR数字滤波器和IIR数字滤波器是重要组成部分。Matlab具有功能强大、简单易学、编程效率高等特点,深受广大科技工作者的喜爱。特别是Matlab中还具有信号分析工具箱,所以对于使用者,不需要具备很强的编程能力,就可以方便地进行信号分析、处理和设计。利用Matlab中的信号处理工具箱,可以快速有效的设计各种数字滤波器。本论文基于Matlab语音信号处理的设计与实现,综合运用数字信号处理的相关理论知识,对加噪声语音信号进行时域、频域分析并滤波。而后通过理论推导得出相应结论,再利用Matlab作为编程工具进行计算机实现工作。 本次课程设计的课题为《基于DSP的语音信号滤波去噪》,运用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。 二、设计原理: 2.1 巴特沃斯滤波器 巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。巴特沃斯滤波器的特性是通频带内的频率响应曲线最大限度平坦,没有起伏,而在组频带则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。 其振幅平方函数具有如2-1式: 式中,N为整数,称为滤波器的阶数,N越大,通带和阻带的近似 性越好,过渡带也越陡。如下图2.1所示:

信号系统处理 语音信号滤波处理

数字信号处理实验报告 实验名称:基于MATLAB对语音信号 进行分析及滤波处理 院系:物联网工程学院 班级:电子信息工程1101 姓名:

一、实验目的 综合计算运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。 二、实验要求 1.分析原始语音信号的时域特性和频谱特性。 2.设计一个IIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 3.设计一个FIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 三、实验原理 1.采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。 采样频率越高,即采样的时间间隔越短,对声音波形的表示越精确。 2.时域信号的FFT分析:信号的频谱分析就是计算机信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。 3.IIR数字滤波器设计原理利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式

根据MATLAB的加噪语音信号的滤波

《计算机仿真技术》 基于MATLAB的加噪语音信号的滤波学生姓名: 专业:电子信息工程 班级: 学号: 指导教师: 完成时间:2017年12月

一.滤波器的简述 在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。 在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。 数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR 滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。二.设计要求 1.在matlab平台上录制一段语音信号; 2.完成语音信号的谱分析; 3.对语音信号进行加噪以及加噪后信号的谱分析; 4.选择合适的滤波器进行滤波,确定相关指标; 5.实现滤波过程,显示滤波后的结果,并进行谱分析。 三.实验内容与步骤 1、语音信号的录入

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

基于MATLAB的FIR滤波器语音信号去噪设计

基于MATLAB的FIR滤波器语音信号去噪设计

****************** 实践教学 ****************** 兰州理工大学 计算机与通信学院 《信号处理》课程设计题目:基于MATLAB的FIR滤波器语音信号去噪

摘要 随着信息技术的不断发展,现代信号处理正向着数字化发展,研究语音信号的滤波设计也成了现代信息处理的基本内容。本次课程设计主要内容是基于MATLAB的FIR滤波器语音信号去噪。主要运用麦克风采集一段语音信号,对其进行了时域分析和频谱分析,分析语音信号的特性,并对语音信号加入了随机噪声,采用凯塞(Kaiser)窗函数法设计了一个FIR 低通滤波器,然后对加噪的语音信号进行滤波处理。最后对滤波前后的语音信号的时域和频域特性进行对比。 关键词:MATLAB;语音信号;FIR滤波器;凯塞(Kaiser)窗

目录 第一章语音信号采样和滤波器设计的基本原理1 1.1语音信号采样的基本原理 (1) 1.1.1 采样定理 (1) 1.1.2 采样频率 (1) 1.2数字滤波器的基本理论和设计的基本原理2 1.2.1 数字滤波器的类型 (2) 1.2.2 窗口设计法 (3) 第二章语音信号去噪的总体设计 (6) 2.1 语音信号去噪的设计流程图 (6) 2.2 语音信号去噪的设计流程的介绍 (6) 第三章语音信号去噪的仿真实现及结果分析 8 3.1 语音信号的采集 (8) 3.2 加噪语音信号的频谱分析 (9) 3.3 语音信号的滤波去噪 (10) 3.4 语音信号去噪的结果分析 (12) 总结 (13) 参考文献 (14) 附录 (15) 致谢 (20)

MATLAB对语音信号加随机噪声及去噪程序

%对语言信号做原始的时域波形分析和频谱分析[y,fs,bits]=wavread('C:\Documentsand?Settings\Administrator\桌面\cuocuo.wav'); %??sound(y,fs)??????%回放语音信号 n=length(y)??%选取变换的点数? y_p=fft(y,n);??????%对n点进行傅里叶变换到频域 f=fs*(0:n/2-1)/n;???%对应点的频率 figure(1) subplot(2,1,1); plot(y);????????????????????%语音信号的时域波形图 title('原始语音信号采样后时域波形'); xlabel('时间轴') ylabel('幅值A') subplot(2,1,2); plot(f,abs(y_p(1:n/2)));?????%语音信号的频谱图 title('原始语音信号采样后频谱图'); xlabel('频率Hz'); ylabel('频率幅值'); %对音频信号产生噪声 ??L=length(y)????????%计算音频信号的长度 ??noise=0.1*randn(L,2);??%产生等长度的随机噪声信号(这里的噪声的大小取决于随机函数的幅度倍数) ??y_z=y+noise;????????%将两个信号叠加成一个新的信号——加噪声处理??? ??%sound(y_z,fs) %对加噪后的语音信号进行分析 n=length(y);??%选取变换的点数? y_zp=fft(y_z,n);??????%对n点进行傅里叶变换到频域 f=fs*(0:n/2-1)/n;???%对应点的频率 figure(2) subplot(2,1,1); plot(y_z);????????????????????%加噪语音信号的时域波形图 title('加噪语音信号时域波形'); xlabel('时间轴') ylabel('幅值A') subplot(2,1,2); plot(f,abs(y_zp(1:n/2)));?????%加噪语音信号的频谱图 title('加噪语音信号频谱图'); xlabel('频率Hz'); ylabel('频率幅值');

语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器

语音信号滤波去噪——使用TUKEYWIN窗 设计的FIR滤波器 摘要本课程设计主要使用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。课程设计的的平台为MATLAB。采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用窗函数法设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理。根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始音乐信号频谱图的比较,最后回放滤波后音乐信号,滤波后的音乐信号与原始音乐信号一样清晰,成功地实现了滤波,达到了设计的要求。 关键词课程设计;滤波去噪;FIR滤波器;TUKEYWIN窗;MATLAB 1 引言 本课程设计是采用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。通过观察音乐信号滤波前后的时域波形的比较,加深对滤波器作用的理解。通过对比滤波前后波形图的比较和放滤波前后音乐信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。 1.1 课程设计目的 熟悉Matlab语言环境,掌握Matlab语言的编程规则,利用TUKEYWIN窗函数设计法来设计符合要求的FIR滤波器来实现语音信号的滤波去噪。并绘制滤波前后的时域波形和频谱图。根据图形分析判断滤波器设计的正确性。通过本次课程设计熟悉利用TUKEYWIN窗函数法设计FIR滤波器的过程。增强自己独立解决问题的能力,提高自己

的动手能力。加深对理论知识联系实际问题的理解。为以后的工作奠定坚实的基础。 1.2 课程设计要求 录制一段语音信号,绘制观察波形及频谱图。根据TUKEYWIN的性能指标合理设计FIR滤波器,对语音信号加入干扰,再用滤波器对干扰语音信号进行滤波去噪,比较滤波前后的频谱图并进行分析。再回放语音信号对比原语音信号。看滤波器是否对语音信号进行了滤波去噪。 1.3课程设计平台 MATLAB名字由MATrix和LABoratory两词的前3个字母组合而成。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB[1]。 MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础[2]。 2 基本理论

语音信号的FIR滤波器处理课程设计

DSP课程设计报告语音信号的FIR滤波器处理 姓名:张伟槟 班级:12电信3 学号:201231190425 指导老师:徐梅宣 日期:2015.06.02~2014.06.19 华南农业大学电子工程学院

摘要 随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。 CSS集成开发环境使用CCS内置的软件仿真simulator对程序进行编译,调试和运行,主要用于检测目标程序运行的正确性和连贯性,并能通过仿真器与目标板连接,在目标板上实时观察效果。 在本次设计中,我们选择的课题是基于DSP的语言信号的FIR滤波处理。首先利用MATLAB进行了仿真,得到滤波前后的时域波形和频谱。然后通过调用MATLAB的分析工具FDATOOL,根据仿真结果导出了滤波器的相关参数,将原始信号数据和滤波器参数输入CCS进行DSP编程。最后在DSP中实现了FIR低通滤波,并通过CCS的频谱分析功能查看了最终DSP的滤波效果。 关键词:语音信号处理 FIR滤波 MATLAB CCS

目录 1.前言 (4) 2.设计需求 (4) 3.滤波器设计原理介绍 (4) 3.1数字滤波器设计原理 (4) 3.2FIR滤波器的基本结构 (5) 3.3 滤波器的特点 (5) 3.4窗函数的介绍 (6) 4.FIR滤波器的设计 (7) 4.1FIR滤波器设计 (7) 4.2窗函数设计的基本方法 (7) 4.3滤波器的1 z算法实现 (7) 5.FIR滤波器的MATLAB设计 (8) 6.FIR滤波器的DSP实现 (10) 6.1CCS设计与仿真 (10) 6.2CCS仿真结果 (13) 6.调试问题及解决办法 (16) 7.设计感想 (16) 参考文献 (17) 8.附录 (17)

语音信号滤波去噪——使用汉宁窗设计的FIR滤波器要点

语音信号滤波去噪——使用汉宁窗设计的 FIR滤波器 学生姓名:指导老师: 摘要本课程设计主要是对一段语音信号,加入噪声后,用汉宁窗设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理。在此次课程设计中,系统操作平台为Windows XP,程序设计的操作软件为MATLAB 7.0。此课程设计首先是用麦克风采集一段语音信号,加入噪声,然后采用汉宁窗函数法设计出FIR滤波器,再用设计出的滤波器对这段加噪后的语音信号进行滤波去噪,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果,说明此次设计非常成功。 关键词程序设计;滤波去噪;FIR滤波器;汉宁窗;MATLAB 7.0 1 引言 本课程设计主要是对一段语音信号,进行加噪后,用某种函数法设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理,并且分析对比前后时域和频域波形的程序设计。 1.1 课程设计目的 在此次课程中主要的要求是用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用汉宁窗设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。与不同信源相同滤波方法的同学比较各种信源的特点,与相同信源不同滤波方法的同学比较各种滤波方法性能的优劣。 通过此次课程设计,我们能够学会如何综合运用这些知识,并把这些知识运用于实践当中,使所学知识在综合运用能力上以及分析问题、解决问题能力上得到进一步的发展,

让自己对这些知识有更深的了解。通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神。 1.2课程设计的要求 (1)滤波器指标必须符合工程实际。 (2)设计完后应检查其频率响应曲线是否满足指标。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告书。 1.3 工作平台简介 课程设计的主要设计平台式MATLAB 7.0。如下图1-1所示:MATLAB 的名称源自Matrix Laboratory ,它是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到广泛应用。它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等各种系统平台[1]。 总的来说,该软件有三大特点。一是功能强大。具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。MATLAB以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性强。当学好MATLAB的同时,会更好的帮助自己去就解决一些难题,而且MATLAB拥有非常好的发展前途,对我们未来的帮助也是不可限量的。

语音信号的处理与滤波

广西工学院 数字信号处理课程设计设计题目:语音信号的处理与滤波 系别: 学号: 姓名: 班级: 指导教师: 完成日期:

目录 1. 摘要 (3) 2.MATLAB简介 (3) 3.设计目的 (4) 4.设计内容 (4) 5.设计原理 (4) 6.设计步骤 (5) 7.总结与分析 (10) 8.参考资料 (10)

摘要 本课题分析了数字信号处理课程的重要性及特点,可以帮助理解与掌握课程中的基本概念、基本原理、基本分析方法;并利用MATLAB对语音信号进行分析和处理,要求采集语音信号后,在MATLAB软件平台进行频谱分析。用设计的数字滤波器对语音信号进行了滤波 MATLAB简介 MATLAB 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有: ?数学和计算 ?算法开发 ?建模,模拟和原形化 ?数据分析,探索和可视化 ?科学与工程制图 ?应用开发,包括图形用户界面的建立 MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。 . 名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLA B使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技术发展。 MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。 MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M-文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。

基于MATLAB的语音信号FIR数字滤波处理

目录 1 绪论 (2) 2课程设计的具体实现 (4) 2.1 语音信号的录制 (4) 2.2 FIR滤波器的设计方法 (4) 3语音信号的时频分析 (5) 3.1语音信号载入MATLAB (5) 3.2语音信号时域和频域分析 (6) 3.3设计FIR数字滤波器 (7) 3.3.1 窗函数hamming设计带通滤波器 (8) 3.3.2 窗函数hanning设计带通滤波器 (9) 3.3.3 窗函数Blackman设计带通滤波器 (10) 3.3.4 窗函数Boxcar设计带通滤波器 (11) 3.4滤波之后的时域和频域分析 (12) 3.4.1 窗函数hamming设计带通滤波器滤波 (13) 3.4.2 窗函数hanning设计带通滤波器滤波 (13) 3.4.3 窗函数Blackman设计带通滤波器滤波 (14) 3.4.4 窗函数Boxcar设计带通滤波器滤波 (15) 3.5回放语音信号 (16)

结论 (16) 参考文献 (18) 1 绪论 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器

音乐信号滤波去噪—用凯塞窗设计的FIR滤波器

音乐信号滤波去噪—用凯塞窗设计的FIR 滤波器 学生姓名:指导老师: 摘要本课程设计主要是通过使用凯塞窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理。本设计首先通过麦克风采集一段音乐信号,依据对该信号的频谱分析,给定相关指标。以MATLAB软件为平台,采用凯塞窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。通过对比滤波前后的波形图,深入了解滤波器的基本方法。通过程序调试及完善,该设计基本满足设计要求。 关键词滤波去噪;FIR滤波器;凯塞窗函数;MATLAB

1 引言 数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。随着现代通信的数字化,数字滤波器变得更加重要。数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。从实现方法上考虑,将滤波器分成两种,一种称为无限脉冲响应滤波器,简称IIR(Infinite Impulse Response)滤波器,另一种称为FIR(Finite Impulse Response)滤波器[1]。设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。 1.1 课程设计目的 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。 在本次课程设计中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。 本次的课程设计主要采用的是第一类设计方法,是利用汉宁窗函数法设计FIR滤波器对一段语音进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。此课程设计比较简单,主要是将书本中的知识运用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。对此,也可以加深我们对所学知识的理解,培养我们的动手能力。 1.2课程设计的要求 (1)通过利用各种不同的开发工具实现模拟信号数字化、信道编解码、基带数字信号编解码、数字信号的调制解调和语音信号的滤波去噪等课题,掌握数字信号的分析方法和处理方法。

基于MATLAB的语音信号滤波处理

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

基于数字滤波器的语音信号处理系统的设计

基于数字滤波器的语音信号处理系统的设计 前言:语音信号的数字滤波就是利用快速傅里叶变换fft对语音信号进行频谱分析,利用分析得到的指标设计数字滤波器,将不需要的部分通过设计好的数字滤波器滤除掉,以达到优化语音的目的。数字滤波器是一种对数字信号进行处理的系统,数字滤波器完成数字信号滤波处理功能,其输入是一组数字量,其输出是经过变换的另一组数字量。它通过一定的运算关系或电路形式来改变输入信号所包含的频率成分的相对比例或滤出某些频率成分,数字滤波器具有稳定性高、精度高、灵活性大等优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。 摘要:本文介绍了两种数字滤波器的基本设计原理及步骤1、利用双线性变换法以及脉冲响应不变法设计IIR数字滤波器2、用窗函数法实现FIR数字滤波器的设计。并且把理论与实践结合,通过一段语音,利用MATLAB软件分析语音信号频谱,确定指标设计滤波器,编写程序设计滤波器,对语音信号进行滤波处理,分析滤波后的时域和频域特征,回放语音信号分析其经过信号处理后的效果。 正文 1、总体设计 1.1 总体设计内容 1)利用脉冲响应不变法和双线性变换法设计IIR数字滤波器,实现数字低通、数字高通、数字带通、数字带阻。 2)利用窗函数实现FIR数字滤波器的设计 3)设计完整的语音信号处理系统,可实现语音信号的读入、语音信号的频域分析、滤波器选择、语音信号的时/频域滤波操作、语音信号的短时频域分析等功能。 1.2 课设流程图设计

2、模块设计 2.1 语音信号的采集 用windows工具中的录音机录一段(语音信号),将语音信号的文件命名为test.wav. 将语音文件保存后,在MATLAB软件平台下,首先调用wavread函数可采集到录制的音乐信号,并得到其采样率fs和比特数bits。具体调用如下:>> [y,fs,bits]=wavread('d:\test.wav')%读取语音信号。 运行后得出fs,bit。其中参数y是每个样本的值,fs是生成该波形文件时的采样率,bits 是波形文件每样的编码位数。 sound(y); 用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。 2.2 语音信号的时域及频域分析 语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。 2.2.1语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。 运用matlab软件,调用plot函数,在读取语音信号的基础上画出语音信号的时域波形图。理想状态下,语音信号的时域波形应该是关于时间轴对称的,但是实际情况下,由于存在着一些噪音,使得波形看上去不是那么完美。 2.2.2语音信号的频域分析 对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,调用格式如下: Xk=fft(xn,N) 参数xn为被变换的时域序列向量,N是DFT变换区间的长度,当N大于xn时,fft函数自动在xn后面补零,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,调用fft函数得到语音信号的快速傅里叶变换序列,再用plot函数画出信号的频谱图。 2.3 IIR数字滤波器的设计 IIR滤波器系统函数的极点可以再单位圆内的任何位置,实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,又由于IIR数字滤波器能够保留一些模拟滤波器的优良特性,因 此应用很广。设计IIR数字滤波器的方法主要有基于脉冲响应不变法和双线性Z变换法设计,

语音信号去噪

语音信号去噪 摘要:在现代各种通信系统中,由于自然界中的各种各样的复杂噪声不免会掺杂在其中,数 字信号处理这门经典学科恰好能够解决这个问题,其中最通用的方法就是利用滤波器来滤除 这些杂波噪声,FIR数字滤波器就是滤波器设计的基本部分。本论文研究的主要内容就是基 于Matlab软件仿真设计一个数字滤波器,将掺杂在语音信号中的高频噪音消除,在此将分 析消除高频噪音前后语音信号的时域及频域特性,对比分析即可验证滤波前后特性差别。在 本课题中,将利用简单的窗函数法来设计FIR数字滤波器,通过Matlab仿真说明所设计滤 波器的正确性。通过这次毕业设计,将会进一步理解语音信号原理分析及滤波处理,为更好 的设计滤波器打好基础。 关键词:Matlab;窗函数法;FIR数字滤波器 目录 1 引言 (2) 1.1 课题研究现状 (2) 1.2 课题研究目的 (2) 1.3 课题研究内容 (2) 1.4 MATLAB软件设计平台简介 (3) 2 原始语音信号采集与处理 (3) 2.1 课题设计步骤及流程图 (3) 2.2 语音信号处理 (4) 2.2.1 语音信号的采集 (4) 2.2.2 语音信号的时域频谱分析 (5) 2.2.3 语音信号加噪与频谱分析 (7) 3 FIR数字滤波器的设计 (9) 3.1 数字滤波器基本概念 (9) 3.2 常用窗函数介绍 (10) 3.3 FIR数字滤波器概述 (10) 3.4 FIR滤波器的窗函数设计 (10) 3.5 滤波器的编程实现 (13) 3.6 用滤波器对加噪语音信号进行滤波 (14) 3.7 回放语音信号 (17) 4 结论 (18) 致谢 (19) 参考文献 (20)

相关文档
相关文档 最新文档