音频信号频谱分析及滤波要点

发布时间:2018-10-14 13:56:47

宜宾学院

物理与电子工程学院

DSP设计报告

题目: 音频信号频谱及滤波

专业: 物理与电子工程学院

班级: 2012 硕勋励志班

学号: 120302023

姓名:

音频信号频谱分析及滤波

一、 设计任务

1、 用计算机 开始所有程序---娱乐录音机程序,录取本人的“物电学院”音频信号,时间约为2。格式为8KHz采样,8位量化,单声道,以自已名字命名的.wav文件。(格式转化在录音机的“文件”下拉菜单的“属性”,选择“立即转换”,再到“属性”里选择相应参数计算机录音一般是采样率为44.1kHz16位量化;为减小计算量,在录机的文件属性立即转换, 将声音数据转换为采样率8kHz8位量化)。

2、 对语音信号逐字进行频谱分析,分析自己语音信号的频谱特征。wavread()读取声音文件,作图画出声音的时域波形,对其进行频谱分析,画出其频域波形。分析自已音频信号的特点。

3设计一个0Hz----3.4KHzIIR低通滤波器, , , 对“物”字和“”字音频信号逐字滤波。

要求:画出所设计滤波器的幅频特性曲线,并用该滤波器对音频信号滤波,画出滤波后的音频信号的时域和频域波形,结合波形比较滤波前后的时域和频域信号。同时用sound回放滤波后的声音信号。

(本题即为设计一个IIR低通滤波器,通带截止频率为3400Hz,阻带截止频率为3550Hz,阻带衰减为25dB,通带衰减为1dB

4设计一个0Hz----3.4KHzFIR低通滤波器, , ,

“物”字和“”字音频信号逐字滤波。

要求:画出所设计滤波器的幅频特性曲线,并用该滤波器对音频信号滤波,画出滤波后的音频信号的时域和频域波形,结合波形比较滤波前后的时域和频域信号。同时用sound回放滤波后的声音信号。

(本题即为设计一个FIR低通滤波器,通带截止频率为3400Hz,阻带截止频率为3550Hz,阻带衰减为25dB,通带衰减为1dB

5设计一个100Hz----8KHzIIR带通滤波器,, , , , 对“”字和“”字的音频信号逐字滤波

要求:画出所设计滤波器的幅频特性曲线,并用该滤波器对音频信号滤波,画出滤波后的音频信号的时域和频域波形,结合波形比较滤波前后的时域和频域信号。同时用sound回放滤波后的声音信号。

(本题即为设计一个IIR带通滤波器,通带截止频率为100Hz8000Hz,阻带截止频率为0Hz8100Hz,阻带衰减为25dB,通带衰减为1dB

6设计一个100Hz----8KHzFIR带通滤波器,, , , ,

对“学”字和“院”字音频信号逐字滤波。

要求:画出所设计滤波器的幅频特性曲线,并用该滤波器对音频信号滤波,画出滤波后的音频信号的时域和频域波形,结合波形比较滤波前后的时域和频域信号。同时用sound回放滤波后的声音信号。

(本题即为设计一个FIR带通滤波器,通带截止频率为100Hz8000Hz;阻带截止频率为0Hz8100Hz,阻带衰减为25dB,通带衰减为1dB

二、 任务分析

任务1

此任务就是录制自己的声音信号,但是如果采用上述所提供的方法录制声音信号,录制的的声音信号会因为电脑的不同录音的格式出现个体差异,为了便于MATLAB的调用,也就还要将所录制的声音信号转换成“.wav格式,这就先得相对比较复杂。故而我们采用专用的录音软件,这样比较方便,在此我们选择“宏乐录音器”来录制声音信号。

任务2

此任务对语音信号逐字进行频谱分析,之所以要逐字进行频谱分析,是因为人在对不同的字发声时,可能产生相同的频率成分。如果对所有字的声音一同进行FFT变换,那么便得不出字与字之间组成成分频率的差异。故而对语音信号逐字进行频谱分析,解决逐字分析,根据所有声音在数字域的分布,找出不同字对应的数据段,然后将各个字对应的数据段进行FFT变换,分析得到的频谱,便可以得到自己音频信号的特点。

任务3

此任务目的在于设计IIR低通滤波器,值得注意的一点是:所给的通带截止频率,阻带截止频率,这里的频率指的应该是模拟频率,故在设计滤波器是应该先根据(注意此为采样频率)转换成数字频率,然后根据所需设计滤波器的参数确定采用什么原型滤波器,以及采用什么方法将模拟滤波器转化为数字滤波器。

任务4

此任务是设计与参数与任务3相同的FIR滤波器。同样应该先将模拟频率转化成数字频率,然后利用窗函数法选择合适的窗函数设计FIR滤波器。此任务的难点是各种窗函数在MATLAB中调用函数的格式。

任务5

此任务是设计一个通带为1008kHzIIR带通滤波器。同样需要将所给的模拟频率转换成对应的数字频率,分析所需设计的滤波器的指标发现所给的指标存在问题,因为本设计的是针对音频信号进行频谱分析及滤波,所规定的采样频率为8kHz,由此可见频带指标违反了乃奎斯特采样定律。故在此将带通滤波器的频率做如下改动:, , , , 还有一个值得注意的地方是,在设计带通滤波器时如何将低通滤波器通过调用函数转换成带通滤波器。

任务6

此任务是设计参数和任务5相同的FIR带通滤波器。值得注意的是模拟频率到数字频率的转换和所需窗函数的调用形式,以及脉冲响应长度N值的选取。

三、 任务解决方案设计

3.1 任务1

根据任务1陈述的分析,在此我们不采用电脑自带的录音软件,而采用专用的录音软件“宏乐录音器”。下面将介绍该录音软件的界面及相应的录音操作流程。

1宏乐录音器的主界面图

单击界面上的“设置”按钮,进入“录音设置窗”,将“特征”下的“取样”选择8000的采样频率、8位。然后关闭设置窗口,进入主界面进行录音操作,录音操作较为简单,单击主界面上的“录音”按钮及进入录音状态,然后对着所选择地录音外设进行录音,录音完毕后单击主界面上的“停录”按键,及退出录音状态,最后保存所录制的音频文件(有关宏乐录音器录音的完整操作请自行查找相关的操作指南,这里只作简要的介绍)。值得注意的是在保存录音时,应该将录音保存为“.wav”格式,方便MATALB程序的调用。

3.2 任务2

对录音信号进行逐字频谱分析,首先在MATLAB中调用函数wavread()读取声音文件,函数的调用格式为:[y,fs,bits]=wavread('xx.wav')(这里的xx表示的是录音名)。执行这条语句后我们可以在MATALB中的Workspace中找到y(该音频信号的数据组)fs(该音频文件的采样频率)bits(该音频文件的量化位数)这三个变量,并发现fs=8KHz,bits=8是满足录音要求的,而变量y是一个2x15360的矩阵,这是因为我们在录音时默认的是立体声,故而只需选择一个声道的信号,即选择矩阵的某一行分析即可,在此我选择的是第一行做以下分析。作出声音信号的时域波形如图2所示:

2:声音信号的时域波形 3:截断补0后各字的时域波形

根据声音信号的时域波形,可以看出不同的字声音信号集中在不同的数据段,故我们截取这些数据段。根据截取的数据段我们可以发现,数据的点数不统一,相差较大。为了便于FFT的分析简便,并尽量减少栅栏效应对频谱分析造成影响,故而在此将所有的数据段后面补08192个数据点,进行N=8192FFT变换,从而得到高密度频谱。

4:截断补0后各字的频谱

根据图4各字的频谱,可以看出发音的频率主要集中在0—1000Hz频段之内,

实验程序:见附件(design2

3.3 任务3

IIR数字滤波器是一种离散时间系统,其系统函数为

一般满足,这类系统称为N阶系统,当时,系统函数可以看作是一个NIIR子系统与一个M-N阶的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器

3.3.1 IIR数字滤波器的设计步骤

IIR数字滤波器的设计一般有两种方法:一个是借助模拟滤波器的设计方法进行。其设计步骤是,先设计模拟滤波器,再按照某种方法转换成数字滤波器。这种方法比较容易一些,因为模拟滤波器的设计方法已经非常成熟,不仅有完整的设计公式,还有完善的图表供查阅;另外一种直接在频率或者时域内进行,由于需要解联立方程,设计时需要计算机做辅助设计。其设计步骤是:先设计过渡模拟滤波器得到系统函数,然后将按某种方法转换成数字滤波器的系统函数。这是因为模拟滤波器的设计方法已经很成熟,不仅有完整设计公式,还有完善的图表和曲线供查阅;另外,还有一些典型的优良滤波器类型可供我们使用。

为了保证转换后的稳定且满足技术要求,对转换关系提出两点要求:

(1) 因果稳定的模拟滤波器转换成数字滤波器,认识因果稳定的。

(2) 数字滤波器的频率响应的模仿模拟滤波器的频响特性,s平面的虚轴映射为z平面的单位圆,相应的频率之间呈线性关系。

利用模拟滤波器成熟的理论设计IIR数字滤波器的过程是:

(1) 确定数字低通滤波器的技术指标:通带边界频率通带最大衰减阻带截止频率阻带最小衰减

(2) 将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。

(3) 按照模拟低通滤波器的技术指标设计过渡模拟低通滤波器。

(4) 用所选的转换方法,将模拟滤波器转换成数字低通滤波器系统函数

IIR数字滤波器的设计流程图如下:

5IIR数字滤波器的设计流程图

3.3.2 脉冲不变法设计IIR数字滤波器的原理

一、设计原理

利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,这种模仿可以从不同的角度出发。脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响

应序列模仿模拟滤波器的冲激响应,即将进行等间隔采样,使正好等于的采样值,满足= 式中,T是采样周期。 如果令的拉普拉斯变换,Z变换,利用采样序列的Z变换与模拟信号的拉普拉斯变换的关系得

则可看出,脉冲响应不变法将模拟滤波器的s平面变换成数字滤波器的z平面,这个从sz的变换是从s平面变换到z平面的标准变换关系式。

6s平面到z平面的映射

利用脉冲响应不变法得到的数字滤波器与所对应的模拟滤波器的频率响应之间的关系为:

上式表明,数字滤波器的频率响应应该是模拟滤波器频率响应的周期延拓,延拓周期即为采样角频率。如果模拟滤波器频率响应的带宽限定在折叠频率之内,即

那么,数字滤波器的频率响应应能够重现模拟滤波器的频率响应,即

但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真。这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果

7:脉冲响应不变法中的频率混叠现象

对某一模拟滤波器的单位冲激响应进行采样,采样频率为,若使增加,即令采样时间间隔减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。

二、脉冲响应不变法的优缺点

从以上讨论可以看出,脉冲响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率Ω和数字频率ω之间呈线性关系ω=ΩT。因而,一个线性相位的模拟滤波器(例如贝塞尔滤波器)通过脉冲响应不变法得到的仍然是一个线性相位的数字滤波器。 

脉冲响应不变法的最大缺点是有频率响应的混叠效应。所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完全混淆在低频响应中。如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。当然这样会进一步增加设计复杂性和滤波器的阶数

3.3.3 双线性变换法设计IIR数字滤波器的原理

脉冲响应不变法使数字滤波器在时域上模仿模拟滤波器,但是它的缺点是产生频响的混叠失真,这是因为从s平面到z平面不是一一映射关系。实际上,只要s平面上的一个宽度为的水平带状区域就足以映射成整个z平面了。正是由于s平面上许许多多这样水平带状区域一次次的重叠映射到z平面上,导致了频响的混叠。为了克服这一缺点,可以采用双线性变换法。

一、变换原理

双线性变换法针对映射关系的多值性,先设法将s平面压缩成平面上一个宽度为的水平带状区域,进而通过将这个带状区域映射到z平面,即可实现s平面到z平面的单值映射,这就消除了频响混叠现象。如图8所示。

8 双线性变换法的映射关系

为了将s平面上的轴压缩成平面的轴从的一段,可以通过如下的正切变换来实现

很明显,当经过原点变化到时,就相应的由经过原点变换到。也就是说,s平面的轴与平面的轴从的一段互为映射。

将这个关系解析延拓到整个s平面和平面,令,则得

再将平面通过以下标准变换关系映射到z平面

从而得到s平面和z平面的单值映射关系为

用双线性变换法设计数字滤波器时,在得到了响应的模拟滤波器的传输函数

二、双线性变换的优缺点

双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠现象。这是因为s平面与z平面是单值的一一对应关系。s平面整个轴单值地对应于z平面单位圆一周,即频率轴是单值变换关系

上式表明,S平面上Ω与Z平面的ω成非线性的正切关系如图9所示

9双线性变换法的频率变换关系

由图9看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。

但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,由于这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变

3.3.4 IIR数字滤波器的MATLAB实现

此处我们选择利用双线性法设计IIR数字滤波器。MATLAB信号处理工具箱提供了实现双线性变换法的工具函数。函数Bilinear可实现模拟s域到数字z的双线性不变映射。对于不同形式模拟滤波器模型函数有不同的调用格式。其中一

种调用格式为

[bz,az]=bilinear(b,a,fs)

式中,b,a分别为模拟滤波器的分子和分母多项式的系数向量;fs为采样频率,单位为Hz;bz,az分别为数字滤波器分子分母多项式的系数向量。

一、实验程序:

见附件(design3

二、滤波器的设计结果

在此选用的原型滤波器为巴特沃斯、Chebyshev I/II、椭圆型滤波器,便于对比观察出不同原型滤波器设计出数字滤波器有什么差异。得到数字滤波器的频谱特性如图11所示。

11:数字滤波器的频率特性

根据上图可以看出:

(1) 巴特沃兹(Butterworth)逼近又叫最平响应逼近,因为用这种方法设计出来的滤波器(巴特沃兹滤波器)再通带和阻带内都具有最平坦的振幅特性

(2) 切比雪夫滤波器的幅频特性在通带或阻带内具有等波纹特性。如果幅频特性在通带中是等纹波的,在阻带中是单调的称为切比雪夫I型。相反,如果幅频特性在通带内是单调下降的,在阻带内是等波纹的,称为切比雪夫II

(3) 椭圆(Elliptic)滤波器又叫考尔(Cauer)滤波器,其特点是在通带和阻带内都具有等波动振幅特性

3.3.5 IIR数字滤波器滤波前后对比分析

在设计好滤波器的基础上,将设计任务2中截断的各个字的音频信号,分别进行滤波,画出滤波前后声音信号的时域波形如图12所示,根据图12我们对比滤波前后可以看出,滤波前后声音信号的时域波形没有发生明显的变化。将滤波后的各字声音进行FFT变换,得到其频谱如图12所示,对比滤波前后的频谱,我们可以很明显地看出,滤波前后频谱发生了较大的变化,经过IIR低通滤波器后,信号的高频分量被滤掉了。

12:滤波前后声音信号的时域波形

13:滤波前后声音信号的频域波形

3.4 任务4

3.4.1 FIR滤波器原理

有限冲击响应(FIR)滤波器和无限冲击响应(IIR)滤波器广泛应用于数字信号处理系统中。IIR数字滤波器方便简单,但它相位的线性,要采用全通网络进行相位校正。图象处理以及数据传输,都要求信道具有线性相位特性,有限冲击响应(FIR 滤波器具有很好的线性相位特性,因此越来越受到广泛的重视。

有限冲击响应(FIR)滤波器的特点:

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

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

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

有限冲击响应(FIR) 滤波器的优点:

(1) 既具有严格的线性相位, 又具有任意的幅度。

(2) FIR 滤波器的单位抽样响应是有限长的, 因而滤波器性能稳定。

(3) 只要经过一定的延时, 任何非因果有限长序列都能变成因果的有限长序列, 因而能用因果系统来实现。

(4) FIR 滤波器由于单位冲击响应是有限长的,因而可用快速傅里叶变换(FFT) 算法来实现过滤信号,可大大提高运算效率。

3.4.2 FIR滤波器的基本结构

h ( n) ( n = 0, 1, 2 N - 1)为滤波器的冲激响应,输入信号为x ( n) ,F IR滤波器就是要实现下列差分方程:

FIR滤波器的最主要的特点是没有反馈回路,因此它是无条件稳定系统。它的单位脉冲响应h(n)是一个有限长序列。由上面的方程可见, FIR滤波算法实际上是一种乘法累加运算,它不断地输入样本x(n) ,经延时z,乘法累加,再输出滤波结果y(n)

对上式FIR滤波器的差分方程进行z变换,得到FIR滤波器的系统函数为

根据系统函数可以画出FIR滤波器的直接型结构如图14所示。

14FIR滤波器的直接型结构图

3.4.3 FIR滤波器与IIR滤波器的比较

数字滤波是语音和图象处理、模式识别、谱分析等应用中的一个基本处理算法,包括有限长单位冲激响应数字滤波(FIR)和无限长单位冲激响应数字滤波(IIR),相比之下,FIRIIR优越,表现在:FIR滤波的冲激响应是有限长的,因而可以用快速傅立叶变换算法实现,这样运算速度比IIR滤波快得多;FIR滤波采用非递归结构,从理论上以及从实际的有限精度的运算中,都是稳定的,而且运算误差也较小,而IIR滤波采用递归结构,极点必须在Z平面单位圆内才能稳定,运算中的四舍五入处理时会引起寄生振荡;FIR滤波可以得到严格的线性相位,而IIR滤波则做不到这一点;IIR滤波主要是用来设计规格化的、频率特性为分段常数的标准低通、高通、带通、带阻和全通滤波器,而FIR滤波则灵活得多,可适应各种幅度特性及相位特性的要求,设计出理想正交变换器、理想微分器、线性调频器等,同时,FIR滤波可以避免电压漂移、温度漂移和噪声等干扰

FIR滤波器的优点是:稳定性好,因为没有极点;精度高,因为它对以前的事件只有有限的记忆,积累误差小;易于计算机辅助设计,保证精度和线性相位。缺点是:要达到高性能,需要许多系数,要做较多的乘法操作,计算量大。  

IIR滤波器的优点是:结构简单、系数少乘法操作少、效率高;与模拟滤波器有对应关系;可以解析控制,强制系统在特定点为零点;易于计算机辅助设计。缺点是:因为有极点,设计时注意稳定性;因为它对以前的事件有长的记忆,易产生溢出、噪声、误差

3.4.4 FIR滤波器的设计方法

FIR滤波器设计一般有两种方法:窗函数法和频率抽取设计法。窗函数这种设计方法对于窗口函数序列的形状和长度选择很重要。这种方法简单实用,可是其截止频率不易控制。而频率抽取设计法可以直接在频域进行设计,便于优化,但是其截止频率并不能够自由取值。二者各有其优缺点,而且无论是窗函数法,还是频率抽样法,都要求出滤波器的单位冲激响应。窗函数法是设计FIR数字滤波器的最简单的方法

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

一、 窗函数法的基本思想

FIR数字滤波器的设计一般是先给出所要求的理想的滤波器频率响应,然后寻找一组,使由其所确定的频率响应逼近

设计是在时域进行的,因而先由的傅立叶反变换导出,即

似乎只需由已知的求出后,经z变换即可得到滤波器的系统函数。但是事实上,由于一般为逐段恒定的,在边界频率处有不连续点,因而使对应的是无限时宽序列,且是非因果的,无法实际实现。我们要设计的FIR滤波器,其必然是有限长的,所以要用有限长的来逼近无限长的,最有效的方法是截断,也就是用一个有限长度的窗口函数序列来截取,即,并将非因果序列变成因果序列。 

按照复卷积公式,在时域中的乘积关系可表示成在频域中的周期性卷积关系,即可得所设计的FIR滤波器的频率响应:

其中,为截断窗函数的频率特性。其中,是一个长度有限的窗,在区间外值为0,且关于中间点对称。理想的频率响应被窗函数的离散时间傅立叶变换 “平滑”了

采用窗函数设计法设计出来的滤波器的频率响应对理想响应的逼近程度,两个因数决定: 1)主瓣的宽度;2)瓣的幅度大小。

由此可见,实际的FIR数字滤波器的频率响应逼近理想滤波器频率响应的好坏,完全取决于窗函数的频率特性

窗函数法又称为傅立叶级数法,可以从时域或频域出发来设计FIR滤波器,从频域出发的方法称为频率采样设计法,从时域出发的方法称为窗函数法,也称为傅立叶级数法,这种方法应用较广泛。

二、窗函数法的设计步骤

1) 给定滤波器所要求的频率响应函数

2) 求滤波器的单位冲激响应(即傅氏反变换)

3) 由过渡带宽及阻带最小衰减的要求,通过查表选定窗函数的形状 并计算滤波器阶次的大小;求出所设计的FIR滤波器得单位冲激响应

4) 求出FIR滤波器的频率响应(即傅氏变换),并检验是否满足设计要求,如不满足,则需重新设计。

3.4.6 窗函数的设计类型

FIR滤波器的设计中,加窗是非常重要的一环,选用不同形状的窗函数都是为了得到平坦的幅度响应和较小的阻带波纹,但加窗后会使理想频率特性不连续点处的边沿加宽,形成一个过渡带,过渡带宽度等于窗的频率响应的主瓣宽度4π/N,同时使H(w)在过渡带两边出现最大肩峰值等负面影响,因此一般希望窗函数满足两项要求:①窗谱主瓣尽可能地窄,以获得较陡的过渡带;②尽量减少窗谱的最大旁瓣的相对幅度,即能量尽量集中于主瓣,使肩峰和波纹减小,从而增大阻带的衰减。脉冲响应系数具有对称特性,即。设计FIR滤波器时一个重要的计算就是加窗。采用矩形窗是最简单的方法,但该算法存在较大的GIBBIS效应,因此实际设计中常采用Hanning窗,Hamming窗,Blackman窗,Kaiser窗等。采用Hanning窗,Hamming窗或Blackman窗使能量集中在主瓣内,但主瓣的宽度增加,分别使矩形窗的23倍。而Kaiser窗可以调整参数值来选择适当的主瓣宽度和旁瓣衰减,因此采用Kaiser窗设计FIR滤波器具有很大的灵活性

好的窗函数应该是有限长度序列,它的频率响应和一个理想的频率响应卷积产生最小的误差。使误差最小时的窗函数,其频率响应是一个集中在处的脉冲状的波形。但是频域上的带限信号在时域上并不是有限长的序列,这样就必须找到一个有限长的窗函数,它的频率响应的大部分能量集中在,而且,为了避免滤波器的幅度响应的波动,窗函数的幅度响应的旁瓣应该随着的增加快速衰减。

实际的窗函数,旁瓣在频带的边缘处引入了最大的波动。主瓣的宽度决定了所设计的滤波器的过渡带宽。基于这些事实,实际窗函数的幅度响应必须具备下面的特性:

主瓣和旁瓣幅度的比值必须尽可能的大。

随着0到π的增大,能量必须迅速衰减。

在滤波器窗函数的设计方法中,主要讨论矩形窗、三角窗、巴特利特窗、汉明窗、布莱克曼窗、凯泽窗和德费――切比雪夫窗。

3.4.7 FIR滤波器的设计实现

基于对《数字信号处理》教材掌握的熟练程度,这里我选用窗函数的设计方法设计FIR滤波器。

一、实验程序:

见附件(design4

二、仿真结果

15:窗函数法设计FIR滤波器的频谱特性

如图15所示,利用窗函数法设计FIR滤波器,选用不同的窗函数法截断,所设计出的FIR滤波器的频谱特性有较大的差异。利用三角窗和矩形窗截断设计出的FIR滤波器的过渡带较宽,旁瓣峰值幅度和阻带最小衰减较小。而用汉宁窗、海明窗、布莱克曼窗、凯塞窗截断设计出的FIR滤波器过渡带较小,衰减较为剧烈。

3.4.8 声音信号滤波前后对比分析

利用窗函数法设计FIR滤波器,虽会使所设计的FIR数字滤波器的频率特性有所不同,但设计的FIR滤波器对声音信号进行滤波分析其原理和步骤基本相同,故在此,仅选择利用矩形窗和汉宁窗截断设计的FIR滤波器,对声音信号进行滤波前后对比分析。时域对比如图16所示。频域对比如图17所示。

16:滤波前后声音信号的时域波形

17:滤波前后声音信号的频域波形

由图16可以看出,滤波前后的声音信号的时域波形看不出发生了什么变化,这点与IIR滤波器滤波前后时域波形一致。根据图17,从频域上看,经过FIR滤波器前后声音信号的频谱发生了较为明显的变化,0—3.4KFIR低通滤波器对声音信号的超过3.4K的频率分量起到了阻隔滤除的作用。

3.5 任务5

设计IIR数字滤波器时常常借助于模拟滤波器,即先将所需要的数字滤波器技术要求转换为一个低通模拟滤波器的技术要求,然后设计这个原型低通模拟滤波器。在得到模拟低通滤波器的传输函数(或)后,再转换为所需要的数字滤波器的系统函数

(或)变换为的方法有两种,一种是先将设计出来的模拟低通原型滤波器通过频率变换变换成所需的模拟高通、带通或带阻滤波器,然后再利用脉冲响应不变法或双线性变换法将其变换成响应的数字滤波器,变换过程如图18a)所示。这种方法的频率变换是在模拟滤波器之间进行的。另一种方法是先将设计出来的模拟低通原型滤波器通过脉冲响应不变法或双线性变换法转换为归一化数字低通滤波器,最后通过频率变换把数字低通滤波器变换成所需要的数字高通、带通或带阻滤波器,变换过程如图18b)所示。这种方法的频率变换是在数字滤波器之间进行的。

18:数字高通、带通或带阻滤波器的设计方法

3.5.1 MATLAB编程实现步骤

对于上述将(或)变换为的第一种方法,重点是模拟频率的变换,即如何由模拟低通滤原型波器转换为截止频率不同的模拟低通、高通、带通或带阻滤波器。这里结合MATLAB编程,介绍一下它的一般实现步骤:

1)确定所需类型数字滤波器的技术指标。

2)将所需类型数字滤波器的技术指标转换成模拟滤波器的技术指标。

3)将所需类型模拟滤波器的技术指标转换成模拟低通滤波器技术指标。

4)设计模拟低通滤波器

MATLAB中,(3)、(4)两步的实现一般是利用buttordcheb1ordcheb2ordellipord等函数求出满足性能要求的模拟低通滤波器原型阶数N3dB截止频,然后利用buttap,cheblap,cheb2lap,ellpap等函数求出零点、极点和增益形式的模拟低通滤波器传输函数,然后利用zp2tf函数转化成分子分母多项式形式的

5)将模拟低通滤波器通过频率变换,转换成所需类型的模拟滤波器。

MATLAB中,可利用lp2lp,lp2hp,lp2bp,lp2bs等函数来实现。

6)将所需类型的模拟滤波器转换成所需类型的数字滤波器,利用MATLAB中的impinvar,bilinear函数。

3.5.2 IIR数字带通滤波器设计实现

此处,我们选择用双线性变换法设计巴特沃斯数字带通滤波器,得到的IIR数字带通滤波器的频率特性如图16所示。

16IIR带通滤波器幅频特性

3.5.3 声音信号滤波前后对比分析

根据任务要求,对“学/院”的录音信号逐字进行滤波分析。依托设计任务2中我们得到“学/院”的录音信号所对应数据段,首先利用所设计的滤波器对两录音信号进行滤波,再将滤波后得到的录音数据段画出其时域上的波形如图17所示。对比滤波前后的时域信号波形,我们很难看出在时域上发生了什么变化。然后将滤波前后的声音信号进行FFT变换,得到滤波前后声音信号的频域波形如图18所示。对比滤波前后频域的频谱,可以很明显地看出其频谱上的差异。滤波前声音信号在0—4K这个频段都有频率分量,但是经过滤波器后,声音信号在通带内频谱基本上没有发生变化,但是在阻带上频率分量被滤掉了。根据设计的IIR带通滤波器的参数,结合图18看出在HzHz的频率分量都被滤波器给滤掉了。

17:滤波前后声音信号的时域波形

18:波前后声音信号的频域波形

实验程序:见附件(design5

3.6 任务6

此任务可以和任务345类似,可以拆分成两步,先设计FIR带通滤波器,然后就设计的滤波器对音频信号进行滤波处理,对比分析滤波前后音频信号的区别。值得注意的是:本任务设计FIR带通滤波器和任务5设计IIR带通滤波器方法步骤上有一定的区别。IIR带通滤波器设计的关键点事将模拟低通滤波器通过频率变换,转换成所需类型的模拟滤波器,然后将其转换成所需类型的数字滤波器。在借助MATLAB实现时,主要是调用lp2bpimpinvarbilinear等函数。然而FIR带通滤波器的设计,其关键点是设计两个低通滤波器,然后将这两个滤波器的单位脉冲响应相减,从而得到带通滤波器的单位脉冲响应,根据调用[db,mag,pha,grd,w]=freqz_m(h,1)就可以得到频率响应的幅度、相位及群时延。

3.6.1 FIR带通滤波器设计实现

设计出的FIR带通滤波器的频率特性如图19所示。

19FIR带绒滤波器的频率特性

根据图19,我们可以看出利用不同的窗函数对系统理想的单位脉冲响应截断,设计出的FIR带通滤波器的频率响应略有所不同。我们可以根据实际的需求选择响应的窗函数进行截断。

3.6.2 声音信号滤波前后对比分析

虽然窗函数的选取会影响FIR滤波器的频率响应,然而对语音信号的滤波分析步骤则是不变的,故而在此仅选择利用汉宁窗来设计FIR带通滤波器。设计出来的滤波器对“学/院”两字的音频信号进行滤波,然后将滤波前后的音频信号画出其时域波形如图20所示,和经过FFT变换画出频域波形如图21所示。

20:滤波前后音频信号的时域波形 21:滤波前后音频信号的频域波形

根据图2021可以看出,滤波前后的声音信号的时域波形基本看不出有什么变化。而频域波形发生了较为明显的变化,处于阻带的频率分量被滤波器滤除。

实验程序:见附件(design2

四、 总结

本次设计感触良多,也收获颇丰。经过此次数字信号处理的报告设计,让我了解到了在书本上学到知识的局限性,书上学到的全是一些理论知识,就拿这次任务中设计滤波器来说,书本上花了两个章节来讲解IIRFIR滤波器的设计,各种公式的建立、推导,虽上课听老师讲过,但是真正的设计滤波器时发现两眼一抹黑,书上的理论知识也不知道怎么去利用,故而在设计的初期处处碰壁,MATLAB软件应用不熟,一系列编程语句原始执行效率低下,而且老是出现一些莫名其妙的错误。还有一个最主要的问题就是,滤波器设计的一些函数的调用格式不清,什么是数字频率,怎样将模拟频率转换成对应的数字频率等等诸多问题。虽然再设计的过程中遇到很多问题,但是在查阅资料和在同学们的帮助之下,所有的问题都迎刃而解,故而在此特别感谢那些给予我帮组的人!

音频信号频谱分析及滤波要点

相关推荐