FIR滤波器的设计
FIR数字滤波器的设计
- 线性相位FIR滤波器的特点
- 单位冲激响应:\(h(n),0\leq n\leq N-1\)
- 系统函数:\(H(z)=\sum_{n=0}^{N-1}h(n)z^{-n}\)
- 零极点分布:无穷远处N-1个零点,z=0处有一个N-1阶极点
- 线性相位条件
线性相位是FIR滤波器的一个优势,因为FIR滤波器相比于IIR滤波器的阶数一般要高很多。
\(H(e^{j\omega})=\sum_{n=0}^{N-1}h(n)e^{-j\omega n}=\pm|H(e^{j\omega})|e^{j\theta(\omega)}\)
线性相位是指\(\theta(\omega)\)是\(\omega\)的线性函数。根据它们之间的线性关系,将线性相位分为两种:正比例;一次函数。- 第一类线性相位:\(\theta(\omega)=-\tau\omega\)
若实序列\(h(n)\)为第一类线性相位,则\(\sum_{n=0}^{N-1}h(n)e^{-j\omega n}=\sum_{n=0}^{N-1}h(n)\cos(\omega n)-j\sum_{n=0}^{N-1}h(n)\sin(\omega n)=\pm|H(e^{j\omega})|\cos(\omega \tau)\pm j|H(e^{j\omega})|\sin(\omega \tau)\) 于是:\(\tan(\omega\tau)=\frac{\sum_{n=0}^{N-1}h(n)\sin (\omega n)}{\sum_{n=0}^{N-1}h(n)\cos (\omega n)}\) \(\rightarrow \sum_{n=0}^{N-1}h(n)\sin[(\tau-n)\omega]=0\)\[\text{FIR系统满足线性相位的充要条件}\begin{cases}
\text{$\tau=\frac{N-1}{2}$}\\ h(n)=h(N-1-n)\end{cases}$$ ,即h(n)为偶对称,对称中心为$\frac{N-1}{2}$ .
\]同理可得,满足线性相位的冲要条件\(h(n)=-h(N-1-n),\tau=\frac{N-1}{2},\beta_0=\pm\frac{\pi}{2}\)
- 第一类线性相位:\(\theta(\omega)=-\tau\omega\)
窗函数设计法
方法及原理
性能指标\(\rightarrow\)理想低通滤波器的系统函数\(\rightarrow\)反变换时域无限长信号\(\rightarrow\)信号截断\(\rightarrow\)右移变因果系统。
线性相位理想低通滤波器的频率响应(周期连续)为:\[H_d(e^{j\omega)})=\begin{cases} e^{-j\omega\alpha}&-\omega_c \leq \omega \leq\omega_c\\ 0&-\pi\leq\omega\leq-\omega_c, \omega_c\leq\omega\leq\pi \end{cases}
\]经过离散傅里叶反变换对应的序列(非周期离散)为:
\[h_d(n)=\frac{\omega_c}{\pi}\frac{\sin[\omega_c(n-\alpha)]}{\omega_c(n-\alpha)}
\]该序列为中心点为\(\alpha\)的偶对称无限长非因果序列。
现需要将其转变为偶对称有限长因果序列。取矩形窗\(w(n)=R_N(n)\),则FIR滤波器的单位抽样响应:\[h(n)=h_d(n)=\begin{cases} h_d(n) & 0\leq n\leq N-1 \\ 0 & \text{else}\end{cases}
\]根据第一类线性相位的条件,应有:\(\alpha=\frac{N-1}{2}\),即:
\[h(n)=\frac{\omega_c}{\pi}\frac{\sin[\omega_c(n-\frac{N-1}{2})]}{\omega_c(n-\frac{N-1}{2})},0\leq n \leq N-1
\]FIR滤波器的频率响应的幅度函数为h(n)的幅度函数与w(n)幅度函数的卷积,即为\(H(\omega)=\frac{1}{2\pi}\int_{-\pi}^{\pi}H_d(\omega)W_R(\omega-\theta)d\theta\),变换的具体过程如下:

可以看做\(W_R(\theta)\)平移\(\omega\)之后在\([-\omega_c,\omega_c]\)内的积分(因为\(H_d(\theta)\)在此区间内为1).\(\omega\) \(H(\omega)\) 0 近似\(W_R(\theta)\)的全部面积 \(\omega_c\) 0.5\(H(0)\) \(\omega_c-\frac{2\pi}{N}\) 最大,正肩峰 \(\omega_c+\frac{2\pi}{N}\) 最小,负肩峰 \(>\omega_c+\frac{2\pi}{N}\) 在零值上下波动 \(<\omega_c-\frac{2\pi}{N}\) 在\(H(0)\)上下波动 \(-\frac{2\pi}{N},\frac{2\pi}{N}\)为窗函数频谱主瓣的两个零点,主瓣宽度为\(\frac{4\pi}{N}\)。
从图中可以看出,FIR滤波器的幅值函数在\(\omega_c\pm\frac{2\pi}{N}\)出现肩峰。改变N值改变主瓣宽度,使过渡带变得更窄,但是并不能改变正肩峰与负肩峰的相对比例(相对比例由窗函数的形状决定,此为Gibbs效应)。几种窗函数的对比
窗函数 窗谱性能指标 加窗后滤波器性能指标 旁瓣峰值幅度/dB 主瓣宽度/(2pi/N) 过渡带宽△w/(2pi/N) 最小阻带衰减/dB 矩形窗 -13 2 0.9 -21 三角形窗 -25 4 2.1 -25 汉宁窗 -31 4 3.1 -44 海明窗 -41 4 3.3 -53 布莱克曼窗 -57 6 5.5 -74 凯泽窗(β=8.865) -57 5 -80 阻带最小衰减只由窗函数形状决定。过渡带宽与窗形状和窗宽N都有关。
设计步骤
graph LR
A(理想的频率响应函数及技术指标)-->B(理想的单位抽样响应)
D(根据阻带衰减选择窗函数)-->C(根据过渡带宽度确定N)
E(FIR滤波器的单位冲激响应)
B-->D
C-->E技术指标包括:阻带衰减和过渡带宽。一般取\(\omega_c\)为通带截止频率和阻带截止频率的平均值
从理想的频率响应函数(\(H_d(e^{j\omega})\))得到理想的单位抽样响应\(h_d(n)\),有两种方法:- 公式法
- IFFT法:对\(H_d\)进行M点IFFT变换,要求M>>N
最终得到FIR滤波器的h(n),并求得\(H(e^{j\omega})\),进行验证
FIR滤波器的设计的更多相关文章
- 数字信号处理实验(六)——FIR滤波器的设计
一.四种线性相位FIR滤波器的振幅响应 1.自编函数 [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) [Hr,w,a,L]=-n) 2.一个demo clea ...
- IIR滤波器和FIR滤波器的区别与联系zz
-------------------------------------------------------------------------------------------------- ...
- 转载论文关于fir滤波器的fpga实现
摘 要 本文讨论的FIR滤波器因其具有严格的线性相位特性而得到广泛的应用.在工程实践中,往往要求信号处理具有实时性和灵活性,本论文研究FIR的FPGA解决方案正体现了电子系统的微型化和单片化. 本论文 ...
- FIR滤波器设计
FIR滤波器的优越性: 相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟: 因为不存在稳定性问题,设计相对简单: 仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计 ...
- 使用MATLAB设计FIR滤波器
1. 采用fir1函数设计,fir1函数可以设计低通.带通.高通.带阻等多种类型的具有严格线性相位特性的FIR滤波器.语法形式: b = fir1(n, wn) b = fir1(n, wn ...
- matlab进行FIR滤波器设计(一)
来源:https://blog.csdn.net/leokingszx/article/details/80041910 在实际的应用中,有时需要使用FIR根据完成一些特定功能,比如近似一阶RC低通电 ...
- FIR滤波器(1)- 基础知识
FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号.FIR滤波器是全零点结构,系统永远稳定:并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真.在无线通信收 ...
- CIC and Fir 滤波器的级联
在FDATool中 CIC 和 Fir 级联滤波器的设计 1 设计CIC滤波器的幅频特性曲线如下 2.设计FIR 滤波器的幅频特性曲线如下 3.总的特性曲线如下 4.把通带部分放大后的图,比较平坦
- FIR滤波器的FPGA实现方法
FIR滤波器的FPGA实现方法 2011-02-21 23:34:15 来源:互联网 非常重要的基本单元.近年来,由于FPGA具有高速度.高集成度和高可靠性的特点而得到快速发展.随着现代数字 ...
- FIR滤波器和IIR滤波器的区别
数字滤波器广泛应用于硬件电路设计,在离散系统中尤为常见,一般可以分为FIR滤波器和IIR滤波器,那么他们有什么区别和联系呢. FIR滤波器 定义: FIR滤波器是有限长单位冲激响应滤波器,又称为非递归 ...
随机推荐
- Github搜索优质项目方法
[转载]:https://www.zhihu.com/question/20084458 搜索结果会显示非常多的开源项目,简直让你应接不暇,无从下手,很多小伙伴搜到这一步就放弃了,因为项目太多了,根本 ...
- react中如何正确使用setState(附例子)
概述 setState中对于某个state多次修改,只执行一次(最后一次),所以可以将修改放在同一次中 import React, {Component} from 'react'; class De ...
- mybatis bind 标签 覆盖 复杂对象的某个属性值 问题。
需求: 有四个sql 都需要用一个 相同的where 条件,于是定义了一个sql 标签. 然后在每个sql中使用 <include refid="myWhereSql"> ...
- Vue 的生命周期 详细解析(使用场景等)
Vue生命周期图: 一.生命周期图的解读 new Vue():首先需要创建一个 Vue的实例对象 Init Events & Lifecycle :初始化:生命周期.事件(如:v-once), ...
- Kubernetes之Pod详解
1.Pod生命周期 pod创建 1. API Server 在接收到创建pod的请求之后,会根据用户提交的参数值来创建一个运行时的pod对象. 2. 根据 API Server 请求的上下文的元数据来 ...
- Linux如何设置用户登录超时(/etc/profile)
1. 针对所有用户 # vi /etc/profile ... export TMOUT=900 # 设置闲置时间为15分钟,单位为秒;如果没有此行则直接添加进去 ... vi /etc/profil ...
- 查看Linux系统的一些信息
1.查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l cat /proc/cpuinfo | grep "physic ...
- MySQL利用information_schema库注入
information_schema库简单说就是MySQL里的一个目录库,MySQL是一本书,information_schema库这个存储数据库元数据的库就是书的目录或者索引. 库>表> ...
- 移动web_字体图标
字体图标 字体图标的优点 1.他是文本内容,矢量图,放大不会失真 2.因为是文本所以可以用文本的样式来设置 字体图标与精灵图比较 1.精灵图可以将多个图存放在一个文件上,所以请求只有一次,但是精灵图存 ...
- STM32自学笔记
1位带操作 第一种位带操作 #define BITBAND_REG(Reg,Bit) (*((uint32_t volatile*)(0x42000000u + (((uint32_t)&(R ...