基于窗函数法的数字带通FIR滤波器设计.docx

合集下载

窗函数法设计FIR滤波器

窗函数法设计FIR滤波器

FIR 数字滤波器的设计方法IIR 数字滤波器最大缺点:不易做成线性相位,而现代图像、语声、数据通信对线性相位的要求是普遍的。

正是此原因,使得具有线性相位的FIR 数字滤波器得到大力发展和广泛应用。

1. 线性相位FIR 数字滤波器的特点FIR DF 的系统函数无分母,为∑∑-=--=-==11)()(N n n N i ii z n h zb z H ,系统频率响应可写成:∑-=-=10)()(N n jwn jwe n h e H ,令)(jw e H =)()(w j e w H Φ,H(w)称为幅度函数,)(w Φ称为相位函数。

这与模和幅角的表示法有所不同,H(w)为可正可负的实数,这是为了表达上的方便。

如某系统频率响应)(jw e H =wj we34sin -,如果采用模和幅角的表示法,w 4sin 的变号相当于在相位上加上)1(ππj e =-因,从而造成相位曲线的不连贯和表达不方便,而用)()(w j e w H Φ这种方式则连贯而方便。

线性相位的FIR 滤波器是指其相位函数)(w Φ满足线性方程:)(w Φ=βα+-w (βα,是常数)根据群时延的定义,式中α表示系统群时延,β表示附加相移。

线性相位的FIR 系统都具有恒群时延特性,因为α为常数,但只有β=0的FIR 系统采具有恒相时延特性。

问题:并非所有的FIR 系统都是线性相位的,只有当它满足一定条件时才具有线性相位。

那么应满足什么样的条件?从例题入手。

例题:令h(n)为FIR 数字滤波器的单位抽样相应。

N n n ≥<或0时h(n)=0,并假设h(n)为实数。

(a ) 这个滤波器的频率响应可表示为)()()(w j jwew H e H Φ=(这是按幅度函数和相位函数来表示的,不是用模和相角的形式),)(w H 为实数。

(N 要分奇偶来讨论) (1) 当h(n)满足条件)1()(n N h n h --=时,求)(w H 和)(w Φ(π≤≤w 0) (2) 当h(n)满足条件)1()(n N h n h ---=时,求)(w H 和)(w Φ(π≤≤w 0)(b ) 用)(k H 表示h(n)的N 点DFT(1) 若h(n)满足)1()(n N h n h ---=,证明H(0)=0; (2) 若N 为偶数,证明当)1()(n N h n h --=时,H(N/2)=0。

基于矩形窗设计FIR数字滤波器.doc

基于矩形窗设计FIR数字滤波器.doc

基于矩形窗设计FIR数字滤波器. .郑州航空工业管理学院《电子信息系统仿真》课程设计14 级专业班级题目基于矩形窗设计FIR数字滤波器姓名学号二О一六年十一月二十五日第一章FIR滤波器的设计原理及方法FIR滤波器通常采用窗函数方法来设计。

窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后街区(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。

我们用Hd(e…w)表示理想的选频滤波器,它在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽wc为了从hd(n)得到一个fir滤波器,必须同时在两边截取hd(n)。

而要得到一个因果的线性相位滤波器,它的h(n)长度为n,必须有:这种操作叫做加窗,h(n)可以看做是hd(n)与窗函数w(n)的乘积:h(n)="hd(n)w(n)其中根据w(n)的不同定义,可以得到不同的窗结构。

" 在频域中,因果fir滤波器响应h(e…w)由hd(e…w)和窗响应w(e…w)的周期卷积得到,即常用的窗函数有矩形窗、巴特利特(bartlett)窗、汉宁(hanning)窗、海明(hamming)窗、布莱克曼(blackman)窗、凯泽(kaiser)窗等。

fir滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

(2) 由性能指标确定窗函数w(n)和窗口长度n。

(3) 求得实际滤波器的单位脉冲响应h(n),h(n)即为所设计fir滤波器系数向量b(n)。

第二章窗函数:。

1 矩形窗矩形窗属于时间变量的零次幂窗。

矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。

这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。

(整理)FIR数字滤波器的(海明)窗函数法设计.

(整理)FIR数字滤波器的(海明)窗函数法设计.

FIR数字滤波器的(海明)窗函数法设计1.课程设计目的(1)熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数。

(2)加深对FIR数字滤波器设计的理解,并用窗函数法进行FIR数字滤波器的设计。

(3)将设计出来的FIR数字滤波器利用MATLAB进行仿真。

(4)对一段音频文件进行加入噪声处理,对带有噪声的文件进行滤波处理。

2.设计方案论证2.1 Matlab语言概述MATLAB是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。

随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理领域。

此高级语言可用于技术计算此开发环境可对代码、文件和数据进行管理交互式工具可以按迭代的方式探查、设计及求解问题数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数积分等二维和三维图形函数可用于可视化数据各种工具可用于构建自定义的图形用户界面各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM 以及Microsoft Excel)集成不支持大写输入,内核仅仅支持小写2.2声音处理语音是人类获取信息的重要来源和利用信息的重要手段。

语音信号处理是一门发展十分迅速,应用非常广泛的前沿交叉学科,同时又是一门跨学科的综合性应用研究领域和新兴技术。

声音是一种模拟信号,而计算机只能处理数字信息0和1。

因此,首先要把模拟的声音信号变成计算机能够识别和处理的数字信号,这个过程称为数字化,也叫“模数转换”。

在计算机对数字化后的声音信号处理完后,得到的依然是数字信号。

必须把数字声音信号转变成模拟声音信号,然后再图1 选择windows下的录音机”或是点击快捷按钮图5 加噪后语音信号和频谱图7 滤波器幅频特性与相频特性设计的滤波器是用单位采样响应h(n)表示的,可以利用带噪声语音图8滤波器系统函数。

实验7 窗函数法设计FIR数字滤波器

实验7 窗函数法设计FIR数字滤波器

实验7窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计F1R数字滤波器的原理和具体方法二、实验设备与环境计算机、Mat1ab软件环境三、实验基础理论1>基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤波器Hd(,3),然后用窗函数截取它的单位脉冲响应%(九),得到线性相位和因果的FIR滤波器,这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。

2、设计步骤(1)给定理想滤波器的频率响应Hd("3),在通带上具有单位增益和线性相位,在阻带上具有零响应。

一个带宽为g(3c<Tr)的低通滤波器由下式给定h(e j^=(eW∣ω∣≤ωc虱)一1Oωc<∣ω∣<π其中α为采样延迟,其作用是为了得到因果的系统。

(2)确定这个滤波器的单位脉冲响应为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令N-Ia=-2-(3)用窗函数截取hd(τι)得到所设计FIR数字滤波器h(n)h(n)=h d(n)w(n)3、窗函数的选择常用的窗函数有矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗等。

Mat1ab提供了一些函数用于产生窗函数,如下表所示:在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N 和窗函数3(n)°表7.2列出了常用的窗函数的一些特性,可供设计时参考。

其中幻是修正的零阶贝塞尔函数,参数B 控制最小阻带衰减,这种窗函数对于相同的N 可以提供不同的过渡带宽。

由于贝塞尔函数比较更杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。

已知给定的指标叫Msc,Rp 和4,滤波器长度N 和凯瑟窗参数B 可以按如下凯瑟窗设计方程给出过渡带宽:∆ω=ωst -ωp入一7.95 2.285∆ω_(0.1102(4-8.7) ,P=iθ.5842(4-21)04+0.07886(4-21), 四、实验内容1、设计一个数字低通FIR 滤波器,其技术指标如下ωp =0.2τr,RP=0.25dBωst =0.3τr,A s =50dB分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。

用窗口法设计FIR数字滤波器

用窗口法设计FIR数字滤波器

信号、系统与信号办理实验Ⅱ实验报告实验名称:用窗口法设计FIR数字滤波器一、实验目的认识一个实质滤波器的设计过程,加深掌握用窗口法设计FIR数字滤波器的原理和窗函数对数字滤波器性能的影响二、实验内容与要求1.编写用改良的升余弦窗设计FIR线性相应低通数字滤波器的程序,已知wc=,N=21。

这里wc为低通滤波器的截止频次,N为滤波器的长度,滤波器的阶数为N-1。

2.调试运转程序,要求在屏幕上显示出单位脉冲响应h(n)的数值。

画出其幅度响应|H(ejw)|及20log10|H(ejw)|的曲线。

3.画出窗函数w(n)及其频谱|W(ejw)|和20log10|W(ejw)|的曲线。

三、实验程序与结果clear all;N=21;wc=*pi;b=fir1(N-1,wc/pi,hamming(N))freqz(b,1,512);h(n)的数值即b:b=Columns1through11Columns12through21 clear all;N=21;wc=*pi;r=(N-1)/2;n=0:N-1;hdn=sin(wc*(n-r))/pi./(n-r);if rem(N,2)~=0hdn(r+1)=wc/pi;endwn=hamming(N);h=hdn.*wn';H=fft(h,512);W=fft(wn,512);w=2*[0:511]/512;figure;subplot(3,1,1);plot(wn);subplot(3,1,2);plot(w,abs(W));ylabel('|W(eiw)|') subplot(3,1,3);plot(w,20*log10(abs(W))); ylabel('20lg|W(eiw)|'); figure;subplot(2,1,1);plot(w,abs(H));ylabel('|H(eiw)|') subplot(2,1,2);plot(w,20*log10(abs(H))); ylabel('20lg|H(eiw)|');四、仿真结果剖析图一是FIR低通滤波器的幅频和相频特征图图二是滤波器设计过以后的幅度特征图三是窗函数的幅度特征FIR滤波器的设计过程在于运用海明窗口进行设计,依据定义h(n)=hd(n)*w(n)出发来求出w(n)的值。

FIR高通滤波器

FIR高通滤波器
基于窗函数法的 FIR 数字高通滤波器
摘 要
本文分析了国内外数字滤波技术的应用现状与发展趋势, 并介绍了数字滤波 器的概念、基本结构和分类。依据给定的性能指标,采用窗函数法设计 FIR 数字 高通滤波器, 然后通过 wavread 语音信号函数读取.wav 格式的语音信号, 并利用 所设计的滤波器对音频信号进行滤波处理。 最后对滤波前后的音频信号进行分析。 关键词 窗函数法 FIR 高通滤波器 wavread 滤波
图 2-5 FIR 滤波器相位特性图
5
基于窗函数法的 FIR 数字高通滤波器
优点 : (1)很容易获得严格的线性相位,避免被处理的信号产生相位失真,这一 特点在宽频带信号处理、阵列信号处理、数据传输等系统中非常重要; (2)可得到多带幅频特性; (3)极点全部在原点(永远稳定),无稳定性问题; (4)任何一个非因果的有限长序列,总可以通过一定的延时,转变为因果 序列,所以因果性总是满足; (5)无反馈运算,运算误差小。
3.3 窗函数法的基本原理
如果所希望的滤波器的理想的频率响应函数为 H d e j ,则其对应的单位脉 冲响应为
hd n 1 2
H e e d
j j d

(3-4)
于 hd n 往往是无限长序列,而且是非因果的,所以用窗函数 n 将 hd n 截断, 并进行加权处理,得到:
6
基于窗函数法的 FIR 数字高通滤波器
第 3 章 FIR 滤波器的设计
3.1 窗函数法
设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数 法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应 Hd (e jw ) ,设计 一个FIR数字滤波器频率响应 H (e jw ) ,去逼近理想的滤波响应 Hd (e jw ) 。然而, 窗函数法设计FIR数字滤波器是在时域进行的,因而必须由理想的频率响应

用MATLAB结合窗函数法设计数字带通FIR滤波器

用MATLAB结合窗函数法设计数字带通FIR滤波器

武汉理工大学《Matlab课程设计》报告目录摘要 (I)Abstract (II)1 原理说明 (1)1.1 数字滤波技术 (1)1.2 FIR滤波器 (1)1.3 窗函数 (2)1.4 MATLAB简介 (4)1.5 MATLAB结合窗函数设计法原理 (4)2 滤波器设计 (2)2.1 滤波器设计要求 (2)2.2 设计函数的选取 (2)2.3 窗函数构造 (3)2.4 设计步骤 (4)2.5 利用MATLAB自带函数设计 (4)3 滤波器测试 (9)3.1 滤波器滤波性能测试 (9)3.2 滤波器时延测量................................................................................错误!未定义书签。

3.3 滤波器稳定性测量............................................................................错误!未定义书签。

5 参考文献 (12)附件一: ........................................................................................................ 错误!未定义书签。

摘要现代图像、语声、数据通信对线性相位的要求是普遍的。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。

因此,具有线性相位的FIR数字滤波器在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。

数字信号实验(4) 用窗函数设计FIR滤波器

数字信号实验(4) 用窗函数设计FIR滤波器

实验四用窗函数设计FIR滤波器一、实验目的1.熟悉FIR滤波器设计的基本方法。

2.掌握用窗函数设计FIR数字滤波器的原理及方法,熟悉相应的计算机高级语言编程。

3.熟悉线性相位FIR滤波器的幅频特性和相位特性。

4.了解各种不同窗函数对滤波器性能的响应。

二、实验原理与方法(一)FIR滤波器的设计目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。

常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。

本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。

它是从时域出发,用一个窗函数截取理想的得到h(n),以有限长序列h(n)近似理想的;如果从频域出发,用理想的在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的,这就是频率取样法。

(二)窗函数设计法同其它的数字滤波器的设计方法一样,用窗函数设计滤波器也是首先要对滤波器提出性能指标。

一般是给定一个理想的频率响应,使所设计的FIR滤波器的频率响应去逼近所要求的理想的滤波器的相应。

窗函数法设计的任务在于寻找一个可实现(有限长单位脉冲响应)的传递函数。

去逼近。

我们知道,一个理想的频率响应的傅理叶变换所得到的理想单位脉冲响应往往是一个无限长序列。

对经过适当的加权、截断处理才得到一个所需要的有限长脉冲响应序列。

对应不同的加权、截断,就有不同的窗函数。

所要寻找的滤波器脉冲响应就等于理想脉冲响应和窗函数的乘积。

即,由此可见,窗函数的性质就决定了滤波器的品质。

以下是几种常用的窗函数:1.矩形窗:2.Hanning窗:3.Hamming窗:4.Blackman窗:5.Kaiser窗:窗函数法设计线性相位FIR滤波器可以按如下步骤进行:1.确定数字滤波器的性能要求。

确定各临界频率{}和滤波器单位脉冲响应长度N。

2.根据性能要求和N值,合理地选择单位脉冲响应h(n)有奇偶对称性,从而确定理想频率响应的幅频特性和相位特性。

基于窗函数的FIR滤波器的设计

基于窗函数的FIR滤波器的设计
下 , 量选 择 较小 的 Ⅳ 在 Ⅳ和 窗 函数 类 型确 定 后 , 尽 , 即可
本文 采 用 FR数字 滤 波 ,它 是 由卷 积 原理 实 现 , I 如 公式 () 示 。其 中 h ) 系统 滤 波参 数 , x ) 集 5所 (为 k 而 ( 为采 n
^ ne )
1F R I 滤波器设 计的基本原理
设滤 波 器 的 理想 特 性 为 l: 2 ]
n ∞
1 =
I=- ∞ t
() 据 过 渡 带 宽及 阻 带 衰 减 要 求 , 择 窗 函数 的 1根 选
^ 是与其对应 的单位脉冲响应 , 理想特性 的单位 冲激响应可由傅 氏变换求得 :
作者简介:何 小> 17 一 男, I  ̄( 0) 四J 南部人 , 士, 师, 9 , l 硕 讲 主要从 事电子 与通信方面的研究。
维普资讯
5 2
四 川理 工 学院 学报 ( 自然科 学版 )
20 0 8年 6月
了, 不过这些公式是近似 的, 出的窗 口长度 还要在计 得 算中逐步修正, 原则是在保证阻带衰减满足要求 的情况
波 器 是 数 字信 号处 理 的重 要 基 础 ,在 对 信 号 的 滤波 、 检
产 生有 限长 度 的冲 激 响应 函数 , 们 取 样 响应 为 h n , 我 () 长度 为 N 其 系数 函数 为 H ( : , z )
N一 1
Ⅳ = h() ) n
t I0 =
N I
收 稿 日期 :2 0 — 30 0 70 —3
小阻带衰减 A 没有影响, s 在确定窗函数类型 以后, 可根
据 过渡 带宽小于给定指标确定所拟用 的窗函数 的窗 口
长度 J, 7 设待求滤波 器的过渡带宽为 A , 、 , w 它与窗 口长度 N近似 成反 比, 窗函数类 型确 定后, 其计算公式也确定

基于窗函数法的FIR数字滤波器设计

基于窗函数法的FIR数字滤波器设计

基于窗函数法的FIR数字滤波器设计∗屈召贵(四川旅游学院信息与工程学院ꎬ四川成都610100)摘㊀要:数字滤波器是用来对离散信号的数字代码进行运算处理ꎬ以达到改变信号频谱的目的ꎬ在通信㊁图形图像㊁语音㊁声纳㊁生物㊁地震等信息处理中广泛应用ꎮ因此在数字信号处理课程教学中ꎬ数字滤波器的设计显得尤为重要ꎮ在工程实践中有限长脉冲响应数字滤波器(FIR)更为普遍ꎬ以此在教学中提出根据理想频响ꎬ采用直接逼近的实验设计方法ꎬ并通过MATLAB具体实现ꎮ从理论㊁视觉和听觉三方面设计实验内容ꎮ结果表明该方法能较好地让学生运用傅里叶变换等相关理论知识解决实际问题ꎮ关键词:数字滤波器ꎻ傅里叶变换ꎻ单位脉冲响应中图分类号:TN919.5㊀㊀㊀㊀㊀㊀文献标识码:A㊀㊀㊀㊀㊀㊀DOI:10.19358/j.issn.2096 ̄5133.2019.09.017引用格式:屈召贵.基于窗函数法的FIR数字滤波器设计[J].信息技术与网络安全ꎬ2019ꎬ38(9):85 ̄89.DesignofFIRdigitalfilterbasedonwindowfunctionmethodQuZhaogui(SchoolofInformationEngineeringꎬSichuanTourismCollegeꎬChengdu610100ꎬChina)Abstract:Digitalfiltersareusedtoprocessthedigitalcodesofdiscretesignalsinordertochangethespectrumofsignals.Thedesignofdigitalfilterisveryimportantinthecourseofdigitalsignalprocessingbecauseitiswidelyusedinthefieldsofcommunicationꎬgraph ̄icsꎬspeechꎬsonarꎬbiologyꎬearthquakeandsoon.Inengineeringpracticeꎬfinitelengthimpulseresponsedigitalfilter(FIR)ismorecommon.Basedonthisꎬanexperimentaldesignmethodofdirectapproximationbasedonidealfrequencyresponseisproposedinteach ̄ingandrealizedbyMATLAB.Theexperimentalcontentsaredesignedfromthreeaspects:theoryꎬvisionandhearing.TheresultsshowthatthismethodcanmakestudentsuseFouriertransformtosolvepracticalproblems.Keywords:digitalfilterꎻFouriertransformꎻunitimpulseresponse∗基金项目:四川省教育厅重点科研项目(自然科学)(16ZA0424)0㊀引言随着半导体集成电路的发展ꎬ以及机器学习㊁人工智能技术的不断进步ꎬ数字信号处理在通信㊁生物㊁医疗㊁工业控制㊁雷达声纳㊁能源开采等领域广泛应用ꎮ该门课程涉及的理论和技术已成为电子信息㊁地质勘探㊁生物医疗等诸多学科领域工程技术人员必掌握的知识ꎮ数字信号处理课程作为电类专业的一门必修课ꎬ其重要性不言而喻ꎮ其中数字滤波器的设计在信息处理领域应用普遍ꎬ由于其涉及的知识面较多ꎬ理论知识复杂ꎬ内容抽象ꎬ难于理解[1-6]ꎬ因此相当一部分学生对这些知识的学习感到困难ꎮ本文基于此提出FIR数字滤波器设计基本原理㊁设计方法和应用MATLAB进行实现的实验项目ꎬ通过可视化㊁可听化的效果ꎬ让学生掌握FIR数字滤波器的设计ꎮ1㊀窗函数法设计FIR数字滤波器的原理分析1.1㊀窗函数法设计FIR数字滤波器的原理分析窗函数法是FIR数字滤波器较为常用的一种设计方法ꎬ在工程实践中广泛应用ꎮFIR数字滤波器设计的原理是:拟设计的滤波器的理想频率响应为Hd(ejω)ꎬFIR滤波器的设计就是寻找一个传递函数H(ejω)=ðN ̄1n=0h(n)e ̄jωn去逼近Hd(ejω)ꎮ在这种逼近中有两种直接的方法ꎬ一种是从时域入手ꎬ即时间窗函数设计法ꎬ另一种从频域入手ꎬ即频率采样法ꎮ时间窗函数设计法是从单位脉冲响应序列着手ꎬ使h(n)逼近理想的单位脉冲响应序列hd由于hd(n)可以从理想频响Hd(ejω)通过傅里叶反变换获得序列hd(n)=12πʏ2π0Hd(ejω)ejωndωꎬ因此ꎬ知道滤波器的理想频响函数ꎬ即可求出单位脉冲响应序列[7-9]ꎮ一般来说ꎬ理想频响都为分段恒定的ꎬ在边界频率处有突变点ꎬ所以ꎬ这样得到的理想单位脉冲响应hd(n)往往都是无限长序列ꎬ而且是非因果的ꎮ但FIR的h(n)是有限长的ꎬ问题是怎样用一个有限长的序列去近似无限长的hd(n)ꎮ最直接简单的办法是直接截取其一段来代替ꎮ这种截取可以形象地想像为h(n)就好像是通过一个 窗口 所看到的一段hd(n)ꎬ因此ꎬh(n)也可表示为hd(n)和一个 窗函数 w(n)的乘积ꎬ即:h(n)=w(n)hd(n)ꎮ在这里窗口函数就是矩形脉冲函数RN(n)ꎬ当然为了改善设计滤波器的特性ꎬ它还可以有其他的形式ꎬ相当于在矩形窗内对hd(n)作一定的加权处理ꎮ如图1所示ꎬ对于理想数字滤波器的单位取样响应而言ꎬ幅度较大的样点都集中在对称中心附近ꎬ这些样点将对滤波器的频率响应起到主要作用ꎮ如果只允许选择有限个样点作为一个系统的单位取样响应ꎬ当然在对称中心周围对称选择得到的对应的频率响应与理想滤波器的频率响应最为近似ꎬ而且允许取的点数越多越相近ꎬ这是窗函数法设计FIR滤波器的重要思想[10-14]ꎮ图1㊀理想数字滤波器和窗函数的频响1.2㊀常用的窗函数及幅频特性参数分析窗函数的傅式变换W(ejω)的主瓣决定了H(ejω)的过渡带宽ꎮW(ejω)的旁瓣大小和多少决定了H(ejω)在通带和阻带范围内的波动幅度ꎮ常用的几种窗函数有:矩形窗:w(n)=RN(n)Hanning窗:w(n)=0.51-cos2πnN-1()[]RN(n)Hamming窗:w(n)=0.54-0.46cos2πnN ̄1()[]RN(n)Blackmen窗:w(n)=0.42-0.5cos2πnN-1+0.08cos4πnN-1[]RN(n)Kaiser窗:w(n)=I0(β 1-[2n/(N-1)-1]2)I0(β)RN(n)式中Io(x)为零阶贝塞尔函数ꎮ常用的几种窗函数幅频特性参数如表1所示ꎮ表1㊀常用窗函数幅频特性参数窗函数窗谱性能指标加窗后性能指标旁瓣峰值/dB主瓣宽度过渡带宽阻带最小衰减/dB矩形窗-134π/N4π/N-21三角形窗-258π/N8π/N-25汉宁窗-318π/N8π/N-44海明窗-418π/N8π/N-53布拉克曼窗-5712π/N12π/N-74凯泽(β=7.865)-5710π/N-802㊀窗函数法设计FIR数字滤波器的步骤一般拟设计的数字滤波器性能指标通常有通带截频ωpꎬ阻带截频ωsꎬ通带衰耗Apꎬ阻带衰耗As等参数ꎮ大多数情况下频率参数是用模拟值给出ꎬ如采样频率Fsꎬ通带截频fpꎬ阻带截频fsꎮ可通过这些技术指标设计出符合线性相位要求的单位脉冲响应hn或H(k)ꎬ从而实现数字滤波器的功能ꎮ2.1㊀确定窗函数w(n)的N个样点值(1)选定窗函数的类型根据拟设计的滤波器的阻带截频ωs处的衰减小于阻带衰耗Asꎬ选定合适的窗函数ꎬ再选择过渡带较窄(越接近理想频响)的窗函数ꎮ通过查表1ꎬ最终确定要选用的窗函数ꎮ(2)计算窗函数的宽度N根据给定的参数ωp㊁ωs计算过渡带ΔBꎬ如式(1)所示:ΔB=ωs-ωp(1)由表1可知ꎬ各窗函数的过渡带为mπ/Nꎬ因此有关系式(2)㊁(3):mπN=ΔB(2)N=mπΔB(3)上述计算如果给出的是模拟参数ꎬ应转换为数字参数代入计算ꎮ如果拟设计的滤波器为高通㊁低通滤波器ꎬ则可直接用式(1)和(3)计算窗函数的宽度Nꎮ如果是带通滤波器和带阻滤波器ꎬ由于其过渡带有两个ꎬ因此选择较窄的过渡带ΔB代入式(3)计算ꎬ若计算的N为非整数时ꎬ需要进行向上取整运算ꎬ以使设计出的滤波器在两个过渡带都能满足要求ꎮ(3)计算w(n)的N个样点值将N值代入选定的窗函数表达式ꎬ计算出w(n)的N个样点值ꎮ通常用MATLAB提供的窗函数来确定ꎮ各种窗的计算如表2所示ꎮ表2㊀MATLAB窗函数计算w(n)窗类型MATLAB窗函数计算w(n)矩形窗w(n)=rectwin(N)三角形窗w(n)=bartlett(N)汉宁窗w(n)=hanning(N)海明窗w(n)=hamming(N)布莱克曼窗w(n)=blackman(N)凯塞 ̄贝塞尔窗w(n)=Kaiser(Nꎬbeta)2.2㊀根据技术指标计算hd(n)hd(n)为理想滤波器的频响ꎬ根据拟设计的滤波器类型计算Hd(ejωτ)ꎮ满足线性相位条件的系统输入序列x(n)和输出序列y(n)之间的关系如式(4)所示:y(n)=Ax(n-τ)(4)其z变换如式(5)所示:Y(z)=Az-τX(z)(5)令z=ejωꎬ则有式(6):H(ejω)=H(ω)e-jωτ(6)写成幅度和相位函数ꎬ如式(7)所示:Hd(ejω)=H(ω)θ(ω)(7)式中θ(ω)=-ωτꎬτ=(N-1)/2ꎮ理想滤波器的3dB截频ωc可近似位于过渡带中心ꎬ即有式(8):ωc=ωp+ωs2(8)低通滤波器的hd(n)的计算如式(9)所示ꎬ其中ꎬ-ωc<ω<ωcꎬ幅度为 1 ꎬ其他为 0 ꎮhd(n)=12πʏπ-πHd(ejω)ejωndω=12πʏωc-ωcejωτejωndω=sinωc(n-τ)π(n-τ)(9)由同样的方法可设计高通㊁带通㊁带阻滤波器的理想频率响应hd(n)ꎮ2.3㊀根据hd(n)和w(n)计算h(n)由式(9)可知hd(n)为无限长ꎬ实际应用中需加窗截断ꎬ变为有限长单位脉冲响应ꎮ其变换关系如式(10)所示:h(n)=hd(n) w(n)(10)如低通滤波器3dB截频为0.3πꎬN取33ꎬ用海明窗截断的表达式如式(11)所示:h(n)=sin0.3πn-16()[]πn-16()ˑ0.54-0.46cosπn16[]R33(n)(11)2.4㊀验证设计的滤波器根据求解的h(n)计算H(ejω)ꎬ通过MATLAB程序分析其幅频特性ꎬ主要验证阻带衰耗是否满足要求ꎬ若不满足要求ꎬ可适当改变窗函数形式或长度Nꎬ重复上述设计过程ꎬ以得到满意的结果ꎮ3㊀窗函数法FIR数字滤波器实验内容设计3.1㊀实验任务要求设有一段受干扰的音频信号ꎬ其有用信号频率在1.5kHz以内ꎬ干扰信号的频率为8kHzꎮ要求设计FIR数字滤波器提取有用信号ꎬ将干扰信号衰减抑制在50dB以内ꎬ通带衰耗控制在1dB以内ꎮ3.2㊀滤波器设计由任务要求可知ꎬ滤波器应设计为低通滤波器ꎬ其指标要求:通带截频fp为1.5kHzꎬ通带衰耗Ap为1dBꎬ阻带截频fs为3kHzꎬ阻带衰耗As为50dBꎮ采样频率Fs至少应为16kHzꎮ(1)求数字角频率ꎮ可计算数字滤波器的通带数字截频ωp为0.1875πꎬ阻带数字截频ωs为0.375πꎮ(2)窗函数类型ꎮ由于阻带衰耗为50dBꎬ通过查表1可知ꎬ选用海明窗最为合适ꎮ(3)计算窗函数的宽度Nꎮ由式(3)可计算ꎬ窗函数的宽度N为43ꎬ满足第一类线性相位条件ꎮ(4)计算hd(n)ꎮ由式(8)可知ꎬωc=0.28125πꎬτ=21ꎮ再根据式(9)ꎬ可求出hd(n)ꎬ如式(12)所式:hd(n)=sin[0.28125π(n-21)]π(n-21)(12)(5)确定FIR滤波器的h(n)ꎮ由式(10)可求出h(n)ꎬ如式(13)所示:h(n)=sin0.28125πn-21()[]πn-21()ˑ0.54-0.46cosπn21[]R43(n)(13)3.3MATLAB验证用MATLAB分别画出用于实验的原始信号的频谱图(如图2所示ꎬ在8kHz存在干扰信号)㊁设计的线性相位FIR低通滤波器幅频特性图(如图3所示)㊁滤波后的信号频谱图(如图4所示)ꎮ图2㊀原如信号频谱图由图3可知ꎬ设计的滤波器阻带衰减在50dB图3㊀线性相位FIR低通滤波器幅频特性图4㊀滤波后的频谱图以下ꎮ由图4可知ꎬ8kHz的干扰信号成功被滤出ꎮ因此设计滤波器符合设计要求ꎮ通过MATLAB的音频播放功能检验滤出后的信息ꎬ明显无干扰声音ꎮ4㊀结论窗函数法是FIR数字滤波器常用的设计方法ꎬ易于实现线性相位ꎮ其设计思路是根据目标滤波器的理想模型ꎬ通过加窗或截取的方法得到满足设计指标的滤波器ꎬ是一种直接逼近方式ꎬ逼近程度取决于窗的长度和窗的类型ꎮ实验以离散傅里叶变换理论为基础ꎬ以MATLAB为工具ꎬ从视觉和听觉等方面直观感受数字滤波器设计的实验ꎬ实践表明大大提高了学生的实验效果ꎮ参考文献[1]吴镇扬.讲好 数字信号处理 的绪论课[J].电气电子教学学报ꎬ2018ꎬ40(4):81 ̄84.[2]林永照ꎬ黄文准ꎬ李宏伟ꎬ等.数字信号处理实践与应用[M].北京:电子工业出版社ꎬ2015.[3]屈召贵ꎬ周永强.应用型本科电子信息工程专业实践教学体系探索[J].实验室研究与探索ꎬ2018ꎬ37(12):240 ̄244.[4]王莉ꎬ沈捷ꎬ张印强.面向实践创新能力培养的数字信号处理实验教学改革[J].西昌学院学报(自然科学版)ꎬ2018ꎬ32(3):116 ̄119.[5]楼生强.研究生课程«现代信号处理»建设的初探[J].数字通信世界ꎬ2018(11):16ꎬ102.[6]黄玲ꎬ王进花ꎬ李建海.高校中英文双语教学中存在的问题与对策研究 以新工科建设背景下 数字信号处理 课程为例[J].甘肃教育ꎬ2018(24):84 ̄85.[7]王路ꎬ赖春露.FIR数字滤波器幅频响应约束最大加权相位误差最小化设计[J].电子学报ꎬ2018ꎬ46(11):2781 ̄2786.[8]张金菊.船舶抗信号干扰的低通数字滤波器设计[J].舰船科学技术ꎬ2018ꎬ40(20):106 ̄108.[9]陈琦ꎬ李格伦ꎬ李智刚.用于船舶升沉运动估算的自适应数字滤波器[J].中国惯性技术学报ꎬ2018ꎬ26(4):421 ̄427.[10]胡晓朋ꎬ田雨波ꎬ许永秀ꎬ等.改进的类电磁机制算法及其在FIR数字滤波器中的应用[J].江苏科技大学学报(自然科学版)ꎬ2018ꎬ32(4):549 ̄554.[11]李强ꎬ李成飞ꎬ刘凯ꎬ等.用于永磁电机无传感器控制的数字滤波器设计[J].电机与控制学报ꎬ2018ꎬ22(8):47 ̄53.[12]潘凯ꎬ米飞ꎬ杨阳.无限长非负脉冲响应数字低通滤波器设计[J].激光杂志ꎬ2018ꎬ39(5):10 ̄14.[13]屈召贵ꎬ鲁顺昌.说话人识别的不确定性i ̄vector分析[J].计算机工程与设计ꎬ2017ꎬ38(6):1647 ̄1650. [14]屈召贵ꎬ刘强.基于北斗卫星的航行数据导航方法研究[J].舰船科学技术ꎬ2016ꎬ38(8):145 ̄147.(收稿日期:2019 ̄06 ̄24)作者简介:屈召贵(1980-)ꎬ男ꎬ硕士ꎬ副教授ꎬ主要研究方向:智能计算与信息处理ꎮ。

FIR数字滤波器设计(窗函数法)C语言实现

FIR数字滤波器设计(窗函数法)C语言实现

FIR数字滤波器设计(窗函数法)C语⾔实现背景介绍:理想滤波器在物理上是不可实现的,其单位脉冲响应是⽆限长、⾮因果的。

窗函数法,就是从时域出发,⽤有限长、因果的单位脉冲响应h(n)去逼近理想滤波器的⽆限长、⾮因果的单位脉冲响应的⽅法。

窗函数法⼜叫傅⾥叶级数法。

更多背景资料,请看数字信号处理(李永全),P175。

⽅法简介:设N-1阶FIR数字滤波器的单位冲击响应为h(n),则传递函数H(z)为:窗函数法的设计步骤如下:1.根据给定的理想频率响应Hd(e^jw),利⽤傅⾥叶反变换,求出单位冲击响应hd(n):2.将hd(n)乘以窗函数w(n),得到所要求的FIR滤波器系数h(n):3.求卷积:使⽤说明⼦函数语句:void firwin(int n, int band, int wn, int fs, double h[], double kaiser=0.0, double fln=0.0, double fhn=0.0);形参说明n:滤波器的阶数band:滤波器的类型,取值1-4,分别为低通、带通、带阻、⾼通滤波器wn:窗函数的类型,取值1-7,分别对应矩形窗、图基窗、三⾓窗、汉宁窗、海明窗、布拉克曼窗和凯塞窗fs:采样频率h:存放滤波器的系数kaiser:beta值fln:带通下边界频率fhn:带通上边界频率源代码void firwin(int n, int band, int wn, int fs, double h[], double kaiser, double fln, double fhn){int i;int n2;int mid;double s;double pi;double wc1;double wc2;double beta;double delay;beta = kaiser;pi = 4.0 * atan(1.0); //pi=PI;if ((n % 2) == 0)/*如果阶数n是偶数*/{n2 = (n / 2) - 1;/**/mid = 1;//}else{n2 = n / 2;//n是奇数,则窗⼝长度为偶数mid = 0;}delay = n / 2.0;wc1 = 2 * pi * fln;wc2 = 2 * pi * fhn;switch (band){case 1:{for (i=0; i<=n2; ++i){s = i - delay;h[i] = (sin(wc1 * s / fs) / (pi * s)) * window(wn, n+1, i, beta);//低通,窗⼝长度=阶数+1,故为n+1h[n - i] = h[i];}if (mid == 1){h[n / 2] = wc1 / pi;//n为偶数时,修正中间值系数}break;}case 2:{for (i=0; i<=n2; i++){s = i - delay;h[i] = (sin(wc2 * s / fs) - sin(wc1 * s / fs)) / (pi * s);//带通h[i] = h[i] * window(wn, n+1, i, beta);h[n-i] = h[i];}if (mid == 1){h[n / 2] = (wc2 - wc1) / pi;}break;}case 3:{for (i=0; i<=n2; ++i){s = i - delay;h[i] = (sin(wc1 * s / fs) + sin(pi * s) - sin(wc2 * s / fs)) / (pi * s);//带阻 h[i] = h[i] * window(wn, n+1, i, beta);h[n - i] = h[i];}if (mid == 1){h[n / 2] = (wc1 + pi - wc2) / pi;}break;}case 4:{for (i=0; i<=n2; i++){s = i - delay;h[i] = (sin(pi * s) - sin(wc1 * s / fs)) / (pi * s);//⾼通h[i] = h[i] * window(wn, n+1, i, beta);h[n-i] = h[i];}if (mid == 1){h[n / 2] = 1.0 - wc1 / pi;}break;}}}//n:窗⼝长度 type:选择窗函数的类型 beta:⽣成凯塞窗的系数static double window(int type, int n, int i, double beta){int k;double pi;double w;pi = 4.0 * atan(1.0); //pi=PI;w = 1.0;switch (type){case 1:{w = 1.0; //矩形窗break;}case 2:{k = (n - 2) / 10;if (i <= k){w = 0.5 * (1.0 - cos(i * pi / (k + 1))); //图基窗}if (i > n-k-2){w = 0.5 * (1.0 - cos((n - i - 1) * pi / (k + 1)));}break;}case 3:{w = 1.0 - fabs(1.0 - 2 * i / (n - 1.0));//三⾓窗break;}case 4:{w = 0.5 * (1.0 - cos( 2 * i * pi / (n - 1)));//汉宁窗break;}case 5:{w = 0.54 - 0.46 * cos(2 * i * pi / (n - 1));//海明窗break;}case 6:{w = 0.42 - 0.5 * cos(2 * i * pi / (n - 1)) + 0.08 * cos(4 * i * pi / (n - 1));//布莱克曼窗 break;}case 7:{w = kaiser(i, n, beta);//凯塞窗break;}}return(w);}static double kaiser(int i, int n, double beta){double a;double w;double a2;double b1;double b2;double beta1;b1 = bessel0(beta);a = 2.0 * i / (double)(n - 1) - 1.0;a2 = a * a;beta1 = beta * sqrt(1.0 - a2);b2 = bessel0(beta1);w = b2 / b1;return(w);}static double bessel0(double x){int i;double d;double y;double d2;double sum;y = x / 2.0;d = 1.0;sum = 1.0;for (i=1; i<=25; i++){d = d * y / i;d2 = d * d;sum = sum + d2;if (d2 < sum*(1.0e-8)){break;}}return(sum);}得到系数之后,与输⼊信号求卷积即可!。

DSP实验6 用窗函数法设计FIR滤波器

DSP实验6 用窗函数法设计FIR滤波器

用窗函数法设计FIR 滤波器一、实验目的1. 掌握窗函数法设计FIR 滤波器的原理和方法,观察用几种常用窗函数设计的FIR 数字滤波器技术指标;2. 掌握FIR 滤波器的线性相位特性;3. 了解各种窗函数对滤波特性的影响。

二、实验原理与方法如果所希望的滤波器的理想频率响应函数为H d (e jω),则其对应的单位脉冲响应为ωπωππωd e e H n h n j j d ⎰-=)(21)(,用窗函数w N (n)将h d (n)截断,并进行加权处理,得到实际滤波器的单位脉冲响应h (n )=h d (n )w N (n ),其频率响应函数为n j N n j e n h e H ωω--=∑=10)()(。

如果要求线性相位特性,则h (n )还必须满足)1()(n N h n h --±=。

可根据具体情况选择h(n)的长度及对称性。

三、实验步骤1. 写出理想低通滤波器的传输函数和单位脉冲响应。

2. 写出用四种窗函数设计的滤波器的单位脉冲响应。

3. 用窗函数法设计一个线性相位FIR 低通滤波器,用理想低通滤波器作为逼近滤波器,截止频率ωc =π/4 rad ,选择窗函数的长度N =15,33两种情况。

要求在两种窗口长度下,分别求出h(n),打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和阻带衰减;4 用其它窗函数(汉宁窗(升余弦窗)、哈明窗(改进的升余弦窗)、布莱克曼窗) 设计该滤波器,要求同1;比较四种窗函数对滤波器特性的影响。

四、实验用MATLAB 函数可以调用MATLAB 工具箱函数fir1实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft 来计算滤波器的频率响应函数。

fir1是用窗函数法设计线性相位FIRDF 的工具箱函数,调用格式如下: hn=fir1(N, wc, ‘ftype ’, window)fir1实现线性相位FIR 滤波器的标准窗函数法设计。

用窗函数法设计FIR滤波器

用窗函数法设计FIR滤波器

用窗函数法设计FIR滤波器窗函数法是一种常用的数字滤波器设计方法,特别是FIR(Finite Impulse Response)滤波器设计的一种方法。

FIR滤波器是一种非递归滤波器,可以实现信号的滤波,特定频率的增强或抑制,抗混叠等功能。

FIR滤波器设计过程可以分为两个步骤:确定滤波器的理论参数和设计窗函数。

第一步,确定滤波器的理论参数。

这些参数包括滤波器的采样频率,截止频率,通带和阻带的衰减要求等。

一般情况下,FIR滤波器的理论参数由滤波器的应用需求决定。

第二步,设计窗函数。

窗函数是用来限制FIR滤波器的单位冲激响应的长度的。

它决定了滤波器的频率响应特性和频率选择性。

窗函数可以通过Fourier级数展开来实现。

常用的窗函数有矩形窗、汉宁窗、汉明窗、布莱克曼窗等。

例如,以汉宁窗为例,下面是使用窗函数法设计FIR滤波器的具体步骤:1. 确定滤波器的理论参数。

如采样频率为fs,截止频率为fc,通带衰减要求为d1,阻带衰减要求为d22.将截止频率转化为数字频率。

由于数字信号是离散的,需要将模拟信号的截止频率转化为数字频率。

数字频率的单位为π。

3.根据截止频率和采样频率计算滤波器的长度N。

通常情况下,滤波器的长度N取一个奇数值,以确保能满足线性相位要求。

4.根据窗函数的性质确定窗函数的参数。

汉宁窗的参数为α=0.55.根据窗函数的长度N和参数α计算窗函数的系数。

例如,对于汉宁窗,窗函数的系数可通过下式计算得到:w(n) = 0.5 - 0.5 * cos(2πn/N) ,其中0≤ n ≤ N-16.根据窗函数的系数计算滤波器的单位冲激响应h(n)。

滤波器的单位冲激响应即为窗函数系数的离散时间傅里叶变换(DTFT),用于表示滤波器的频率响应特性。

7.根据滤波器的单位冲激响应h(n)可以计算出滤波器的频率响应H(f)。

频率响应可以通过滤波器的单位冲激响应h(n)的离散时间傅里叶变换(DTFT)计算得到。

8.根据设计要求来检验滤波器的频率响应特性是否满足要求。

窗函数法设计线性相位FIR数字滤波器

窗函数法设计线性相位FIR数字滤波器

fd(W)= -0.5MW +
3.按照下式计算IDTFT得hd[k]
1 π jfd ( W ) jkW hd [k ] A ( W ) e e dW -π d 2π
4.截短hd[k]得: h[k]= hd[k], 0k M
例1:设计一个幅度响应能逼近理想带通滤波器的线
性相位FIR滤波器。 解: (1) 确定线性相位FIR滤波器类型:可选用I型或II型 (2) 确定理想滤波器的幅度函数Ad(W):
0
2 N
3 N
W
4 N
3π W( ) N A -20lg W (0)
=13dB
二、吉伯斯现象
矩形窗设计FIR滤波器的频率响应H(ejW) 1 jW jW jW H (e ) * W (e ) H (e ) DTFT{hd (k )wN (k )} d N 2π 1 π jW -jWM / 2 j j( W- ) H (e ) A ( W )e H (e ) W (e )d d N d d π 2π jW -jWM / 2 WN (e ) W (W)e
1 π -j M / 2 -j(W- )M / 2 A ( )e W ( W )e d d 2π - π π -jWM / 2 1 e Ad ( )W (W - )d 2π - π 1 π Ad ( ) W (W - )d FIR滤波器的幅度函数: A(W) 2π - π
1-0.0002 0.0002
0
10
20
30
k
W Wc
11.4 π
N L
Ap 0.0017dB,As 74dB
三、常用窗函数
常用窗函数性质
窗的类型 矩形 Hann Hamming Blackman 主瓣宽度 4 / N 8 / N 8 / N 12 / N 近似过 渡带宽度 1.8 / N 6.2/N 7 / N 11.4/N

用窗函数法设计FIR滤波器

用窗函数法设计FIR滤波器
具体步骤如下:
1.用窗函数法设计一线性相位FIR低通滤波器,要求通带截止频率 ,
(1)选择一个合适的窗函数(如hamming窗),取单位冲击响应h(n)的长度N=15,观察所设计滤波器的幅频特性,分析是否满足设计要求;
(2)取N=45,重复上述设计,观察幅频和相频特性的变化,分析长度N变化的影响;
(3)保持N=45不变,改变窗函数(如hamming窗变为blackman窗),观察并记录窗函数对滤波器幅频特性的影响。
xlabel('n');ylabel('h(n)');
title('hamming窗设计的h(n)'2);
hw=fft(hn,512);
w=2*[0:511]/512;
plot(w,20*log10(abs(hw)));
xlabel('w/pi');ylabel('Magnitude(dB)');
(4)由 ,得出单位脉冲响应 ;
(5)对 作离散时间傅立叶变换,得到 。
2.在MATLAB中,可以用b=fir1(N,Wn,’ftype’,taper)等函数辅助设计FIR数字滤波器。N代表滤波器阶数;Wn代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn为双元素相量;ftype代表滤波器类型,如’high’高通,’stop’带阻等;taper为窗函数,默认为海明窗,窗函数实现需要用窗函数blackman,hamming,hanningchebwin,kaiser产生。
用窗函数法设计FIR滤波器是在时域进行的,先用傅里叶变换求出理想滤波器单位抽样相应hd(n),然后加时间窗w(n)对其进行截断,以求得FIR 滤波器的单位抽样响应h(n)。

(完整word版)用窗函数法设计FIR数字滤波器

(完整word版)用窗函数法设计FIR数字滤波器

用窗函数法设计FIR 数字滤波器一、实验目的1.掌握用窗函数法设计FIR 数字滤波器的原理和方法。

2.熟悉线性相位FIR 数字滤波器特征。

3.了解各种窗函数对滤波特性的影响。

二、实验仪器微型计算机 matlab 软件 三、实验原理和方法如果所希望的滤波器的理想频率响应函数为 )(ωj d eH ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰-(2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。

由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2))(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为: )(ωj d eH =∑-=-1)(N n j e n h ω (2-3)式中,N 为所选窗函数)(n ω的长度。

由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。

设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。

各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。

这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。

)(ωj e H 是否满足要求,要进行验算。

一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。

如果要观察细节,补零点数增多即可。

如果)(ωj eH 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。

如果要求线性相位特性,则)(n h 还必须满足)1()(n N h n h --±= (2-4)根据上式中的正负号和长度N 的奇偶性又将线性相位FIR 滤波器分成四类。

FIR滤波器的设计

FIR滤波器的设计

①变化了理想频响旳边沿特征,形成过渡带,宽为4π/N ,
等于WR()旳主瓣宽度。(决定于窗长)
②过渡带两旁产生肩峰和余振(带内、带外起伏),
取决于WR()旳旁瓣。旁瓣多,余振多;旁瓣相对值
大,肩峰强 ,与 N无关。(决定于窗口形状)
③N增长,过渡带宽减小,肩峰值不变。( 8.95% ,吉布斯 (Gibbs)效应)
不大于33点采样时插入一种过渡带采样点旳过渡带宽 4π/33 ,而阻带衰减增长了20多分贝,达-60dB以上, 当然,代价是滤波器 阶数增长,运算量增长。
小结: 频率采样设计法优点: ① 直接从频域进行设计,物理概念清楚,直观以便; ② 适合于窄带滤波器设计,这时频率响应只有少数几种 非零值。
缺陷:截止频率难以控制。 因频率取样点都局限在2π/N旳整数倍点上,所以在
WR ( )
sin(N / 2) sin( / 2)
N
sin(N / 2) N / 2
N
sin x
x
N旳变化不能变化主瓣与旁瓣旳百分比关系,只能
变化WR( 旳绝对值大小和起伏旳密度。
肩峰值旳大小决定了滤 波器通带内旳平稳程度 和阻带内旳衰减,所以 对滤波器旳性能有很大 旳影响。
c
0. 0895 1
FIR滤波器旳ห้องสมุดไป่ตู้计
FIR型滤波器旳系统函数为:
M
H (z) h(0) h(1)z1 h(M )zM h(n)zn
n0
FIR数字滤波器旳特点(与IIR数字滤波器比较):
优点 :(1)很轻易取得严格旳线性相位,防止被 处理旳信号 产生相位失真;
(2)极点全部在原点(永远稳定),无稳定 性问题; (3)任何一种非因果旳有限长序列,总能够经 过一定旳延时,转变为因果序列, 所以因果性总 是满足; (4)无反馈运算,运算误差小。

(完整word版)有限冲激响应滤波器(FIR)算法实验(word文档良心出品)

(完整word版)有限冲激响应滤波器(FIR)算法实验(word文档良心出品)

福州大学至诚学院《DSPs原理及应用》实验报告实验题目:实验三有限冲激响应滤波器(FIR)算法实验姓名:学号:系别:信息工程系专业:通信工程年级: 2011 级同组姓名:实验时间: 2014.11.10~2014.11.112014年 11 月 14 日实验3:有限冲激响应滤波器(FIR)算法实验1.实验目的1.1掌握用窗函数法设计FIR数字滤波器的原理和方法;1.2熟悉线性相位FIR数字滤波器特性;1.3了解各种窗函数对滤波器特性的影响。

2.实验设备PC 兼容机一台;安装Code Composer Studio 3.1软件。

3.实验原理3.1有限冲激响应数字滤波器的基础理论。

3.2模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。

3.3数字滤波器系数的确定方法。

3.4根据要求设计低通 FIR 滤波器:要求:通带边缘频率 10kHz,阻带边缘频率 22kHz,阻带衰减 75dB,采样频率50kHz。

设计:3.4.1过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz;3.4.2采样频率:f1=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz;Ω1=2πf1/fs=0.64π;3.4.3理想低通滤波器脉冲响应:h1[n]=sin(nΩ 1)/n/π =sin(0.64π n)/n/π3.4.4根据要求,选择布莱克曼窗,窗函数长度为:N=5.98fs/过渡带宽度=5.98*50/12=24.93.4.5选择 N=25,窗函数为:w[n]=0.42+0.5cos(2π n/24)+0.8cos(4π n/24)3.4.6滤波器脉冲响应为:h[n]=h1[n]w[n] |n|≤12 h[n]=0 |n|>123.4.7根据上面计算,各式计算出 h[n],然后将脉冲响应值移位为因果序列。

3.4.8完成的滤波器的差分方程为:y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]+0.28x[n-13]-0.11x[n-14]-0.02x[n-15]+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]3.5程序流程图:4.实验步骤4.1实验准备:设置软件仿真模式;启动CCS 3.3。

数字信号处理---窗函数法设计FIR滤波器,窗函数选取原则

数字信号处理---窗函数法设计FIR滤波器,窗函数选取原则

)
)]
W Hm ( ) 0.54W R ( ) 0.23[W R (
2 N 1
) W R (
2 N 1
)]
15 Logo
请加入标题 窗函数介绍
汉明窗
16 Logo
请加入标题 窗函数介绍
汉明窗
主瓣宽度 B m 8 / 23 1.092 -41dB
旁瓣峰值衰减
幅频响应窗函数介绍布莱克曼窗04205cos18频率响应窗函数介绍布莱克曼窗19窗函数介绍布莱克曼窗20主瓣宽度旁瓣峰值衰减57db阻带最小衰减74db精确过渡带12231638231502凯塞窗kaiserwindow窗函数介绍21其中22窗函数介绍23旁瓣峰值衰减57db阻带最小衰减80db精确过渡带1023136524各种窗函数性能比较窗类型主瓣宽度精确过旁瓣峰值衰减db阻带最小衰减db矩形窗18n1321三角窗61n252562n314466n4153布莱克曼窗12n11n577410n5780各种窗函数性能比较克曼窗阻带最小衰减较大凯塞窗的阻带最小衰减最大各窗函数的旁瓣峰值衰减规律与此关系相同
精确过渡带 Bt 6.6 / 23 0.9010 阻带最小衰减 53dB
17 Logo
布莱克曼窗
窗函数介绍
布莱克曼窗(Blankman Window) ,又
称二阶升余弦窗。
w Bl ( n ) [0.42 0.5 cos( 2 n N 1 ) 0.08 cos(
j
4 n N 1
各种窗函数性能比较
窗类型
矩形窗 三角窗
主瓣宽度
精确过
渡带 B t
1.8π/N 6.1π/N
旁瓣峰值
衰减/dB
-13 -25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要随着信息吋代的到来,数字信号处理已经成为当今一门及其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用,在数字信号处理屮,数字滤波器占有及其重要的地位,它具有精度高,可靠性好、灵活性大等特点,现代数字滤波器可以用软件和硬件两种方式来实现,软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。

MATLAB是一•种面向科学和工程计算的语言,它集数值分析,矩阵运算、信号处理和图形显示于一•体,具有编程效率高、调试手段丰富、扩充能力强等特点,MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。

本文介绍了如何利用MATLAB仿真软件系统结合窗函数法设计-•个数字窗函数法关键字:数字信号处理数字滤波器MATLAB重要的地位窗函数法窗函数法1原理说明随着信息时代的到来,数字信号处理已经成为一门极其重要的学科和技术,并且在通信、语音、图像、自动控制等众多领域得到了广泛的应用。

在数字信号处理屮,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性人等特点。

现代数字滤波器可以用软件或硬件两种方式來实现。

软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。

MATLAB是一,种而向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。

MATLAB的信号处理工具箱具有强大的函数功能,它不仅可以用來设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。

1.1数字滤波技术数字滤波,就是通过一•定的计算或判断程序减少干扰在有用信号屮的比重,故实质上是一种程序滤波。

与此对应的就是模拟滤波,由于模拟滤波牵扯到的其他知识太多在此不详细介绍了,模拟滤波主要无源绿波(直接用电阻、电容、电感等不外接电源的元件组成的)与有源滤波(如运算放人器等需要外接电源组成的),其n的是将信号屮的噪音和干扰滤去或者将希望得到的频率信号滤出为我所用。

数字滤波的出现克服了模拟滤波的很多不足,具有以下优点:A.是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。

B.可以对频率很低的信号实现滤波,克服了模拟滤波的缺陷。

0.可以根据信号的不同,采用不同的滤波方法或参数,具有灵活、方便、功能强的特点。

几种常用的滤波方法:1.算术平均值法2.屮值滤波法3.滑动平均值法4 •限幅滤波法5•惯性滤波法数字滤波技术通过数字滤波器实现,从实现方法上可以分为FTR数字滤波器和IIR 数字滤波器,按功能可分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和带阻滤波器(BSF)o本文主要对FTR滤波器加以介绍。

1.2 FIR滤波器FIR (Finite Impulse Response)滤波器,艮卩有限长单位冲激响应滤波器, 是数字信号处理系统屮最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,是稳定的系统。

因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用,FIR滤波器具有以下主要优点:1.F IR滤波器具有准确的线性相位;2.FIR滤波器永远稳定;3.FIR滤波器设计方法—•般是线性的;4.FIR滤波器在硬件上具有更高的运行效率;5.FIR滤波器启动传输时间只需耍有限时间。

FIR滤波器的主要缺点有:1.F IR滤波器为达到同样的性能耍求需要比IIR滤波器高得多的阶数;2.相应的FIR滤波器的时延比同等性能的IIR滤波器高很多。

FIR滤波器的硬件实现主要有数字集成芯片,DSP芯片FIR滤波器,可编程FIR滤波器,后两者的实际方法主要通过MATLAB软件进行设计,其设计方法多样,形式灵活,能够满足各种要求,并且不受数字集成芯片规格的限制。

FIR滤波器的设计方法主要有窗函数法、多带和过渡带、约束最小二乘法、任意相应法、升余弦法,其屮最常用的是窗函数法。

1.3窗函数窗函数法是设计FIR滤波器的最主耍方法Z-—,实际屮遇到的离散时问信号总是有限长的,因此不可避免的要遇到数据截短的问题,在信号处理屮,对离散序列的截短是通过序列与窗函数相乘来实现的。

在信号处理屮,窗函数是一•种除在给定区间Z外取值均为0的实函数。

譬如:在给定区间内为常数血在区间外为0的窗函数被形象地称为矩形窗。

任何函数与窗函数Z积仍为窗函数,所以相乘的结果就像透过窗口“看”其他函数一样。

窗函数在光谱分析、滤波器设计以及音频数据压缩等方而有广泛的应用。

常用的窗函数有矩形窗、巴特利特(Bartlett)窗、三角窗、海明(Hamming) 窗、汉明(Hanming)窗、布莱克曼(Blackman)窗、切比雪夫(Chebyshev)窗、凯泽(Kaiser)窗。

1-4 MATLAB 结合窗函数设计法原理数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字吋间 序列转化为代表输出信号的数字时间序列,并在转化过程屮,使信号按预定的形 式变化。

数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数 字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR) 滤波器。

IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。

所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。

FIR 数字 滤波器的单位脉冲响应是有限长序列。

它的设计问题实质上是确定能满足所要求 的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等 波纹最佳逼近法等。

FIR 滤波器具有严格的相位特性,这对于语音信号处理和数 据传输是很重要的。

H 前FIR 滤波器的设计方法主要有三种:窗函数法、频率取 样法和切比雪夫等波纹逼近的最优化设计方法。

常用的是窗函数法和切比雪夫等 波纹逼近的最优化设计方法。

因此设计FIR 滤波器的方法Z —可以从时域出发,截取有限长的一段冲击响 应作为H(z)的系数,冲击响应长度N 就是系统函数H(z)的阶数。

只要N 足够长, 截取的方法合理,总能满足频域的要求。

一般这种时域设计、频域检验的方法要 反复几个回合才能成功。

要设计一个线性相位的FIR 数字滤波器,首先要求理想频率响应 H d (e jw) o H d (e jw)是w 的周期函数,周期为2龙,可以展开成傅氏级数:H 血5=工和讣z(1-1) 使用上述的传递函数去逼近H 〃(旷肘),一个理想的频率响应H d (幺用) 的傅立叶反变换:计FIRDF 用的h(n),因为h d (n)-般都是无限长、非因果的,物理上无法实现。

为了设计出频响类似于理想频响的滤波器,可以考虑用加町来近似爲⑺)。

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

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

设x(n)是一•个长序列,w(n)是长度为N 的窗函数,用w(n)截断x(n), 得到N 点序列x n (n),即在频域上则有2 71 \H d (e jw )d jMn dco (1-2)x n (n) = x(n)w(«)(1-3)M A T L A B 信号工具箱主要提供了以下几种窗函数,如表1-1所示:表1-1 MATLAB 窗函数加矩形窗后的频谱和理想频谱可得到以下结论:加窗使过渡带变宽,过渡带的带宽取决于窗谱的主瓣宽度。

矩形窗情况下的 过渡带宽是4兀/N 。

N 越大,过渡带越窄、越陡;过渡带两旁产牛肩峰,肩峰的两侧形成起伏振荡。

肩峰幅度取决于窗谱主瓣 和旁瓣面积之比。

矩形窗情况下是8.95%,与N 无关。

工程丄习惯用相对衰耗 来描述滤波器,和对衰耗定义为:A(w) = 2Olg^(e>)|/|H(^o )|] = 201g (H(vv)/H(0)|]( 1-5) 这样两个肩峰点的相对衰耗分别是0. 74dB 和-21dB 。

其中(-0. 0895)对应的点 的值定义为阻带最小衰耗。

以上的分析可见,滤波器的各种重耍指标都是由窗函数决定,因此改进滤波 器的关键在于改进窗函数。

窗函数谱的两个最重要的指标是:主瓣宽度和旁瓣峰值衰耗。

旁瓣峰值衰耗 定义为:旁瓣峰值衰耗= 201g (第一旁瓣峰值/主瓣峰值)(1-6)为了改善滤波器的性能,需使窗函数谱满足:(1) 主瓣尽可能窄,以使设计出来的滤波器有较陡的过渡带。

(2) 尽量减少最大旁瓣的相对幅度,也就是能量集屮于主瓣,以减小带内、 带外波动的最大幅度,增大阻带衰减。

一般来说,以上两点很难同吋满足。

当选取主瓣宽度很窄时,旁瓣的分量势 必增加,从血带内、带外的波动也增加了;当选取最小的旁瓣幅度时,降低了带 内、带外的波'X (e 一兀 e j "=— 7 2兀 由此可见,窗函数w(n)不仅仅会影响原信号x(n)在吋域上的波形,而且 也会影响到频域内的形状。

X N(1—4)动,但是过渡带的陡度减小了。

所以实际采用的窗函数其特性往往是它们的折屮,在保证主瓣宽度达到一定要求的前提下,适当牺牲主瓣宽度来换取旁瓣波动的减小。

2.基本窗函数基本窗函数包括以下三类,主要有:矩形窗函数、汗明窗窗函数和布莱克曼窗函数。

下而就对这些窗函数展开介绍。

2.1矩形窗函数矩形窗(Rectangular Window)函数的时域形式可以表示为:Boxcar函数:牛成矩形窗调用方式w = boxcar (n):输入参数n是窗函数的长度;输岀参数w是由窗函数的值组成的n阶向量。

从功能上讲,该函数又等价于w = ones(n, 1) o2・3汉宁窗(升余弦窗)(2-4)当N远大于1吋,上式可近似表]W(Q)U0.5W&)+0.254•为:Z2龙丫f 2兀、0-+叫0 +——\N I N )w(〃)= RN 5)= |o,(2-1)它的频憑特性內叭(严)=c,2丿汉明窗(Hanning)函数吋域形式可表示为:W{n) = - 1- COS(2-3) 利用傅利叶卑换的调制特性,由21式可诂霆詁喬的平谱函数非叱)=r^°w^ 一寻叫”+語小(2-5)这三部分Z和使旁瓣互相抵消,能量更集屮在主瓣,汉明窗函数的最大旁瓣值比主瓣值低31dB,但是主瓣宽度比矩形窗函数的主瓣宽度增加了 1倍,为8 兀/No hanming函数:牛成汉明窗调用方式:(1)w = hanning(n):输入参数n是窗函数的长度;输出参数w是由窗函数的值组成的n阶向量。

注意:此函数不返回是零点的窗函数的首尾两个元素。

(2)w = hanming (n,' symmetric'):与上面相类似。

相关文档
最新文档