伦敦 伦敦00:00:00 纽约 纽约00:00:00 东京 东京00:00:00 北京 北京00:00:00

400-668-6666

巴特沃斯

当前位置:主页 > 巴特沃斯 >
巴特沃斯

手把手教系列之IIR数字滤波器设计实现

  【导读】:在嵌入式系统中经常需要采集模拟信号,采集模拟信号的信号链中难免引入干扰,那么如何滤除干扰呢?今天就来个一步一步描述如何设计部署一个IIR系统开发的,经常会需要采集模拟信号,系统中往往存在各种各样的干扰,干扰常常让人一筹莫展,所以花了一周时间整理出IIR滤波器设计部署的干货文章,照此一步一步做,你必会解决大部分干扰问题。

  逸珺编外语:文章写作过程虽谈不上呕心沥血,但也可算绞尽脑汁。在此也呼吁粉丝朋友积极参与互动,或点在看,或分享,或留言评论,当然如能买杯咖啡,那就更好啦!如果大家对此类话题感兴趣,我会写出系列信号处理文章以答谢各位的厚爱,如果大家对此类话题不感兴趣,就不在花过多时间整理发布了。在此感谢各位关注厚爱!

  无限冲激响应(IIR:InfiniteImpulse Response)是一种适用于许多线性时不变系统的属性,这些系统的特征是具有一个冲激响应h(t),该冲激响应h(t)不会在特定点上完全变为零,而是无限期地持续。这与有限冲激响应(FIR:Finite Impulse Response)系统形成对比,在有限冲激响应(FIR)系统中,对于某个有限T,在时间t》 T时,冲激响应确实恰好变为零。线性时不变系统的常见示例是大多数电子和数字滤波器。具有此属性的系统称为IIR系统或IIR滤波器。对于什么叫冲激响应,这里就不展开解释了,有兴趣的可以查阅相关书籍。

  线性时不变系统理论俗称LTI系统理论,源自应用数学,直接在核磁共振频谱学、地震学、电路、信号处理和控制理论等技术领域运用。它研究的是线性、非时变系统对任意输入信号的响应。虽然这些系统的轨迹通常会随时间变化(例如声学波形)来测量和跟踪,但是应用到图像处理和场论时,LTI系统在空间维度上也有轨迹。因此,这些系统也被称为线性非时变平移,在最一般的范围理论给出此理论。在离散(即采样)系统中对应的术语是线性非时变平移系统。由电阻电容电感组成的电路是LTI系统的一个很好的例子。比如一个运放系统在一定频带范围内满足信号的时域叠加,输入一个100Hz和200Hz正弦信号,输出频率是这两种信号的线性叠加。

  线(t) , 那么放缩和加和输入 ax1(t)+bx1(t), 产生放缩、加和的响应ay1(t)+by1(t),其中a和b是标量,对于任意的有:

  而对200Hz的正弦信号,假定其放大倍数为1.7倍。(做过运放电路设计的朋友应该有经验,在其同频带其放大倍数往往并不平坦,也即幅频响应在频带内不平坦,这是比较常见的)。也即输入为:

  由这些图可看出,输入信号的形状保持不变,输出为对应输入的线性时域叠加。对于时不变,就不用图描述了,在一个真实电路中,如果输入延迟一定时间,则响应对应延迟相同时间输出。

  上面这么多文字只是为了描述在什么场合可以使用IIR滤波器对信号进行数字滤波。总结而言,就是在线性时不变系统中适用。换言之,在大多数电路系统中我们都可以尝试采用IIR滤波器进行数字滤波。

  那么究竟什么是IIR滤波器呢?从数字信号处理的书籍中我们能看到这样的Z变换信号流图:

  上述数字滤波器,如果从编程的角度来看,x(n-1),表示上一次的信号,可能是来自ADC的上次采样,而y(n-1)则为上一次滤波器的输出值,对应就比较好理解x(n-N)就表示前第n次输入样本信号,而y(n-M)则为前第M次滤波器的输出。

  说了这么多,只是为了更好的理解概念,只有概念理解正确,才能使用正确。概念理解这对工程师而言,非常之重要。

  MATLAB提供了非常容易使用的FDATool帮助我们设计数字滤波器,真正精彩的地方开始了,让我们拭目以待究竟如何一步一步设计并实施一个IIR滤波器。首先打开MATLAB,在命令行中敲fdatool,然后敲回车

  在设计具体,有几个相关概念需要澄清:Fs:采样率,单位为Hz,真实部署在系统中,请务必确保样本是按照恒定采样率进行采样,否则将得不到想要的效果。Fpass: 通频带,单位为Hz,即系统中期望通过的最高频率。Fstop: 截至频率,即幅频响应的-3dB处的频率,这个如不理解,请自行查阅相关书籍。分贝dB: 这是一个无单位反应输出与输入倍数的一个术语。电学中分贝与放大倍数的转换关系为:

  A(V)(dB)=20lg(Vo/Vi);电压增益,Vo 为输出电压,Vi为输入电压

  A(I)(dB)=20lg(Io/Ii);电流增益,Io 为输出电流,Ii为输入电流

  A(p)(dB)=10lg(Po/Pi);功率增益,Po 为输出功率,Pi为输入功率

  巴特沃斯 Butterworth,也被称作最大平坦滤波器。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有纹波。

  切比雪夫 Chebyshev,是在通带或阻带上频率响应幅度等波纹波动的滤波器。切比雪夫滤波器在过渡带比巴特沃斯滤波器的衰减快,但频率响应的幅频特性不如后者平坦。

  假设我们需要设计一个IIR滤波器,采样率为32000Hz, 有用信号频率在10000Hz内,设计IIR滤波器对信号进行数字滤波。这里为节省算力,我们指定滤波器的阶数,也即传递函数中N/M中的最大值,一般而言N大于M。

  这里指定阶数为8阶,类型指定为巴特沃斯型IIR滤波器,输入阶数8阶,采样率32000Hz,然后点击Design Filter如下图所示:

  所谓直接II型,SOS(second order section)理解很简单,本质是将IIR Z传递函数分解为上述二阶块的级联形式。

  需要自己去写前面描述的计算公式吗?当然你也可以这么做,这里就不写了,ARM的CMSIS库已经帮大家设计好了种类繁多的数字信号处理函数实现了,而且经过了测试,这里直接拿来用即可。有兴趣自己写也不难,只要理解Z传递函数概念内涵,非常容易实现。这里我们采用32位浮点实现函数:

  利用csv文件,将模拟数据存储,直接用excel打开,将行数据生成曲线图如下:

  第三幅图, 为800Hz 混入随机噪声过滤后,已经很好的还原有用信号频率

  第四幅图, 为800Hz信号混入随机噪声,同时叠加4000Hz干扰的波形,对系统而言,从时域中,明显可见,有用信号已经完全扭曲

  第五幅图,为800Hz信号混入随机噪声,同时叠加4000Hz干扰的输入,经过该低通滤波器后的波形,与第三幅图基本一样,已经非常好的滤除了干扰信号。

  如果需要设计带通、高通滤波器其步骤基本类似,只是滤波器的参数以及SOS块个数可能不一样而已

  需要提醒的时,IIR的相频响应不线性,如果系统对相频响应有严格要求,就需要采用其他的数字滤波器拓扑形式了

  实际应用中,如果阶数不高时,现在算力强劲的单片机或者DSP以及可以直接使用浮点处理。

  如果对处理速度有严格的实时要求,需要在极短时间进行滤波处理,可以考虑降低阶数,或采用定点IIR滤波算法实现。也或者将文中函数进行汇编级优化。

  我们将《嵌入式工程师-系列课程》分成两大阶段:第一阶段:《计算机体系结构》课程 分成4篇:分别是

  本来学嵌入式就不简单,所以大家都会去找一些学习嵌入式的方法或步骤什么的,如果是你去学嵌入式的话,肯定也不会例外...

  大家应该都知道嵌入式比较难,所以在入门嵌入式的时候,还是要多用点心,如果基础没有打好的话,那么之后只会更难,下...

  初学STM32必不可少的资料,STM32系列固件库、微控制器、开发攻略手册

  普中STM32F1xx系列单片机的开发攻略 学习本开发攻略主要参考的文档有《STM32F1xx 中文参考手册》和《Cortex...

  脉冲信号在通过甄别电路和控制电路时,甄别电路给出脉冲的过峰信息,并启动A/D转换。

  零基础自学编程需要多久? 很多大学毕业生为了缓解就业压力,毕业之后找一份高薪工作纷纷选择学习编程,甚至有很多在...

  如果我们将采样定理应用于频率f信号的正弦波,就必须要对f样本≥2f信号的波形进行采样才能实现完美重构....

  说起基带和射频,相信大家都不陌生。越是常见的概念,网上的资料就越混乱,错误也就越多。这些错误给很多初....

  精选资料: 硬件创客开源设计教程资料汇总,带你玩转树莓派 包含: 新编树莓派3的使用手册 树莓派系列教程资料汇总...

  根据任哲老师的《嵌入式实时操作系统uCOS-II原理及应用》,实现功能:在UCOSII中创建了两个任务,AppSta...

  通常我们都有这么一个模糊的概念,我以前做单片机,单片机是不是嵌入式系统呢?当然是。只不过呢,我们现在把它看成一...

  前言:从事嵌入式开发十余年的武国平老师 @ ,本期高手问答中武国平老师将为我们解答嵌入式开发,算法设计,基于模型设...

  入门阶段:(不要只看书,要多动手,但千万不是直接动手,不去看书) C语言:嵌入式编程大多用C语言、少....

  C语言:嵌入式编程大多用C语言、少量汇编,先学习C语言,汇编用到的时候再上网查询。教材:随便一本C语....

  在视频传输系统中,双绞线具有非常重要的地位。在传统的设计和施工中,。但是在设备不断增加的情况下,较为....

  随着大规模集成电路技术、信号分析与处理技术及嵌入式微处理器软硬件技术的迅速发展,现代电子测量技术与仪....

  基于usb的大容量数据采集系统的设计,主要是要实现嵌入式usb-host。要想设计出能直接读写u盘的....

  数据采集是信息处理的重要环节。在野外试验系统中,试验平台的姿态及运动状态信息测量对试验结果具有较大影....

  5月14日,Intel正式发布了全新的第十代商用博锐平台,包括酷睿、至强两大产品线款不....

  MicroWindows是一个开放源码的嵌入式GUI软件,目的是把图形视窗环境引入到运行Linux的....

  数字信号只有两种状态,非1即0,不是连续变化的,波形为方波;而模拟信号是由连续变化的信号组成的,可以....

  CVS 301采用3寸聚丙烯全频单元,带丁基橡胶边。CVS 401、CVS 601和CVS 801分....

  任务有下面的特性:任务并不是随时都可以运行的,而一个已经运行的任务并不能保证一直占有 CPU 直到运....

  为编写出高质量嵌入式软件,从嵌入式软件安全及可靠性出发,本规范对由于C语言标准、C语言本身、C编译器....

  5月12日消息,兆易创新今日宣布,与领先的半导体IP供应商Rambus Inc. 就RRAM (电阻....

  可用的亚皮安偏置电流运算放大器并不多。可堪使用的器件常常被称为静电计级放大器,偏置电流低至数十飞安。

  5月12日消息,康耐视宣布推出In-Sight家族的新成员——In-Sight D900嵌入式视觉系....

  对于我们许多人来说,术语并行性 和并发性几乎是同义词,即使我们认为它们代表的概念有所不同,我们也不完....

  基于ARMv8的系统中的虚拟化设施在这些系统中扮演着特殊角色,并且由几个组件组成。尽管ARMv7具有....

  德国Spectrum仪器公司宣布旗下PCIe 16位数字化仪M2p.59xx系列产品新增五种型号。新....

  在台式计算机上,操作系统(OS)的选择很大程度上取决于口味-Windows,Apple,Linux。....

  在过去的几年中,整个嵌入式系统市场有了长足的发展。随着物联网和工业物联网的出现,嵌入式系统技术已成为....

  第十代英特尔®酷睿™处理器能够为物联网平台提供坚实的支撑,它具有十核心二十线程,可提供空前的数据吞吐....

  为此,南京南瑞自动控制有限公司研制出新一代MB系列智能可编程控制器,它继承了传统PLC的优点,又弥补....

  高性能嵌入式计算产品的领先供应商—德国康佳特,推出新款COMExpressType6模块conga-....

  靶机飞控系统由传感器、飞控计算机和执行机构3个部分组成。传感器主要包括垂直陀螺、两轴角速率陀螺、三轴....

  -只能满足条件M245/M255,或者发出模拟信号才能推出VW(#FB_STOP,TRUE)程序

  引言:本文简明扼要的介绍了嵌入式Linux的引导过程,X86体系的引导过程以及几种常见嵌入式处理器的....

  在嵌入式实时系统中,很难实现真正的时间分离,因为根据嵌入式实时系统的定义,对事件的及时响应是至关重要....

  模拟量采集指的是模拟信号输入,模拟信号输入具体指的就是作为连续变化的物理量的输入,例如具体电压,温度....

  概述 通常地,Linux操作系统如下图所示,由四大子系统组成: 用户应用层: 特定Linux系统上使....

  移动即服务(MaaS)被认为是智能移动的一个关键要素,而机器人汽车技术将是智能移动的一个重要因素,它....

  随着科学技术的发展,指纹识别已经成为目前最为实用、应用最为广泛的生物识别技术,尤其在民用生物识别技术....

  谷歌于1月下旬曾向 USPTO(美国专利及商标局)递交了名为 “Pigweed” 的新商标申请。根据....

  单相伺服放大器(简称放大器),与各种角行程、直行程、多转式单相电动执行机构(电动执行器)配套,广泛用....

  作为面向对象建模技术的标准,UML适合于将复杂的系统设计问题简单化.它采用面向对象图形的方式对系统进....

  本文档由20多个特聘高手精心撰写而成,近30个实验,100多个程序,韦东山老师花了20天亲自审核,修....

  主流独立的NVR支持多路通路视频,例如2、4、8、16、32、64或128通道。建立在服务器架构中的....

  有限状态机是一种具有离散输入输出系统的模型,在任何时刻都处于一个特定的状态。对于事件驱动的程序设计,....

  世界各地每个电子器件实验室中几乎都有示波器。许多人认为,示波器是电子器件设计工程师的首选工具。工程师....

  十多年前“诡异谷”的理论制约了类人机器人的发展,但随着科技的发展,人们再次把关注的眼光投向了“更像人....

  作为机器人执行机构的伺服系统,其伺服性能和工作的可靠性对机器人的整体工作性能起着决定性的作用;但是传....

  嵌入式红外信息检测与无线传输控制系统,由信息采集与编码发射装置、信息接收与控制装置两大部分组成。信息....

  本嵌入式数字频率计的硬件电路主要包含4个部分:4通道整形电路模块,TMS320F2812数字信号处理....

  STM32应该是比较熟悉的一个系列的单片机,而ESP32相对陌生一些。但是从名字看,两者应该都是32....

  在铁路系统内部推行远程网络视频监控系统,将能极大的解决上述矛盾。远程网络视频监控系统采用嵌入式WEB....

  模糊自整定PID是在PID算法的基础上,通过计算当前系统误差e和误差变化ec,利用模糊规则进行模糊推....

  每一次前行,都有创新的力量 每一次创新,都是极致突破 我们积极探索,不断尝试,力求改变 一次又一次,....

  导读: 嵌入式Linux开发大体上可以分为三个部分BSP开发、系统集成、应用开发,一般公司开发会有不....

  利用两个或更多的独立LED,当今的驱动器能够控制可用于便携系统中的新潮装饰光。不仅ILED峰值电流完....

  如今的视频监控行业正处于一个转变模式中,随着互联网普及使得IP监控摄像机需求不断增多。

  兰州重离子加速器冷却存储环工程(HIRFL_CSR) 控制系统是一个由CSR 电源系统、注入引出系统....

  如图1所示,本系统建立了一套基于PXA270嵌入式处理器技术、视频图像处理技术、车辆识别技术、GSM....

  嵌入式编程是物联网设备工作方式的重要组成部分。您可能需要学习C/C++并获得一些实际的电子经验,以掌....

  移动即服务(MaaS)被认为是智能移动的一个关键要素,而机器人汽车技术将是智能移动的一个重要因素,它....

  对于国内的大学生或者单片机从业者来说,STM32应该是比较熟悉的一个系列的单片机,而ESP32相对陌....


点击次数:  更新时间:2020-10-01 06:07   【打印此页】  【关闭
http://lightsweetoil.com/batewosi/53/