数字滤波器(六)--设计FIR滤波器
设计FIR滤波器
- 引
- 1. 线性相位FIR滤波器
- 1.1 相位与特点
- 1.2 幅度函数的特点
- 1.3 FIR滤波器的零点
- 2. 窗函数设计法
- 2.1 窗函数设计原理
- 2.2 窗函数的设计思路
- 2.3 窗函数的选择与常用的窗函数
- 2.4 窗函数法的设计步骤
引
数字滤波器(一)–IIR与FIR的基本结构与MATLAB实现
数字滤波器(二)–最小相位延时系统和全通系统
数字滤波器(三)–模拟滤波器的设计
数字滤波器(四)–模拟滤波器转化为数字滤波器
数字滤波器(五)–设计IIR滤波器
1. 线性相位FIR滤波器
1.1 相位与特点
FIR滤波器的单位冲激响应h(n)为有限长序列,滤波器的一般形式为:
y(n)=∑k=0N−1h(k)x(n−k)y(n)=\sum \limits_{k=0}^{N-1}h(k)x(n-k)y(n)=k=0∑N−1h(k)x(n−k)
其系统函数一般形式为:
H(z)=∑k=0N−1h(k)z−nH(z) = \sum \limits_{k=0}^{N-1}h(k)z^{-n}H(z)=k=0∑N−1h(k)z−n
在有限z平面内,有N-1个零点,在原点z=0处有N-1阶极点
系统的频率响应为:
H(ejw)=∑k=0N−1h(n)e−jwn=H(w)ejθ(w)H(e^{jw})=\sum \limits_{k=0}^{N-1}h(n)e^{-jwn}=H(w)e^{j\theta(w)}H(ejw)=k=0∑N−1h(n)e−jwn=H(w)ejθ(w)
其中θ(w)\theta(w)θ(w)是相位特性,是频率w的线性函数。相位特性对w的导数就是系统的群延时。
1.2 幅度函数的特点
研究线性相位FIR滤波器幅度函数的特点时,有两种分类方法:
- 根据h(n)的奇、偶对称性分类
- 根据N的长度为奇、偶分类
下表为对上述的分类方法的总结:
1.3 FIR滤波器的零点
FIR滤波器的零点是以共轭对存在的,如果存在零点z1z_1z1,那么肯定存在零点z1∗z_1^*z1∗,1z1\frac{1}{z_1}z11,(1z1)∗(\frac{1}{z_1})^*(z11)∗。假设z1=rejθz_1=re^{j\theta}z1=rejθ, k为常数,根据r和θ\thetaθ的取值,零点可分为以下四种情况:
2. 窗函数设计法
2.1 窗函数设计原理
理想滤波器的单位冲激响应hd(n)h_d(n)hd(n)应该是无限长的非因果序列,这在实际生活中无法实现,只能用有限长的序列h(n)h(n)h(n)去近似无限长的hd(n)h_d(n)hd(n)。最简单的方法就是直接截取hd(n)h_d(n)hd(n)的一部分作为h(n)h(n)h(n),这可以通过hd(n)h_d(n)hd(n)与窗函数相乘的形式做到:
h(n)=hd(n)w(n)h(n)=h_d(n)w(n)h(n)=hd(n)w(n)
2.2 窗函数的设计思路
Hd(eiw)−−−>hd(n)−−−>hd(n)w(n)−−−>h(n)−−−>H(ejw)H_d(e^{iw})--->h_d(n)--->h_d(n)w(n)--->h(n)--->H(e^{jw})Hd(eiw)−−−>hd(n)−−−>hd(n)w(n)−−−>h(n)−−−>H(ejw)
以理想的低通滤波器为例:
hd(n)h_d(n)hd(n)是一个无限长的以α\alphaα为中心的偶对称非因果序列。
假设此处窗函数为矩形函数:
可得
可以看到,时域加窗之后,时域阶段,频域出现了频谱泄露的现象
加窗处理对理想频率响应的影响:
- 加窗改变了理想频率响应的边沿特性,形成了过渡带,过渡带的宽度等于窗函数的主瓣宽度:Δw=4πN\Delta w=\frac{4\pi}{N}Δw=N4π
- 过渡带两侧产生了肩峰和余振,这些取决于窗函数的旁瓣,旁瓣多则震荡多,旁瓣相对大则肩缝强度大,与N无关
- 改变N,只能改变窗函数主瓣的宽度,不能改变窗函数主瓣和旁瓣的比例关系,也就是说,无法改变肩峰的相对值。增大N,其最大肩峰总是8.95%,称为吉布斯现象
肩峰的大小决定了滤波器通带内的平稳程度和阻带内的衰减速度,对滤波器的性能有很大影响,因此,选择不同的窗函数,可以得到不同性能的滤波器。
2.3 窗函数的选择与常用的窗函数
窗函数的选取要尽量满足两个要求:
- 窗函数的主瓣要尽可能窄,以获得较陡的过渡带
- 相对于主瓣幅度,旁瓣要尽可能小,是的能量尽量集中在主瓣中这样就可以尽量减少肩峰和余振,以提高阻带的衰减和通带的平稳性。
然后这两者是矛盾的,一般总是通过增加主瓣宽度来换取对旁瓣的抑制。
常用的窗函数:
2.4 窗函数法的设计步骤
数字滤波器(六)--设计FIR滤波器相关推荐
- 数字信号处理实验4:用窗口法设计FIR滤波器
杭电_数字信号处理课程设计_实验4 一.实验目的 了解一个实际滤波器设计过程,加深掌握用窗口法设计FIR滤波器的原理和窗函数对滤波器性能的影响. 二.实验要求及内容 实验题目: 1.用改进余弦窗设计一 ...
- matlab凯塞窗设计,转载:用MATLAB设计FIR滤波器的方法解析
介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法.FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的 ...
- 切比雪夫逼近法设计FIR滤波器
切比雪夫逼近法设计FIR滤波器 概念 切比雪夫逼近法,是在所需要的区间[a,b]内,使误差函数E(x)=|p(x)-f(x)|较均匀一致,并且通过合理选择p(x),使E(x)的最大值En达到最小. 切 ...
- fir fpga 不同截止频率_用MATLAB设计FIR滤波器的方法
用MATLAB设计FIR滤波器的方法 摘 要 介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法.FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计 ...
- matlab 滤波窗函数,Matlab窗函数设计FIR滤波器
一.设计目的 1.熟悉FIR滤波器设计的基本方法. 2.掌握用窗函数设计FIR滤波器的基本原理和方法,熟悉MATLAB语言. 3.熟悉线性相位FIR滤波器的幅频特性和相位特性. 4.了解各种不同窗函数 ...
- matlab 设计出滤波器使用,用MATLAB设计FIR滤波器的方法解析
介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法.FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的 ...
- 用matlab设计fir高阶滤波器,用matlab设计fir滤波器的三种方法.doc
用matlab设计fir滤波器的三种方法.doc 用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法摘要介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法程序设计法.FDATO ...
- matlab fir滤波器程序,使用MATLAB设计FIR滤波器
1. 采用fir1函数设计,fir1函数可以设计低通.带通.高通.带阻等多种类型的具有严格线性相位特性的FIR滤波器.语法形式: b = fir1(n, wn) b = fir1(n, wn ...
- Vivado经典案例:使用Simulink设计FIR滤波器
今天给大侠带来Vivado经典案例:使用Simulink设计FIR滤波器,话不多说,上货. FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波 ...
最新文章
- 秒懂5G!通俗易懂外行也能看明白
- java robot 控制 不用用户 界面_编写一个基于Java Robot类的屏幕捕获工具
- SpringBoot系列十:SpringBoot整合Redis
- android studio jni so,Android studio JNI 制做SO文件,在其余项目中调用
- mysql的gobye_Mysql學習(一)添加一個新的用戶並用golang操作Mysql
- c语言static知识点,C语言知识点集锦
- Druid手动创建连接的坑
- 微型计算机原理与接口技术第六版课后答案,微型计算机原理与接口技术(第6版)...
- Croe文件在线预览
- 数独基本规则_数独游戏规则?
- MIPS,程序的CPI,时钟周期计算(主频的计算)
- 计算机磁盘怎么清理,电脑磁盘已满怎么清理_电脑磁盘不足怎么清理
- 【网络流量识别技术之初级入门篇】
- echarts+DataV的用法
- MySQL技能树学习体验及期望
- unity 3D物体添加 点击事件
- win、linux、unix查看系统主机名
- 全年营收预增40%,奈雪的茶背后的喜与忧
- 95后能拯救结婚行业吗?《2018美团点评结婚行业蓝皮书》发布
- Vue + Matomo 实现访问流量统计