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

2020-04-17 06:20

的过程。

滤波器特性可以用其频率响应来描述,按其特性的不同,可以分为低通滤波器,高通滤波器,带通滤波器和带阻滤波器等。

2.3 FIR滤波器原理

FIR滤波器(有限长单位冲激响应滤波器)是在数字信号处理(DSP)中经常使用的两种基本的滤波器之一,另一个为IIR滤波器。IIR滤波器是无限冲激响应滤波器。

不论哪一种滤波器设计方法,都要求出滤波器的单位冲激响应h(n),然后才能在时域中实现频域中的滤波。

在频域,当其输入信号为X(ejω)时,如滤波器的频率响应为H(ejω),则其输出信号为Y(ejω)=X(ejω)H(ejω)。

在时域,设滤波器的单位冲激响应h(n)为一N点序列,即0≤n≤N-1时h(n)的值不为零,根据离散傅氏变换的性质,则可以将滤波器的输入序列x(n)的响应y(n)表示为x(n)与h(n)的卷积和,即:

这就是滤波系统的差分方程,它给滤波器的实现奠定了理论基础。即求出时域的h(n)后,便可通过卷积来实现频域的滤波。 卷积和运算主要有以下几个步骤: (1) h(n)序列N个点数值的存储

由于h(n)是根据滤波性能要求已经设计好的有限长单位冲激响应,故其N个点的数值是已知的,因此可以存放在ROM或RAM当中,且对应着N个不同的地址,便于寻址。

(2) 输入序列x(n)的移位寄存

输入序列x(n)是不断变化的,因此只能对其进行移位寄存,寄存器的个数为N,即N个寄存器中分别存放着x(n)、x(n-1)……x(n-N+1),它们都随着n的变化而变化。

(3) 乘法器

用以完成两个数值的乘法,即h(m)x(n-m),也就是将存储器中N地址所对应的N个固定数值h(m)分别与N个移位寄存器中的不断变化的N个变化数值x(n-m)相乘。 (4) 累加器

用以实现N个乘积的累加,即将当前x(n)所对应的N个乘积进行累加,所得到的和就是y(n)。当滤波器的下一个输入值即x(n +1)到来时,累加器清零,并重新将下一组x(n +1)所对应的N个乘积进行累加,所得到的和就是y(n +1)。 2.4 窗函数简介

数字信号处理的主要数学工具是傅里叶变换。而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无线长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。

为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截短,截断函数称为窗函数,简称为窗。信号截短以后产生的能量泄漏现象是必然的,因为窗函数w(t)是一个频带无限的函数,所以即使原信号x(t)是有限带宽信号,而在截短以后也必然成为无限带宽的函数,即信号在频域的能量与分布被扩展了。又从采样定理可知,无论采样频率多高,只要信号一经截短,就不可避免地引起混叠,因此信号截短必然导致一些误差。

泄漏与窗函数频谱的两侧旁瓣有关,如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱,为此,在时间域中可采用不同的窗函数来截短信号。 2.5滤波器的特点 优点:

(1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一

特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要; (2)可以在幅度特性随意设计的同时,保证精确、严格的线性相位,还可

得到多带幅频特性;

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

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

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

(1)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价; (2)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算

机辅助设计程序完成。

3 FIR滤波器的Matlab设计

3.1. 总体方案设计

本次课程设计所采用的主要软件为Matlab。设计中用到的函数主要有wavread,sound,fft,subplot,plot,fir1,freqz,filter。

课程设计利用窗函数法设计FIR数字滤波器,并利用MATLAB作为辅助工具仿真滤波前后的时域波形和频谱。对于DSP的处理,首先,通过Matlab给语音信号添加高频噪音,即将原始信号调制到某一高频上(本设计用10000hz),再将其与原始语音信号相叠加,最后将这个叠加后的信号转化为数据(matlab编程),并存入后缀为dat的文件中。之后根据仿真结果使用MATLAB的设计分析工具FDATOOL产生滤波器参数。将混叠后的信号数据和滤波器参数输入CCS进行DSP编程,在DSP中实现FIR带通滤波,并使用CCS的频谱分析功能,查看最终DSP的滤波效果。

3.2 语音信号的采集

使用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动MOOo录音专家。按下录音按钮,接着对话筒录音,录音结束后屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。如图3.1所示,以文件名“voice”保存入matlab当前工作路径 中。可以看到,文件存储器的后缀默认为.wav ,这是WINDOWS 操作系统规定的声音文件存的标准。

3.3 matlab具体处理

初始化 读入语音信号 原始音频抽样 加噪声并低通滤波

导出混合信号供DSP处理 3.3.1 FIR滤波器的matlab实现

FIR参数设定及频域响应特性

根据上述要求在matlab中采用fir2函数设计低通FIR滤波器,其程序代码为: f=[0 0.38 0.5 1]; m=[1 1 0 0]; b=fir2(36,f,m);

在MATLAB中输入以上代码,求出滤波器系数如下具有两边对称, h(0)=h(36)=-0.0010, h(1)=h(35)=-0.0036 , h(3)=h(33)=0.0065 ,

h(2)=h(34)=0.0000

h(4)=h(32)=0.0032 , h(5)=h(31)=-0.0088

h(6)=h(30)=-0.0093 , h(7)=h(29)=0.0090 , h(8)=h(28)=0.0184 h(9)=h(27)=-0.0047 , h(10)=h(26)=-0.0297 , h(11)=h(25)=-0.0071 h(12)=h(24)=0.0417 , h(13)=h(23)=0.0316 , h(15)=h(21)=-0.0848, h(16)=h(20)=0.0598, h(18)=0.4375

CCS的输入语音信号的辅助产生(MATLAB)

1、理想情况:FIR 滤波器的输入数据存储在indata.dat 文件中,共300 个

h(14)=h(22)=-0.0524 h(17)=h(19)=0.3108


语音信号的FIR滤波器处理课程设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学物理(上) 第九章 静电场 习题答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: