窗函数设计滤波器DOC.docx
《窗函数设计滤波器DOC.docx》由会员分享,可在线阅读,更多相关《窗函数设计滤波器DOC.docx(19页珍藏版)》请在冰豆网上搜索。
窗函数设计滤波器DOC
******************
实践教学
*******************
XXXX大学
计算机与通信学院
2014年春季学期
《信号处理》课程设计
题目:
窗函数法设计FIR低通滤波器
专业班级:
姓名:
学号:
指导教师:
成绩:
摘要
在数字信号处理中.数字滤波器十分重要并已获得广泛应用,效字滤渡器与模拟滤渡器比较,具有精度高、稳定、体积小、重量轻、灵活、不要求阻抗匹配以及实现模拟滤波器无法宴现的特殊滤波功能等优点.使数字滤波器成为信号处理领域的一十要研究课题。
本课程设计主要是对一段语音信号,加入噪声后,用汉宁窗设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理。
在此次课程设计中,系统操作平台为Windows7,程序设计的操作软件MATLAB7.0。
此课程设计首先是用音乐软件采集一段语音信号,加入噪声,然后采用汉宁窗函数法设计出FIR滤波器,再用设计出的滤波器对这段加噪后的语音信号进行滤波去噪,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果。
关键字滤波器;汉宁窗;去噪
目录
前言1
第一章设计介绍2
1.2MATLAB在DSP中的运用2
1.3FIR数学滤波器介绍2
1.4窗函数法3
1.5汉宁窗5
第二章基本原理5
2.1汉宁窗基本原理6
2.2窗函数法设计基本原理6
第三章设计实现框图8
第四章基于MATLAB的仿真程序及结果9
4.1读入语音数据并画出其时域与频域图9
4.2在MATLAB中对信号加入两个噪声9
4.3滤波器设计基本程序:
10
参考文献:
15
附录:
程序源代码16
致谢19
前言
在当今数字信号处理中,滤波器十分重要并以获得广泛应用,它是去除信号中噪声的基本手段,因此,滤波运算时信号处理中的基本运算。
滤波器设计问题也是数字信号处理中的基本问题。
FIR滤波器的设计方法主要是建立在对理想滤波器频率特性做某种近似的基础上的。
这些近似方法有窗函数法、频率抽样法及最佳一致逼近法。
本设计以窗函数法设计FIR数字滤波器,窗函数设计法的基本思想是用FIRDF逼近希望的滤波特性。
设希望逼近的滤波器的频率响应为
,其单位脉冲响应用
表示。
为了设计简单方便,通常选择
为具有片段常数特性的理想滤波器。
因此
是无限长非因果序列,不能直接作为FIR滤波器的单位脉冲响应。
窗函数设计法就是截取
为有限长的一段因果序列,并用合适的窗口函数进行加权作为FIR滤波器的单位脉冲响应
。
第一章设计介绍
1.1数字信号处理简介
数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科[2]。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
1.2MATLAB在DSP中的运用
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。
例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
1.3FIR数学滤波器介绍
数字滤波器对信号滤波的方法是:
用数字计算机对数字信号进行处理,处理就是按照预先编制的程序进行计算。
数字滤波器的原理如图所示,它的核心是数字信号处理器。
在本设计中,要求学生掌握利用窗函数的方法设计一个FIR低通数字滤波器。
数字滤波器是一个能够完成特定任务的离散时间系统.它可以利用有限精度算法来实现。
当采用一个因果稳定的离散线性移不变系统的系鲈函数去逼近滤渡器所要求的性能指标时.由于系统函数有无限长单位冲激响应ⅡIR1系统函数和有限长单位冲激响应系统函数两种,相应地数字滤渡器也就有无限长单位冲激响应滤渡器和有限长单位冲激响应滤渡器两种剐。
FIR滤渡器的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数的问题.设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。
FIR的突出优点是:
系统总是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器,但与IIR相比,在满足同样阻带衰减的情况下需要的阶数较高,滤波器的阶数越高,占用的运算时间越多,因此在满足指标要求的情况下应尽量减少滤波器的阶数。
1.4窗函数法
FIR数字滤波器设计最简单的方法是窗函数法,通常也称为傅立叶级数法。
它是在时域进行的,因而必须由理想滤波器的频率响应
推导出其单位冲激响应
,在设计一个FIR数字滤波器的单位冲激响应
去逼近
。
窗函数是一种用一定宽度窗函数截取无限长脉冲响应序列获取有限长脉冲响应序列的设计方法。
丽其设计Fm滤披器的基本思想:
根据培定的滤渡器技术指标选取滤波器长度N和窗函数“靠J,使其具有最窄宽度的主瓣和最小的旁瓣。
其核心是从给定的频率特性.通过加窗确定有限长单位脉冲响应序列h(n)即实际滤波器的系散向量.其是由理想滤渡器脉冲响应hd“n与窗函敷函数相加相乘得到。
使用窗函数法设计时要满足以下两个条件:
窗谱主瓣尽可能地窄,以获得较陡的过渡带;
尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进行增加阻带的衰减。
窗函数的选择原则是:
[1]具有较低的旁瓣幅度,尤其是第一旁瓣的幅度;
[2]旁瓣的幅度下降的速率要快,以利于增加阻带的衰减;
[3]主瓣的宽度要窄,这样可以得到比较窄的过渡带。
通常上述的几点难以同时满足。
实际中设计FIR数字滤波器往往要求是线性相位的,因此要求
满足线性相位的条件,即要求w(n)满足:
(1-1)
所以,窗函数不仅有截短的作用,而且能够起到平滑的作用,在很多领域得到了应用。
窗口设计法基本步骤如下:
(1)构造希望逼近的频率响应函数
。
以低通线性相位FIRDF设计为例,一般选择
为线性理想低通滤波器,即
(1-2)
(2)求出
。
对
进行IFT得到
(1-3)
(3)加窗得到FIRDF的单位脉冲响应
,
(1-4)
式中,
称为窗口函数,其长度为
。
如果要求第一类线性相位FIRDF,则要求
关于
点偶对称。
而
关于
点偶对称,所
,同时要求
关于
点偶对称。
常见的窗函数,可以分为以下主要类型:
(1)幂窗--采用时间变量某种幂次的函数,如矩形、三角形、梯形或其它时间(t)的高次幂;
(2)三角函数窗--应用三角函数,即正弦或余弦函数等组合成复合函数,例如汉宁窗、海明窗等;
(3)指数窗--采用指数时间函数,例如高斯窗等。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见下表中所示;
表2-1常见窗函数性能表
名称
滤波器
过渡带宽
最小阻带衰减
名称
滤波器
过渡带宽
最小阻带衰减
矩形
1.8π/M
21dB
PARZENWIN
6.6π/M
56dB
巴特利特
6.1π/M
25dB
FLATTOPWIN
19.6π/M
108dB
汉宁
6.2π/M
44dB
GAUSSWIN
5.8π/M
60dB
汉明
6.6π/M
51dB
BARTHANNWIN
3.6π/M
40dB
布莱克曼
11π/M
74dB
BLACKMANHARRIS
16.1π/M
109dB
BOHMANWIN
5.8π/M
51.5dB
CHEBWIN
15.2π/M
113dB
NUTTALLWIN
15.4π/M
108dB
TUKEYWIN
2.4π/M
22dB
1.5汉宁窗
汉宁窗(HanningWindow)又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是3个
型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。
可以看出,汉宁窗主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗.但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。
第二章基本原理
2.1汉宁窗基本原理
汉宁窗函数是余弦平方函数,又称之为升余弦函数,它的时域形式可以表为:
(2-1)
其中
。
它的频域幅度特性函数为:
(2-2)
其中
为矩形窗函数的幅度频率特性函数。
汉宁窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了一倍,为
。
汉宁窗函数的时域幅度与频域幅度特性曲线的MATLAB实现的曲线图如图2-1所示。
图2.1汉宁窗函数的时域幅度与频域幅度特性曲线
2.2窗函数法设计基本原理
用窗函数设FIR滤波器的基本思路:
从时域出发设计h(n)逼近理想hd(n)。
设理想滤波器的单位响应在时域表达为hd(n),则Hd(n),一般是无限长的,且是非因果的,不能直接作为FIR滤波器的单位脉冲响应。
要想得到一个因果的有限长的滤波器单位抽样响应h(n)最直接的方法是先将hd(n)往右平移,再进行截断,即截取为有限长因果序列:
h(n)=hd(n)w(n),并用合适的窗函数进行加权作为FIR滤波器的单位脉冲响应。
按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。
对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs)效应。
为了消除吉布斯效应,一般采用其他类型的窗函数。
MATLAB设计FIR滤波器有多种方法和对应的函数。
窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
第三章设计实现框图
图3.1程序设计流程图
第四章基于MATLAB的仿真程序及结果
4.1读入语音数据并画出其时域与频域图
用音乐剪切工具剪切一段音乐信号,并以”.wav”格式保存,本设计剪切音乐片段为“1.wav”,然后将该片段读入MATLAB,画出该信号的时域和频域的波形图。
再对该片段进行抽样,得到抽样后的预处理信号的时域和频域波形图。
读入音乐信号:
[s,fs,bits]=wavread('C:
\Users\Administrator\Desktop\1.wav');
ss=s(:
1);
%sound(s,fs,bits)
作出该原信号的时域波形:
s1=s(17000:
end);
figure
(1);
subplot(321)
plot(s)
title('原始语音信号');
作出该原信号的频域波形:
S=fft(s);
subplot(322