您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页FIR带通滤波器设计

FIR带通滤波器设计

来源:爱go旅游网
实用标准文案

*****************

实践教学

*****************

兰州理工大学

计算机与通信学院

2014年春季学期

《信号处理》课程设计

题 目:基于语音信号去噪处理的FIR滤波器设计 专业班级: 通信一班 姓 名: 学 号: 文档

实用标准文案

指导教师: 成 绩:

文档

实用标准文案

摘要

本次课程设计是基于语音信号去噪处理的FIR带通滤波器设计,在设计过程中,首先录制一段语音信号,并对录制的信号进行采样;其次使用MATLAB绘出采样后的语音信号的时域波形和频谱图;然后在给原始的语音信号叠加上噪声,并绘出叠加噪音后的时域图及频谱图;再次设计FIR带通滤波器,针对语音信号的性质选取一种适合的窗函数设计滤波器进行滤波;画出滤波后的时域波形图和频谱图,最后对滤波前后的信号进行对比分析,回放语音信号,并与原始信号对比,圆满完成这次课程设计。 关键词: FIR带通滤波器;语音信号;MATLAB仿真;窗函数

文档

实用标准文案

目录

前言 ............................................................................................................................................................ 4 第1章 FIR滤波器设计的基本原理 .................................................................................................... 5

1.1 滤波器的相关介绍 ................................................................................................................... 5 1.2利用窗函数法设计FIR滤波器 ................................................................................................ 5 第2章 语音信号滤波实现框图 ........................................................................................................... 9 第3章 FIR带通滤波器仿真结果 ..................................................................................................... 11

3.1 信号的采集 ............................................................................................................................. 11 3.2 语音信号的读入与打开 ........................................................................................................ 11 3.3 语音信号的FFT变换............................................................................................................ 12 3.4含噪信号的合成...................................................................................................................... 13 3.5 FIR滤波器的设计 .................................................................................................................. 14 3.6 利用FIR带通滤波器滤波并分析结果 ............................................................................... 17 总结 ......................................................................................................................................................... 18 参考文献 ................................................................................................................................................ 19 附录 ......................................................................................................................................................... 20 致谢 ......................................................................................................................................................... 24

文档

实用标准文案

前言

在信号处理过程中,所处理的信号往往混有噪音,从接收到的信号中消除或减弱噪音是信号传输和处理中十分重要的问题。根据有用信号和噪音信号的不同特性,提取有用信号的过程成为滤波。实现滤波功能的系统被称为滤波器。在近代电信设备和各类控制系统中,数字滤波器应用极为广泛。

语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。该领域主要包括5个方面的内容:第一,语音信号分析。即对语音信号的波形特性,统计特性,模型参数等进行分析计算。第二,语音合成。即利用专用硬件或在通用计算机上运行软件来产生语音。第三,语音识别。即利用专用硬件或计算机识别人的讲话,或者识别说话的人。第四,语音增强。即从噪音或者干扰中提取被掩盖的语音信号。第五,语音编码。主要用于语音数据的压缩,目前已经建立了一系列语音编码国际标准,大量用于通信和音频处理。

MATLAB是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。

文档

实用标准文案

第1章 FIR滤波器设计的基本原理

1.1 滤波器的相关介绍

1.1.1 数字滤波器的概念

数字滤波器(Digital Filter,简称为DF)是指用来对输入信号进行滤波的硬件和软件。所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器和模拟滤波器相比,因为信号的形式和实现滤波的方式不同,数字滤波器具有比模拟滤波器精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配等优点。一般用两种方法来实现数字滤波器:一是采用通用计算机,把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机软件来实现;二是采用实际专用的数字处理硬件[1]。 1.1.2 FIR和IIR滤波器

数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用。它是通过对采样数据信号进行数学运算处理来达到滤波的目的。数字滤波器从实现的网络结构或者从单位脉冲响应可分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。FIR滤波器的设计方法和IIR滤波器的设计方法有很大的不同,FIR滤波器设计任务是选择有限长度的h(n),使传输函数H(ejw)满足技术要求,FIR数字滤波器设计的方法有三种,第一种是窗函数法,第二种是频率采样法,第三种是切比雪夫等波逼近法。

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

1.2利用窗函数法设计FIR滤波器

1.2.1窗函数法设计FIR滤波器的基本思想

窗函数法的基本思想是要选取某一种合适的理想频率选择性滤波器,这种滤波器总是有一个非因果,无限长的脉冲响应,然后将它的脉冲响应截断(或加窗)以得到一个线性相位和因果的FIR滤波器,因为必须设计一个因果可实现的FIR滤波器[1]。

需要注意的是,数字滤波器的传输函数H(ejw)都是以2π为周期的,滤波器的低通频带

文档

实用标准文案

处于2π的整数倍处,而高频频带处于π的奇数被附近,这一点和模拟滤波器是有区别的。

因为录制的语音信号是模拟信号,要想使用数字滤波器对叠加了噪声的信号进行滤波,则在设计数字滤波器之前首先要进行模数转换,将模拟信号转换为数字信号。 1.2.2窗函数法设计FIR滤波器的步骤

主要设计步骤为:

(1)根据技术要求确定待求FIR滤波器的单位取样响应hd(n)。如果给出待求FIR滤波器的频率响应为Hd(ejw),那么单位取样响应使用(1-1)的公式求出:

Hd(n)=1/2Hd(ejw)ejwdw ( 1-1 )

(2) 据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为Δw,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数w(n)。

(3) 计算滤波器的单位取样响应h(n),使用(1-2)的公式求出:

h(n)= hd(n)w(n) ( 1-2 )

(4) 验算技术指标是否满足要求[1]。 1.2.2窗函数法设计FIR滤波器的要求

在使用窗函数法设计FIR滤波器时要满足以下两个条件: (1)窗谱主瓣尽可能地窄,以获得较陡的过渡带。

(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进而增加阻带的衰减。

在实际工程中常用的窗函数有五种,即矩形窗(Rectangular)、三角窗(Triangular)、汉宁窗(Hanning)、汉明窗(Hamming)、布莱克曼窗及凯塞窗(Kaiser)。 1.2.3常用窗函数的性质和特点

(1)矩形窗

文档

实用标准文案

矩形窗属于时间变量的零次幂窗。矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄露漏,甚至出现负谱现象。

(2)三角形窗

三角形窗又称费杰窗,是幂窗的一次文形式。与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。

(3)汉宁窗

汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和。汉宁窗优于矩形窗,但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。

(4)哈明窗

哈明窗与汉宁窗都是余弦窗,只是加权系数不同,哈明窗加权的系数能使旁瓣达到更小,所以哈明窗又称为改进的升余弦窗。它的能量更加集中在主瓣中主瓣的能量约占99.96%第一主瓣的峰值比主瓣小40dB,但主瓣宽度和汉宁窗相同仍为8*π/N,哈明窗与汉宁窗都是很有用的窗函数。

(5)布莱克曼窗

布莱克曼窗的幅度函数主要由五部分组成,他们的位移都不同,其幅度也是不同的W (w)使旁瓣再进一步抵消。旁瓣峰值幅度进一步增加,其幅度谱主瓣宽度是矩形窗的3倍。设计程序时用backman函数调用。

(6)凯塞窗

以上几种窗函数是各以一定主瓣加宽为代价,来换取某种程度的旁瓣抑制,窗函数的主瓣宽度和旁瓣峰值衰耗是矛盾的,一项指标的提高总是以另一项指标的下降为代价,窗口选择实际上是对两项指标作权衡。而两项指标是跳变的,于是有人提出可调整窗,适当修改参数,可在这两项指标间作连续的选择。常用的可调整窗是凯塞(Kaiser)窗。而凯窗则是全面地反映主瓣与旁瓣衰减之间的交换关系,可以在它们两者之间自由地选择它们的比重。

1.2.4 语音处理中的采样原理

因为录制的语音信号是模拟信号,要想使用数字滤波器对叠加了噪声的信号进行滤波,则在设计数字滤波器之前首先要进行模数转换,将模拟信号转换为数字信号。

在进行模数转换的过程中,当最高采样频率fs大于信号中最高频率f的2倍时,即:fsmax≥2fmax,采样之后的数字信号可以完整地保留原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。

文档

实用标准文案

频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1±Δt),f(t1±2Δt),...来表示,只要这些采样点的时间间隔Δt≤1/2F,便可根据各采样值完全恢复原来的信号f(t)。这是时域采样定理的一种表述方式。时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fm时,f(t)的值可由一系列采样间隔小于或等于1/2fm的采样值来确定,即采样点的重复频率f≥2fm。

采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。

每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确[2]。

文档

实用标准文案

第2章 语音信号滤波实现框图

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

结果显示及分析 图2.1 整体设计流程图

信号的采集 语音信号分析 含噪信号合成 数字滤波器的设计 滤波 要求录制一段语音信号,要求长度不小于10秒,并对录制的信号进行采样,在MATLAB中可以使用wavrecord()函数完成。

语音信号是一种非平稳的时变信号,它携带着各种信息。语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。语音信号分析主要是在时域和频域进行的。FFT为快速傅里叶变换,是离散傅里叶变换的快速算法,对语音信号进行FFT变换就是为了得到它的频域的图形,便于从图中观察出信号的幅度等特性。

在MATLAB软件平台下,给原始的语音信号叠加上噪声,绘制出叠加噪声之后的语音信号时域图形及频域图形,可以在视觉上与原始信号图形对比。

文档

实用标准文案

这时的这语音信号已经是包含了噪声的合成信号,这些噪声的频率一般较高。所以可以利用MATLAB软件中设计的FIR滤波器进行滤波处理。根据信号的特性,计算出技术指标,利用凯瑟窗设计FIR滤波器。

利用设计好的凯瑟窗的低通FIR滤波器和高通FIR滤波器对合成的含噪信号进行滤波,绘制出FIR滤波器的频率响应,绘出滤波后的时域波形和频谱图,并对滤波前后的信号进行对比,分析信号的变化。

文档

实用标准文案

第3章 FIR带通滤波器仿真结果

本次课程设计中语音信号的录制以及进一步处理分析都选用了MATLAB平台。MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,不断完善 MATLAB 产品以提高产品自身的竞争能力。MATLAB的数据分析和处理功能十分强大,运用它来进行语音信号的分析、处理和可视化相当便捷。而且编程易学、直观,代码非常符合人们的思维习惯。MATLAB几乎可以在各种机型和操作系统上运行,所以在可移植性和可扩充性上MATLAB远优越于其他的高级编程语言。MATLAB语言具有强大的数值计算能力和视图能力,其偏微分方程工具箱提供了有限元求解的一个强大而灵活的环境,并且有限元网格可做精细划分以满足要求[3]。

3.1 信号的采集

要求录制一段语音信号,并对录制的信号进行采样。

在MATLAB中可以使用wavrecord()函数完成,例如:y=wavrecord(13*fs,fs,);可以用来录制13秒的语音,wavplay(y,fs); 用来播放录制的语音,wavwrite(y,fs,'aa.wav');wavwrite(y,'aa.wav');两句则是将录制的语音保存下来[5]。

3.2 语音信号的读入与打开

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

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

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

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

文档

实用标准文案

图3-1 原始语音信号图

如图中提取的语音时域与频域的波形图所示,整段音频数据中得声音高低起伏与录入的声音信号基本一致。

3.3 语音信号的FFT变换

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进行处理。

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

文档

实用标准文案

3.4含噪信号的合成

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

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

噪声与加噪后语音信号时域及频域图如下图3-2与3-3所示:

图3-2 余弦噪声信号的时域及频域图

图3-3 加噪后语音信号时域及频域图

与噪音信号对比,加入噪声后的波形与噪音信号相比出现了一些区别:噪音看起来是

文档

实用标准文案

一条蓝色的纸带,实际是余弦信号,时域幅值在-0.5与0.5之间,但是在加了噪音之后语音信号发生了巨大差别,不在是一条光滑的纸带,时域幅值在-2与2之间,其频域变化不大,图3-2所示的噪声信号与加噪后图3-3所示的信号时域、频谱对比可看出。

3.5 FIR滤波器的设计

3.5.1 FIR滤波器设计原理

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

数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高5~10倍,结果,成本较高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则IIR滤波器就必须加全通网络进行相位较正,同样要大增加滤波器的节数和复杂性。

整体来看,IIR滤波器达到同样效果阶数少,延迟小,但是有稳定性问题,非线性相位;FIR滤波器没有稳定性问题,线性相位,但阶数多,延迟大。

给出滤波器的归一化性能指标,采用窗函数法设计各种类型的滤波器(低通、高通、带通、带阻)来对叠加噪声后的与语音信号进行滤波处理[4]。 3.5.2 FIR带通滤波器设计要求

利用MATLAB仿真软件系统结合窗函数法设计一个数字带通FIR滤波器。 设计要求:

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

(2)对滤波前后的信号进行对比,分析信号的变化;回放语音信号,并与原始语音信号对比。 技术指标:

文档

实用标准文案

低端阻带截止频率 fc1=1000 Hz 低端通带截止频率 fb1=1200 Hz 高端通带截止频率 fb2=3000 Hz 高端阻带截止频率 fc2=3200 Hz 通带衰减系数 ap=1dB 阻带衰减系数 as=100 dB 3.5.3 设计方法

设计FIR数字滤波器的方法通常有三种:窗函数法,频率抽样法,等纹波逼近法。本次课程设计讨论的是第一种窗函数法。这种方法也叫傅里叶级数法。

一般是先给定所要求的理想滤波器频率响应 ,导出 ,我们知道理想滤波器的冲击响应 是无限长的非因果序列,而我们要设计的是h(n)是有限长的FIR滤波器,所以要用有限长序列h(n)来逼近无限长序列,从美玉老师的《数字信号处理》得下式:

hd(n) =

12H(ejw)ejwdw (3-1)

常用的方法是使用有限长的窗函数w(n)来截取 即:

h(n)=w(n) (3-2)

根据在时域是相乘关系,在频域则是卷积关系:

jwjwH(e)W(e)其中R为矩形窗谱,是FIR滤波器频率响应。

H(e)jw=

12Hd(ejw)WR[ej(w)]d (3-3)

在设计过程中,将无限长序列变为有限长序列是通过时域加矩形窗乘积来实现的截断。常见的窗函数有:矩形窗,汉宁窗,海明窗,布莱克曼窗,凯泽窗等,从李勇、徐震的《MATLAB辅助现代工程数字信号处理》中得下面分几种常见的窗函数:

(3-4) +

文档

形窗:w(n)=

RN(n)

窗谱:

WRw(n)en0N1实用标准文案

jw=WRejw(N1)/2 (3-5)

布莱克曼窗的时域形式可表示为:

2n4n0.420.5cos()0.8cos(), w(n)M1M10,(3-6)

本次课程设计使用布莱克曼窗设计带通滤波器,对加了噪音的信号进行处理,还原出原始语音信号。 3.5.4 设计步骤

从宋寿鹏的《数字滤波器设计及工程应用》中得窗函数法设计FIR滤波器的主要步骤及公式如下:

a.给出希望设计的滤波器的频率响应的函数 ;

b.根据允许的过渡带宽度及阻带衰减,初步选定窗函数及其长度N;

c.根据技术要求确定待求滤波器的单位取样响应; 或

hd(n)12hd(n)12Hd(ej)ejnd (3-7) (3-8)

20Hd(ej)ejnd d.将 与窗函数相乘得FOR数字滤波器的单位取样响应 , h(n)=hd(n)(n) (3-9) e.按如下方法计算FIR数字滤波器的频率响应,并验证是否达到所要求的技术指标:

jjj H(e)=12Hd(e)*W(e) (3-10)

H(e)=h(n)e-jn (3-11)

jN-1 由H(e)计算幅度响应 和相位响应 。计算式(15)时可用FFT算法。如果H(ej)或()jn=0不满足要求,可根据具体情况重复b,c,d,e步骤,直到满足技术要求。 根据布莱克曼窗设计的FIR带通滤波器响应及特性如下图所示:

文档

实用标准文案

图3-4 带通滤波器响应及函数特性图

3.6 利用FIR带通滤波器滤波并分析结果

利用布莱克曼窗设计的FIR带通滤波器对合成的含噪信号进行滤波,绘出滤波前后的时域波形和频谱图,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较滤波效果,并从理论上进行分析。

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

图3-5 滤波前后的时域波形和频谱图

通过对比分析可知,滤波后的输出波形和原始语音加噪声信号的图形发生了一些变化:滤波后的输出波形明显在对应时间幅度比原语音加噪声信号的要小,而且滤波的效果也与 滤波器的选择有关,可以看出滤波器的性能差异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以发现滤波前后的声音有变化.带通滤波器滤波后,已很接近原来的声音。从频谱图中我们还可以看出声音的能量信号主要集中在两边,滤波器达到既定要求。

文档

实用标准文案

总结

要求录制一段语音信号,并对录制的信号进行采样,使用MATLAB绘出采样后的语音信号的时域波形和频谱图;然后在给原始的语音信号叠加上噪声,并绘出叠加噪音后的时域图及频谱图;再次设计FIR带通滤波器,针对语音信号的性质选取一种适合的窗函数设计滤波器进行滤波;画出滤波后的时域波形图和频谱图,最后对滤波前后的信号进行对比分析,回放语音信号,并与原始信号对比,分析结果。

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

应用MATLAB 根据给定的技术指标进行FIR 数字滤波器设计时,可根据设计要求随时改变参数,以使滤波器达到最优化。 使用布莱克曼窗设计FIR带通滤波器对合成的含噪信号进行滤波,并对叠加噪声后的语音信号进行滤波。比较滤波前后的时域波形和频谱并进行分析。在频域波形中,我们可以明显的看到设计的滤波器对语音信号进行了滤波处理,将噪声进行了滤除。此次滤波基本达到了要求,完成了设计指标。

总之,加噪声的后的语音信号经过FIR滤波器的滤波处理,时域和频域图与原始信号都几乎一样,这说明噪声几乎全被滤掉了,同时也说明FIR滤波器设计还算理想,能满足所需要求。也可看出滤波之后仍有一小段噪声没有滤除,后面经过调试滤波器的参数发现当fp、fs参数的数值相差增大时,剩余噪声便会减少,于是通过进一步调试得到了较好的效果。

本课程设计的主要目的是在MATLAB环境下,使用窗函数设计法设计一个FIR滤波器,并对叠加了噪声后的语音信号进行滤波去噪。此次滤波基本达到了要求,完成了设计指标。

文档

实用标准文案

参考文献

[1]丁美玉. 数字信号处理. 西安电子科技大学出版社 151:222 [2]朱冰莲 .数字信号处理. 电子工业出版社 87:93

[3]李勇、徐震,MATLAB辅助现代工程数字信号处理,西安电子科技大学出版社 48:56 [4]刘树棠译.数字信号处理——使用MATLAB.西安:西安交通大学出版社 42:49 [5]罗军辉等编著.MATLAB7.0在数字信号处理中的应用.北京:机械工业出版社.28:34 [6] 万永革.数字信号处理的MATLAB实现.科学出版社,2007. [7] 王力宁.MATLAB与通信仿真.人民邮电出版社,1999. [8] 宋寿鹏.数字滤波器设计及工程应用.江苏大学出版社,2007. [9] 普埃克著,方艳梅译.数字信号处理(第四版).电子工业出版社,2007. [10] 程佩青.数字信号处理教程(第3版).清华大学出版社,2007. [11] 陈亚勇等.MATLAB信号处理详解.人民邮电出版社,2001.

文档

实用标准文案

附录

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

[y,fs,nbits]=wavread ('C:\\Documents and Settings\\jszx\\桌面\\录音.wav'); y=y(:,1);

N=length (y); %求出语音信号的长度 Y=fft(y,N); %傅里叶变换 subplot(2,1,1); t=(0:N-1)/fs; figure(1); plot(t,y);

axis([0 12 -1.5 1.5]); title('原始信号波形'); subplot(2,1,2); plot(abs(Y)); title('原始信号频谱');

f=fs*(0:1023)/2048; Au=0.5;

d=[Au.*cos(2*pi*10000*t)]'; %噪声为10kHz的余弦信号 d=d(:,1);

dd=fft(d,N); %傅里叶变换 figure(2); subplot(2,1,1); plot(t,d);

axis([0 12 -0.6 0.6]) title('噪声信号波形'); subplot(2,1,2); plot(abs(dd)); title('噪声信号频谱');

文档

实用标准文案

x2=y+d; S=fft(x2); figure(3); subplot(2,1,1); plot(t,x2); axis([0 12 -2 2]) title('加噪信号波形'); subplot(2,1,2); plot(abs(S)); title('加噪信号频谱');

%FIR带通滤波器

fp1=1200;%输入设计指标 fp2=3000; fs1=1000; fs2=3200; Fs=8000;

wp1=fp1/(Fs/2);%计算归一化角频率 wp2=fp2/(Fs/2); ws1=fs1/(Fs/2); ws2=fs2/(Fs/2);

deltaw=wp1-ws1;%计算过渡带的宽度

N0=ceil(11/deltaw);%按布莱克曼窗设计算滤波器长度

N=N0+mod(N0+1,2)%为实现FIR类型I偶对称滤波器,应确保N为奇数 windows=blackman(N);%使用布莱克曼窗

wc1=(ws1+wp1)/2;%截止频率取通阻带频率的平均值 wc2=(ws2+wp2)/2;

b=fir1(N-1,[wc1,wc2],windows);%用fir1子函数求系统函数系数 [db,mag,pha,grd,w]=freqz_m(b,1); n=0:N-1; dw=2/1000;

文档

实用标准文案

Rp=-(min(db(wp1/dw+1:wp2/dw+1))) ws0=[1:ws1/dw+1,ws2/dw+1:501]; As=-round(max(db(ws0))) figure(4); subplot(2,2,1) stem(0:N-1,b);

axis([0,N,1.1*min(b),1.1*max(b)]); title('实际脉冲响应'); xlabel('n'); ylabel('h(n)'); subplot(2,2,2) stem(n,windows); axis([0,N,0,1.1]); title('窗函数特性'); xlabel('n'); ylabel('wh(n)'); subplot(2,2,3) plot(w/pi,db); axis([0,1,-100,10]); title('幅频响应'); xlabel('频率(×\\pi)'); ylabel('H(e^(j\\omega))');

set(gca,'XTickMode','manual','XTick',[0,wc1,wc2,1]); set(gca,'XTickMode','manual','YTick',[-50,-20,-3,0]); grid

subplot(2,2,4) plot(w/pi,pha); axis([0,1,-4,4]); title('相频响应');

xlabel('频率(×\\pi)');ylabel('\\phi(\\omega)');

set(gca,'XTickMode','manual','XTick',[0,wc1,wc2,1]);

文档

实用标准文案

set(gca,'XTickMode','manual','YTick',[-pi,0,pi]); grid

[y,fn,nbits]=wavread(' C:\\Documents and Settings\\jszx\\桌面\\录音.wav '); Y=fft(y);

y1=fftfilt(b,y); %用blabckman滤波器进行滤波 Y1=fft(y1); n=0:length(y)-1; figure(5);

subplot(2,2,1);plot(y);title('未滤波语音波形'); subplot(2,2,2);plot(y1);title('滤波后语音波形'); subplot(2,2,3);plot(n,Y);title('未滤波语音频谱'); subplot(2,2,4);plot(n,Y1);title('滤波后语音频谱'); sound(y1,fn,nbits); %滤波后语音回放

文档

实用标准文案

致谢

通过本次信号处理课程设计,我了解到了做任何事都要有耐心、更要细心做事。这次的课程设计让我也意识到自己的理论知识还是不够好,在今后的学习中我们需要更努力的学习课本的专业知识。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。我学到了许多东西,体会到了从书本学习与实际应用中的不同,这种感同身受必将对我们今后的学习与生活带来很大的帮助。

虽然我们每个人都有自己的题目,但是我们还是充分发挥了我们的团结合作能力,有什么错误的大家一起讨论,一起找资料解决,特别是题目相似的同学,大家有资料都一起研究,而且还有我们指导老师陈老师的精心指导,大家合作得都很愉快。

最后,在这里我还要感谢陈海燕老师给予我的帮助,以前很少与她进行交流,但是通过这次课程设计,在她的指导下她我学到了很多以前没有学到的东西也让我明白了自己的不足,在以后的日子里,我会不断的努力学习,把专业学好,并锻炼自己独立思考、解决问题的能力,理论联系实际学以致用,真正地达到锻炼自己能力的目的,取得圆满成功。

文档

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务