已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘摘 要要 此次课程设计主要是要采集一段语音信号,并用 MATLAB 软件绘制出语音信号波形并对 语音信号进行截短、预处理等操作,观察其波形的变化并与原始语音信号波形加以对比。然 后对该语音信号加入高斯白噪声,观察加噪后的波形及其频谱图,观察噪声对语音信号的影 响。最后根据给定的相应技术指标,用汉宁窗设计一个满足指标的 FIR 低通滤波器,对该语 音信号进行滤波去噪处理,最后对前后时域和频域的波形图进行对比分析,从波形可以看出 噪声被完全滤除,达到了语音不失真的效果。同时在课设过程中,通过与同组的其他同学交 流,比较各种滤波方法性能的优劣并找到相对的最佳滤波方法。在此次课程设计中,以 Windows XP 系统为操作平台. 本次设计在 MATLAB 环境下,用窗函数法设计 FIR 滤波器。通过了解不同的窗函数方法 及性能设计 FIR 低通滤波器,并对对所设计的滤波器进行分析比较,得出各种方法设计的滤 波器的优缺点,从而正确的选择 FIR 数字滤波器的窗函数及设计方法。 关键词关键词:FIR 滤波器,MATLAB,窗函数,汉宁窗 目录目录 前言.1 一 MATLAB 程序设计的基本方法 .2 二 数字信号处理的基本理论与方法3 2.1 设计理论依据 .3 三 利用 MATLAB 采集语言信号并分析.5 3.1 语音的录入与打开 .5 3.2 录制语音信号过程 .5 3.3 时域信号的 FFT 分析 .6 四 用 MATLAB 环境采用窗函数法设计数字滤波器.7 4.1 数字滤波器概念及原理 .7 4.2 数字滤波器设计的过程 .7 4.3 低通 FIR 滤波器基本原理 .8 4.4 利用窗函数法设计线性相位 FIR 数字滤波器 .8 4.5 利用HANNING窗设计低通滤波器10 五 设计过程.11 5.1 流程图 11 5.3 信号频谱分析 13 5.4 信号的脉冲响应 13 设计总结15 参考文献16 附录17 致谢20 前言前言 数字化是控制系统的重要发展方向,而数字信号处理已在通信、语音、图像、自动控制、 雷达、军事、航空航天等领域广泛应用。数字信号处理方法通常涉及变换、滤波、频谱分析、 编码解码等处理。数字滤波是重要环节,它能满足滤波器对幅度和相位特性的严格要求,克 服模拟滤波器所无法解决的电压和温度漂移以及噪声等问题。而有限冲激响应 FIR 滤波器在 设计任意幅频特性的同时能够保证严格的线性相位特性。利用 MATLAB 工具软件的辅助设计, 使得 FIR 滤波器具有快速、灵活、适用性强,硬件资源耗费少等特点。 FIR 滤波器是最常用的组件之一,它完成信号预调、频带选择和滤波等功能。FIR 滤波 器在截止频率的边沿陡峭性能虽然不及 IIR 滤波器,但是,考虑到 FIR 滤波器严格的线性相 位特性和不像 IIR 滤波器存在稳定性的问题,FIR 滤波器能够在数字信号处理领域得到广泛 的应用。FIR 是有限冲激响应(Finite Impulse Response)的简称。由线性系统理论可知, 在某种适度条件下,输入到线性系统的一个冲击完全可以表征系统。当我们处理有限的离散 数据时,线形系统的响应(包括对冲击的响应)也是有限的。若线性系统仅是一个空间滤波 器,则通过简单地观察它对冲击的响应,我们就可以完全确定该滤波器。通过这种方式确定 的滤波器称为有限冲击响应(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 现象所带来的影响。 一一 MATLABMATLAB 程序设计的基本方法程序设计的基本方法 MATLAB 是矩阵实验室(Matrix Laboratory)的简称,是美国 MathWorks 公司出品的商 业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交 互式环境,主要包括 MATLAB 和 Simulink 两大部分。MATLAB 和 Mathematica、Maple 并称 为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。它集图示和精 确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值 计算的领域得到广泛应用。它不仅是一个在各类工程设计中便于使用的计算工具,而且也是 一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校 中十分流行,在各类工业应用中更有不俗的表现。MATLAB 可以在几乎所有的 PC 机和大型计 算机上运行,适用于 Windows、UNIX 等各种系统平台。 总的来说,该软件有三大特点。一是功能强大。具有数值计算和符号计算、计算结果和 编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。 MATLAB 以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性 强。当学好 MATLAB 的同时,会更好的帮助自己去就解决一些难题,而且 MATLAB 拥有非常好 的发展前途,对我们未来的帮助也是不可限量的。 二二 数字信号处理的基本理论与方法数字信号处理的基本理论与方法 2.1 设计理论依据 图 2.1 原理示意图 2.1.1 采样定理 在进行模拟/数字信号的转换过程中,当采样频率 fs.max 大于信号中,最高频率 fmax 的 2 倍时,即:fs.max=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一 般实际应用中保证采样频率为信号最高频率的 510 倍;采样定理又称奈奎斯特定理: 理想低通信道的最高大码元传输速率=2W*log2 N (其中 W 是理想低通信道的带宽,N 是 电平强度) 2.1.2 采样频率 采样频率(也称为采样速度或者 采样率)定义了每秒从连续信号中提取并组成离散 信号的采样个数,它用赫兹( Hz)来表示。采样频率的倒数是采样周期或者叫作 采样 时间,它是采样之间的时间间隔。 采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。 采样频率的常用的表示符号是 f_s。 2.1.3 采样位数与采样频率 采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回 放的声音就越真实。电脑中的声音文件是用数字 0 和 1 来表示的,所以在电脑上录音的本质 就是把模拟声音信号转换成数字信号。反之,在播放时则是把数字信号还原成模拟声音信号 输出。 采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就 越真实越自然。 采样位数和采样频率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两 个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。 每增加一个采样位数相当于力度范围增加了 6dB。采样位数越多则捕捉到的信号越精确。采 样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。 三三 利用利用 MATLABMATLAB 采集语言信号并分析采集语言信号并分析 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 同时使用。 四四 用用 MATLABMATLAB 环境采用窗函数法设计数字滤波器环境采用窗函数法设计数字滤波器 4.1 数字滤波器概念及原理 4.1.1 数字滤波器概念 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来 达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应 (IIR)滤波器和有限冲激响应(FIR)滤波器。与 IIR 滤波器相比,FIR 的实现是非递归的, 总是稳定的;更重要的是,FIR 滤波器在满足幅频响应要求的同时,可以获得严格的线性相 位特性。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领 域得到广泛应用。 4.1.2 数字滤波器原理 数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理, 或者说利用数字方法按预定的要求对信号进行变换。 数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为 代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有 多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激 响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。从性能上来说,IIR 滤波器传输函数 的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元 少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位 非线性越严重。相反,FIR 滤波器却可以得到严格的线性相位,然而由于 FIR 滤波器传输函 数的极点固定在原点,所以只能用较高的阶数达到高的选择性;对于同样的滤波器设计指标, FIR 滤波器所要求的阶数可以比 IIR 滤波器高 510 倍,结果,成本较高,信号延时也较大; 如果按相同的选择性和相同的线性要求来说,则 IIR 滤波器就必须加全通网络进行相位较正, 同样要大增加滤波器的节数和复杂性。 整体来看,IIR 滤波器达到同样效果阶数少,延迟小,但是有稳定性问题,非线性相位; FIR 滤波器没有稳定性问题,线性相位,但阶数多,延迟大。 4.2 数字滤波器设计的过程 不论是 IIR 滤波器还是 FIR 滤波器的设计都包括三步: (1) 按照实际任务的要求,确定滤波器的性能指标。 (2) 用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。根据不 同的要求可以用 IIR 系统函数,也可以用 FIR 系统函数去逼近。 (3) 利用有限精度算法实现系统函数,包括结构选择、字长选择等。 4.3 低通 FIR 滤波器基本原理 设计低通 FIR 数字滤波器,寻求一系统函数,使其频率响应逼近滤波器要求 )(zH)( j eH 的理想频率响应,其对应的单位脉冲响应 )( j d eH)(nhd (3) 其中 (4.1) 如果所希望的滤波器的理想的频率响应函数为 ,则其对应的单位脉冲响应该为 j d eH (4.2) 窗函数设计法的基本原理是用有限长单位脉冲响应序列逼近。由于往往是无 nh nhd nhd 限长序列,而且是非因果的,所以用窗函数 将 截断,并对之进行加权处理,得 n nhd 到: (4.3) 就作为实际设计的 FIR 数字滤波器的单位脉冲响应序列,其频率响应函数 nh 为 j eH (4.4) 式中,N 为所选窗函数的长度。 n 4.4 利用窗函数法设计线性相位 FIR 数字滤波器 4.4.1 常用窗函数 (l) 矩形窗 1 0 N jj n n H eh n e d h nhnn , 0, j c j d c e He 1 2 N 1 (n)(e)e 2 jj dd hHd 矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较 集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现 象。 (2) 三角窗 三角窗亦称费杰(Fejer)窗,是幂窗的一次方形式,三角窗与矩形窗比较,主瓣宽约 等于矩形窗的两倍,但旁瓣小,而且无负旁瓣 (3) 汉宁窗 汉宁(Hanning)窗又称升余弦窗,汉宁窗可以看作是 3 个矩形时间窗的频谱之和,它 可以使用旁瓣互相抵消,消去高频干扰和漏能。 汉宁窗与矩形窗的谱图对比,可以看出,汉宁窗主瓣加宽(第一个零点在 2/T 处)并 降低,旁瓣则显著减小。第一个旁瓣衰减一 32dB,而矩形窗第一个旁瓣衰减-13dB。此外, 汉宁窗的旁瓣衰减速度也较快,约为 60dB/(10oct),而矩形窗为 20dB/(10oct)。由以 上比较可知,从减小泄漏观点出发,汉宁窗优于矩形窗。但汉宁窗主瓣加宽,相当于分析带 宽加宽,频率分辨力下降。 (4) 海明窗 海明(Hamming)窗也是余弦窗的一种,又称改进的升余弦窗,海明窗与汉宁窗都是余 弦窗,只是加权系数不同。海明窗加权的系数能使旁瓣达到更小。分析表明,海明窗的第一 旁瓣衰减为-42dB。海明窗的频谱也是由 3 个矩形时窗的频谱合成,但其旁瓣衰减速度为 20dB/(10oct),这比汉宁窗衰减速度慢。海明窗与汉宁窗都是很有用的窗函数。 除了以上几种常用窗函数以外,尚有多种窗函数,如平顶窗、帕仁(Parzen)窗、布拉 克曼(Blackman)窗、凯塞(kaiser)窗等。 对于窗函数的选择,应考虑被分析信号的性质与处理要求。如果仅要求精确读出主瓣频 率,而不考虑幅值精度,则可选用主瓣宽度比较窄而便于分辨的矩形窗,例如测量物体的自 振频率等;如果分析窄带信号,且有较强的干扰噪声,则应选用旁瓣幅度小的窗函数,如汉 宁窗、三角窗等;对于随时间按指数衰减的函数,可采用指数窗来提高信噪比。 4.4.2 MATLAB 窗函数的实现 利用 MATLAB 实现窗函数法设计 FIR 滤波器,主要是选择合适的窗函数进行截断运算。 先从理论上得到待逼近理想滤波器的单位脉冲响应,再由通带、阻带衰减指标确定窗函数类 型,由过渡带确定 FIR 滤波器阶数 M,最后利用 MATLAB 计算出窗函数的值,以及 hdkWnk的 值,由此即得所设计的 FIR 滤波器的 hk。MATLAB 提供了许多常用的窗函数,其中部分窗 函数的调用形式为 W=hanning(N) (4.5) 其中 N 是窗函数的长度,返回的变量 w 是一个长度为 N 的列向量,给出窗函数 N 点的取 值。 4.5 利用 hanning 窗设计低通滤波器 汉宁窗函数是余弦平方函数,又称之为升余弦函数,它的时域形式可以表为: (4.6) 其中。它的频域幅度特性函数为: 1,2,kn (4.7) 其中为矩形窗函数的幅度频率特性函数。汉宁窗函数的最大旁瓣值比主瓣值低( ) R W 31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了一倍为 汉宁窗函数的时域幅度与频 域幅度特性曲线的 MATLAB 实现的曲线图如图 4.1 所示 图 4.1 滤波器幅频特性及相频特性 1 () 2 22 ( )0.5( )0.25()() 11 N j RRR WWWWe NN ( )0.5(1 cos(2) 1 k w k n 8 N 五五 设计过程设计过程 5.1 流程图 本课程设计主要是先采集一段语音信号,然后对信号进行采集,预调制,并通过进行编 写函数加入高斯白噪声噪声,然后采用汉宁窗函数法设计 FIR 低通滤波器,并且对这段加入 噪声的语音信号函数进行滤波去噪,达到信号不失真的效果。最后用 MATLAB 程序画出前后 时域和频域的波形图进行对比分析。对于整个课程设计,程序的设计流程图如下图 5.1 所示: 录制语音并将语音格式转换为.wav 加入高斯白噪声 对语音信号进行频谱分析,画出时域和频域波形图 用汉宁窗设计 FIR 滤波器 画出幅频响应 用 FIR 滤波器对语音信号进行滤波 画出语音信号滤波前后波形并且进行比较分析 开始 结束 图 5.1 程序设计流程图 5.2 语音信号的处理过程 录入语音信号,并用 MATLAB 程序绘出语音信号波形,然后对语音信号截短并与处 理,对比信号波形图如图 5.2 所示。给语音信号加入高斯白噪声噪声,观察其波形变化,并 可在程序中用 sound 语句听出加噪后的语音。最后用汉宁窗函数法设计的 FIR 低通滤波器将 噪声滤除,对比语音信号、加噪后的语音信号、滤波后的语音信号的波形图,观察其变化如 图 5.3 所示。 图 5.2 语音信号波形图 图 5.3 信号处理波形图 5.3 信号频谱分析 根据对原始语音信号截短、预处理,加入高斯白噪声噪声以及用滤波器滤波的波形图分 析其对应的频谱图,并将这些频谱加以比较,可以看出,加噪之后出现高频,语音失真,而用汉 宁窗设计的 FIR 低通滤波器对语音信号进行滤波处理,可以滤除语音信号的高频成分,只剩 下低频成分。并且将滤波前后的频谱图对比可知,高频成分的频谱幅度接近于 0,即滤除了 高频成分,达到了不失真的效果。对语音信号的频谱分析如图 5.4 所示: 图 5.4 信号频谱分析图 5.4 信号的脉冲响应 单位脉冲响应即为系统对单位脉冲的响应。脉冲响应确定一个线性系统的特性,包含 有与频率域中的传输函数相同的信息,而传输函数是脉冲响应的傅立叶变换。线性系统的输 出由系统的输入与它的脉冲响应的卷积给出。本次课程设计单位脉冲响应由汉宁窗给出,如 图 5.5 所示: 图 5.5 单位脉冲响应 设计总结设计总结 此次课程设计主要是要采集一段语音信号,并用 MATLAB 软件绘制出语音信号波形并对 语音信号进行截短、预处理等操作,观察其波形的变化并与原始语音信号波形加以对比。然 后对该语音信号加入高斯白噪声噪声,观察加噪后的波形及其频谱图,观察噪声对语音信号 的影响。最后根据给定的相应技术指标,用汉宁窗设计一个满足指标的 FIR 低通滤波器,对 该语音信号进行滤波去噪处理,最后对前后时域和频域的波形图进行对比分析,从波形可以 看出噪声被完全滤除,达到了语音不失真的效果。同时在课设过程中,通过与同组的其他同 学交流,比较各种滤波方法性能的优劣并找到相对的最佳滤波方法。在此次课程设计中, 以 Windows XP 系统为操作平台,以 MATLAB 为程序设计的操作软件 在此次课程设计过程中,我们学会了语音录制的各种方法,如在酷狗等音乐盒中对语音 信号截取,或在电脑上用录音机对语音信号进行录制,或在 MATLAB 软件上对语音信号进行 录制。同时我们又复习了一次以前学过的知识,如语音信号的采集,各种窗函数的性能以及 各种滤波器的优劣,并且我们又
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育用品采购合同审核
- 企业年会导演合作协议
- 员工发展与福利计划
- 广告传媒董事长聘用协议样本
- 财务报告保密协议管理办法
- 颈椎病的诊断与治理
- 水利工程招投标合同审查要点
- 售后服务管理评审修订制度
- 电子竞技公司聘用合同范本
- 初级消防安全课件
- 四级翻译完整版本
- 2024年酒店转让居间协议
- 小学生安全教育与自我保护能力培养研究课题研究方案
- 2024年福建省公务员录用考试《行测》答案及解析
- 美丽农村路建设指南DB41-T 1935-2020
- 2024年大学试题(计算机科学)-网络工程设计与系统集成考试近5年真题集锦(频考类试题)带答案
- 落实《中小学德育工作指南》制定的实施方案
- 2023年制药设备行业分析报告及未来五至十年行业发展报告
- 期中测试卷(试题)-2024-2025学年三年级上册语文统编版
- 医学教材打印版护士首次执业注册体检表
- 《月圆中秋节:1 对月当歌》教学设计-2024-2025学年五年级上册综合实践活动沪科黔科版
评论
0/150
提交评论