滑动平均滤波器与CIC滤波器

本文介绍了滑动平均滤波器与CIC滤波器的关系,它们都是FIR滤波器类型。重点讨论了FIR滤波器的传递函数、FIR与IIR的区别,以及CIC滤波器的硬件结构和低通滤波特性。CIC滤波器通常用于抽取和内插操作,通过级联可以实现所需的滤波效果,但也需要注意FPGA中累加器可能的溢出问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

 本人常常使用matlab做数据处理,往往是会使用滑动平均滤波器,但是鉴于本人是做FPGA的,发现这个滑动平均滤波器和CIC滤波器极度相似,且自己在使用过程中对滑动平均滤波器的频响比较模糊,所以在参考了书本以及大量csdn、知乎的博主后,写一篇相关博客,来解释滑动平均滤波器与CIC滤波器的关系以及FIR滤波器的一些内容,如果想探究详细的数学推导还是看书最靠谱,本文尽可能使用简单的公式与结论。

一、传递函数

 滑动平均滤波器与CIC滤波器都是FIR滤波器,也就是所谓的有限冲击响应滤波器,这里先简单介绍一下滤波器的相关概念。

1.什么是传递函数

 matlab中的filter函数的标准使用方法就是y=filter(b,a,x),其中b和a共同构成了传递函数(也成为系统函数),x代表进入滤波器的数据,y代表滤波器输出的数据,例如下图中H(z)就是一个传递函数
在这里插入图片描述
传递函数往往用拉氏变换(复频域)或者z变换(圆频域)来表示,都是频域的一种表达形式,这个传递函数表示的就是系统的输出/输入的频响曲线。滤波器也属于一种系统,自然也有自己的传递函数来表征它的频响特点。
 这个传递函数怎么来的呢,对于常见的线性时不变离散系统来讲(对于matlab处理信号的大部分情况默认是这个就可以了),其表现形式一般是下图
在这里插入图片描述

 其中,y(n)是输出,x(n)是输入,y(n-k)是y(n)延迟k个时刻,x(n-r)是x(n)延迟r个时刻,带有角标的a和b就是系数,将上图两边进行z变换,就可以得到下图,
在这里插入图片描述
 Y(z)就是输出的z变换,X(z)就是输入的z变换,将Y(z)/X(z),这就是传递函数H(z),表征了这个系统的输出/输入的z变换形式,也就是频响特征,再通过数学推导,并联立下图(时域的卷积

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值