FIR数字低通滤波器的(汉宁)窗函数法设计.doc

上传人:b****3 文档编号:2579044 上传时间:2022-11-02 格式:DOC 页数:15 大小:558KB
下载 相关 举报
FIR数字低通滤波器的(汉宁)窗函数法设计.doc_第1页
第1页 / 共15页
FIR数字低通滤波器的(汉宁)窗函数法设计.doc_第2页
第2页 / 共15页
FIR数字低通滤波器的(汉宁)窗函数法设计.doc_第3页
第3页 / 共15页
FIR数字低通滤波器的(汉宁)窗函数法设计.doc_第4页
第4页 / 共15页
FIR数字低通滤波器的(汉宁)窗函数法设计.doc_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

FIR数字低通滤波器的(汉宁)窗函数法设计.doc

《FIR数字低通滤波器的(汉宁)窗函数法设计.doc》由会员分享,可在线阅读,更多相关《FIR数字低通滤波器的(汉宁)窗函数法设计.doc(15页珍藏版)》请在冰豆网上搜索。

FIR数字低通滤波器的(汉宁)窗函数法设计.doc

课程设计说明书NO.15

语音信号的数字滤波

——FIR数字滤波器的(汉宁)窗函数法设计

设计题目:

语音信号的数字滤波——FIR数字滤波器的(汉宁)窗函数法设计

一、课程设计的目的

通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。

并能够对设计结果加以分析。

二、设计步骤

2.1窗函数设计法的原理

窗函数的基本思想:

先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。

这种方法的重点是选择一个合适的窗函数和理想滤波器。

设x(n)是一个长序列,是长度为N的窗函数,用截断,得到N点序列,即

在频域上则有

由此可见,窗函数不仅仅会影响原信号在时域上的波形,而且也会影响到频域内的形状。

2.2汉宁窗函数简介

汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。

这些窗都是广义余弦窗的特例,汉宁(Hanning)窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是3个sinc(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。

适用于非周期性的连续信号。

公式如下:

2.3进行语音信号的采集

(1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开Windows系统中的录音机软件。

如图1所示。

图1windows录音机

(2)用麦克风录入自己的声音信号并保存成wav文件。

如图2所示。

图2保存文件

保存的文件按照要求如下:

①音信号文件保存的文件名为“yuxuejiao.wav”。

②语音信号的属性为“8.000KHz,8位,单声道7KB/秒”,其它选项为默认。

2.4语音信号的分析

将“yuxuejiao.wav”语音文件复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中。

打开Matlab软件,在菜单栏中选择“File”-“new”将代码复制到空白处,并保存到“work”文件夹中,和声音文件在同一个文件夹内。

2.4.1语音信号的截取处理和频谱分析

编写MATLAB编码实现对信号的截取处理,也就是对yf.wav语音的截取处理,截取范围为17000-57000。

代码如下:

[s,fs]=wavread('yuxuejiao.wav');

s1=s(17000:

57000);

figure

(1);

subplot(211)

plot(s)

title('原始语音信号')

subplot(212)

plot(s1)

title('截短语音信号');

wavwrite(s1,fs,'s1.wav');

S1=fft(s1);

figure

(2)

subplot(311);

plot(s1);

title('截短预处理语音信号')

subplot(312)

plot(abs(S1))

title('预处理语音信号频谱');

subplot(313);

k=0:

39999;

plot(k(1:

20000)*1,abs(S1(1:

20000)));

title('预处理语音信号单边带频谱')

在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台,点击“run”或者“F5”运行文件。

效果如图3和图4

图3语音信号的截取处理图

在图3中,其中第一个图为原始语音信号;

第二个图是截短后的信号图。

图4频谱分析图

其中第二个图是信号的FFT结果,其横坐标的具体值是X(k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循DFT定义式和频率分辨率求得的:

当k等于0时,,从数字角频率上看,对应的正好是即直流的位置,也就是说,在取滤波频段时,当将主要能量(即红色框的部分)保留,其余频段部分的信号滤除。

相当于是信号的实际频谱采样,而又是连续时间语音信号的采样。

的每两个相邻取值之间的频率间隔大小对应到语音信号的频谱中去,其频率间隔大小正好是

称频率分辨率,其中,,

由于在第三个图中是遵循DFT定义式和频率分辨率求得,表示的是滤波频率的范围

2.5滤波器的设计

2.5.1滤波器理论参数设定

(1)从图4可知我们已经确定了通带截止频率和阻带截止频率和。

由于hanning窗过渡带满足

(2)给定所要求的频率响应函数

(3)求单位采样响应

(4)计算线性相位延迟

hanning窗=

(5)滤波器的单位采样响应:

2.5.2滤波器的MATLAB仿真

在M文件中继续编写代码,把计算出来的参数带入代码中。

代码如下:

s2=awgn(s1,30);%%%%%%%%%%%%%%%%%%%%%%%%%%完成加噪!

30db

wavwrite(s2,fs,'s2.wav');

figure(3);

subplot(211);

plot(s2);

title('加噪后语音信号');

subplot(212);

S2=fft(s2);

plot(abs(S2));

title('加噪后信号频谱');

figure(4)

subplot(211);

plot(s1);

title('语音信号');

subplot(212);

plot(s2);

title('加噪后语音信号');

%%%%%%%%%滤波器完成相关参数配置

wp=900*2*pi/8000;

wst=1000*2*pi/8000;

wc=(wp+wst)/2;

N=ceil(3.1*2*pi/(wst-wp));

r=(N-1)/2;

hn1=fir1(N-1,wc/pi,'low',hanning(N));%

s3=conv(s2,hn1);

wavwrite(s3,fs,'s3.wav');

S3=fft(s3);

figure(5)

freqz(hn1);

title('滤波器幅频特性与相频特性')

figure(6)

subplot('111')

stem(hn1);

title('滤波器单位采样响应');

figure(7)

subplot(211)

plot(s3)

title('滤波器处理之后信号图')

subplot(212);

plot(abs(S3));

title('滤波器处理之后频谱');

figure(8)

subplot(211)

plot(s2);

title('加噪后语音信号');

subplot(212);

plot(s3);

title('滤波器处理之后信号图');

s4=conv(s1,hn1);

p1=sum(s1.^2);

p2=sum(s2.^2)-sum(s1.^2);

SNR1=10*log10(p1/p2);

p3=sum(s4.^2)/8000;

p4=sum(s3.^2)/8000-sum(s4.^2)/8000;

SNR2=10*log10(p3/p4);

2.6噪声叠加

图5语音信号与加噪声后语音信号对比

图五为语音信号与加噪声后语音信号对。

比计算机随即产生的噪声指令为:

awgn()所加的噪声为30。

图6加噪后语音信号与加噪后信号频谱图

图7滤波器频幅特性与相频特性

图8滤波器单位采样响应

图7是滤波器频幅特性与相频特性,图8是hanning窗函数单位冲激响应系数。

图9滤波器处理后的信号及频谱图

图10加噪后的语音信号及处理后的信号图

设计的滤波器是用单位采样响应h(n)表示的,可以利用带噪声语音与h(n)做时域卷积,即:

在Matlab中,卷积运算可以用函数“conv()”实现。

滤波前(含噪声)的信号和滤波后信号的信噪比,利用sum求信号的功率。

在m文件中继续编写信噪比代码段:

s4=conv(s1,hn1);

p1=sum(s1.^2);

p2=sum(s2.^2)-sum(s1.^2);

SNR1=10*log10(p1/p2);

p3=sum(s4.^2)/8000;

p4=sum(s3.^2)/8000-sum(s4.^2)/8000;

SNR2=10*log10(p3/p4);

三、设计结果与分析

滤波就是将外界干扰的不需要的频率滤除掉,一面影响要测试数据的结果。

采样间隔也会对实验产生影响,取的过大会导致频率混叠。

3.1比较滤波前(含噪声信号的文件)和滤波后的语音信号效果。

图10利用hamming窗FIR低通滤波器滤波效果图

图10为滤波前后的效果图,第一个图是加噪后的图,图中波形的毛刺部分(即干扰噪声)被滤除,输入的带噪声信号经过滤波器滤波后,即第二个图中所示波形。

图中有明显的滤波效果,滤波器不仅把30的噪声滤掉了,同时也也能滤掉了原信号的声音,因此在实际的实验会和理论有误差,许多时候得不到完美的效果。

3.2滤波前(含噪声)的信号和滤波后信号的信噪比

图11相关参数的截图,其中snr为信噪比

图11是利用“信噪比代码段”做出来的效果图,图中名称snr1为最滤波前的信噪比,snr2为滤波后的信噪比,snr2大于snr1,最终达到了效果。

四、设计体会

在本次课程设计中,让我更加了解了数字信号处理在实际上的应用,课程设计不仅要求对滤波器理论的研究,更重要的是实际设计中遇到的问题。

因为有了这次课程设计,我不得不对其设计原理进行更深一层次的理解,对书中原来学到的理论,仅知道了其表面,而不知其原因。

在设计中也使我对一些概念有了更深刻的认识。

除此之外,对程序的编译不是一蹴而就的,而是经过多次的编译与调试。

以前用MATLAB就是简单的输入,可以说都不是自己的劳动成果,但这次不一样,课程设计没有别人给你编好,而是自己写,出错率就大大提高了,但这是过程,学习就是在过程中进行的,经过自己几天的脑力劳动,再加上同学们的帮助,不仅对读程序有了很大提高,而且自己的编译水平也上了一个新台阶,更加熟系了MATLAB的应用,也对其中的函数有了大概的了解,对其中一些函数也相当熟练。

完成整个设计过程后,学到的东西已经不仅仅上面的那些东西,还有同学们互相帮助,共同探讨和设计过程中的每一个细节,也许每一个细节的错误就可能导致结局的失败,所以我认为这次收获最大的莫过于静心,学习不能急,一定要冷静,心无旁骛,不放过任何一个细节,就能带来凯旋的消息。

在此,感谢老师一学年以来对我们不仅学习上的关心,还有生活中的照顾,我也不会辜负老师的期望,继续努力深造。

五、参考文献

[1]程佩青.数字信号处理教程(第三版)[M].北京:

清华大学出版社,2006.

[2]施阳.MATLAB语言工具箱[M].西北工业大学出版社,1999:

45-78.

[3]程佩青编著.数字信号处理教程.北京:

清华大学出版社,2007.

[4]李正周编著.MATLAB数字信号处理与应用.北京:

清华大学出版社2008.

沈阳大学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1