资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
摘 要此次课程设计主要是要采集一段语音信号,并用MATLAB软件绘制出语音信号波形并对语音信号进行截短、预处理等操作,观察其波形的变化并与原始语音信号波形加以对比。然后对该语音信号加入高斯白噪声,观察加噪后的波形及其频谱图,观察噪声对语音信号的影响。最后根据给定的相应技术指标,用汉宁窗设计一个满足指标的FIR低通滤波器,对该语音信号进行滤波去噪处理,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果。同时在课设过程中,通过与同组的其他同学交流,比较各种滤波方法性能的优劣并找到相对的最佳滤波方法。在此次课程设计中,以Windows XP系统为操作平台.本次设计在MATLAB环境下,用窗函数法设计FIR滤波器。通过了解不同的窗函数方法及性能设计FIR低通滤波器,并对对所设计的滤波器进行分析比较,得出各种方法设计的滤波器的优缺点,从而正确的选择FIR数字滤波器的窗函数及设计方法。关键词:FIR滤波器,MATLAB,窗函数,汉宁窗目录前言1一 MATLAB程序设计的基本方法2二 数字信号处理的基本理论与方法32.1 设计理论依据3三 利用MATLAB采集语言信号并分析53.1 语音的录入与打开53.2 录制语音信号过程53.3时域信号的FFT分析6四 用MATLAB环境采用窗函数法设计数字滤波器74.1 数字滤波器概念及原理74.2 数字滤波器设计的过程74.3 低通FIR滤波器基本原理84.4 利用窗函数法设计线性相位FIR数字滤波器84.5 利用hanning窗设计低通滤波器10五 设计过程115.1 流程图115.3 信号频谱分析135.4 信号的脉冲响应13设计总结15参考文献16附录17致谢20前言数字化是控制系统的重要发展方向,而数字信号处理已在通信、语音、图像、自动控制、雷达、军事、航空航天等领域广泛应用。数字信号处理方法通常涉及变换、滤波、频谱分析、编码解码等处理。数字滤波是重要环节,它能满足滤波器对幅度和相位特性的严格要求,克服模拟滤波器所无法解决的电压和温度漂移以及噪声等问题。而有限冲激响应FIR滤波器在设计任意幅频特性的同时能够保证严格的线性相位特性。利用MATLAB工具软件的辅助设计,使得FIR滤波器具有快速、灵活、适用性强,硬件资源耗费少等特点。FIR滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。FIR滤波器在截止频率的边沿陡峭性能虽然不及IIR滤波器,但是,考虑到FIR滤波器严格的线性相位特性和不像IIR滤波器存在稳定性的问题,FIR滤波器能够在数字信号处理领域得到广泛的应用。FIR是有限冲激响应(FiniteImpulseResponse)的简称。由线性系统理论可知,在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。当我们处理有限的离散数据时,线形系统的响应(包括对冲击的响应)也是有限的。若线性系统仅是一个空间滤波器,则通过简单地观察它对冲击的响应,我们就可以完全确定该滤波器。通过这种方式确定的滤波器称为有限冲击响应(FIR)滤波器。FIR滤波器是在数字信号处理(DSP)中经常使用的两种基本的滤波器之一。FIR滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。用窗函数设FIR滤波器的基本思路:从时域出发设计h(n)逼近理想hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n)一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器单位抽样响应h(n)最直接的方法是先将hd(n)往右平移,再进行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。MATLAB设计FIR滤波器有多种方法和对应的函数。窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。一 MATLAB程序设计的基本方法MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到广泛应用。它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等各种系统平台。总的来说,该软件有三大特点。一是功能强大。具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。MATLAB以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性强。当学好MATLAB的同时,会更好的帮助自己去就解决一些难题,而且MATLAB拥有非常好的发展前途,对我们未来的帮助也是不可限量的。 二 数字信号处理的基本理论与方法2.1 设计理论依据 图2.1 原理示意图 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍;采样定理又称奈奎斯特定理:理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度) 采样频率采样频率(也称为采样速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。采样频率的常用的表示符号是 f_s。 采样位数与采样频率采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实。电脑中的声音文件是用数字0和1来表示的,所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。反之,在播放时则是把数字信号还原成模拟声音信号输出。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。采样位数和采样频率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。三 利用MATLAB采集语言信号并分析3.1 语音的录入与打开利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用MATLAB画出。我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。y,fs,bits=wavread(Blip,N1 N2),用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。N1 N2表示读取从N1点到N2点的值(若只有一个N的点则表示读取前N点的采样值)。sound(x,fs,bits); 用于对声音的回放。向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。3.2 录制语音信号过程 打开PC机上的酷狗音乐,用鼠标右击播放列表中的任意一首歌曲,在弹出的下拉列表中单击工具,在工具栏选择制作铃声,然后显示如图3.1所示的界面,点击添加歌曲,选择一首喜欢的歌,设置起点和终点,并将格式转换为WAV格式,最后进行保存且与所写的程序对应,语音录音完成。 图3.1 录制语音信号图3.3时域信号的FFT分析函数的一种调用格式为: y=fft(x) (3.1)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基2FFT算法;否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为: y=fft(x,N) (3.2)式中,x,y意义同前,N为正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x补零至长度N。若向量x的长度大于N,则函数截短x使之长度为N。若x 为矩阵,按相同方法对x进行处理。经函数fft求得的序列y一般是复序列,通常要求其幅值和相位。MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和FFT同时使用。四 用MATLAB环境采用窗函数法设计数字滤波器4.1 数字滤波器概念及原理 数字滤波器概念数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。 数字滤波器原理数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号