屏蔽类电源滤波器
时间: 2024-12-16 00:23:51 | 作者: 屏蔽类电源滤波器
每一种都有优缺点.但总得来说, FIR滤波器的优点远大于缺点,因此在实际运用中,FIR滤波器比IIR滤波器使用的比较多.
* 可以很容易地设计线性相位的滤波器. 线性相位滤波器延时输入信号,却并不扭曲其相位.
* 实现简单. 在大多数DSP处理器, 只需要对一个指令积习循环就能够实现FIR计算.
* 适合于多采样率转换,它包括抽取(降低采样率), 插值(增加采样率)操作. 无论是抽取或者插值, 运用FIR滤波器可以省去一些计算, 提高计算效率. 相反,若使用IIR滤波器,每个输出都要逐一计算,不能省略,即使输出要丢弃.
* 具有理想的数字特性. 在实际中,所有的DSP滤波器必须用有限精度(有限bit数目)实现,而在IIR滤波器中使用有限精度会产生很大的问题,由于采用的是反馈电路,因此IIR通常用非常少的bit实现,设计者就能解决更少的与非理想算术有关的问题。
* 可以用小数实现. 不像IIR滤波器,FIR滤波器通常可能用小于1的系数来实现。(若需要,FIR滤波器的总的增益可以在输出调整)。当使用定点DSP的时候,这也是一个考虑因素,它能使得实现更地简单。
相比较于IIR滤波器, 有时FIR滤波器为得到一个给定的滤波响应特性,要消耗更多的存储器或者计算. 当然,用FIR滤波器去实现某些响应也是不实际的.
* 抽头(Tap) - FIR的抽头是系数或者延时对. FIR抽头的个数(通常用N来表示)意味着:1)实现滤波器所需要的存储空间, 2) 需要计算的数目, 3) 滤波器能滤掉的数量, 实际上,越多的抽头意味着有更多的阻带衰减, 更少的波纹,更窄的滤波等等.
* 乘累加 (MAC) - 在FIR方面考虑,MAC是指把延时的数据采样与相应的系数相乘,然后累加结果。通常,FIR每一个抽头都需要一个MAC。大多数DSP微处理器实现MAC操作都是单指令周期。
* 跃迁带(Transition Band) -在通带和阻带边沿之间的频带。跃迁带越窄,需要更多的抽头去实现滤波器。也有说,小的跃迁带就是一个sharp滤波器。
* 环形缓存 - 一个特殊的缓存,是首尾相连的。通常由DSP微处理器实现。
大多数的FIR滤波器是线性相位滤波器. 当要设计线性相位滤波器时, 通常使用FIR滤波器.
线性相位是指滤波器的相位响应是频率的线度)。因此滤波器的延时后,所有的频率相位相同。因而滤波器不会产生相位和延迟扭曲。在某些领域,比如
数字解调器,没有相位或者延迟扭曲是FIR滤波器相对于其他IIR和模拟滤波器的一个关键优点
FIR滤波器经常被设计成为线性相位的,当然不是必须要这么做。如果滤波器的系数是关于中心系数对称的,也就是说第一个系数和最后一个系数相同,第二个系数和倒数第二个相同,那么FIR滤波器就是线性的。有奇数个系数的FIR滤波器,中心单独的系数没有对应的。
当然是非线性的了。实际上,最流行的选择是最小相位滤波器。最小相位滤波器,也叫最小延时滤波器,比线性相位滤波器具有更少的延时,当两者的幅度响应相同时以非线性相位特性。低通滤波器在它的冲击响应中心有最大的系数。而最小相位滤波器的最大系数在开始部分。
可以通过上边的公式做验证。问我们设w为0, cos项就一直为1,而sin项则一直为0。因此频率响应就变成了:
2.3.1 FIR滤波器是固有稳定的?是的,因为没有反馈,任何有限的输入产生有限的输出。
缺少反馈是关键。在计算机中实现FIR滤波器时,每个计算都产生数字错误。由于FIR滤波器没有反馈,因此不能够记住以前的错误。相反,IIR滤波器的反馈可能会引起错误的积累。这个实际的影响就是,可以用更少的bit去实现与IIR滤波器相同精度的滤波器。比如,FIR滤波器通常用16位来实现的话,IIR滤波器就常常要32位,或者更多。
2.4 为什么通常在多采样率系统中采用FIR滤波器而不采用IIR滤波器?
由于FIR滤波器不使用反馈,因而只有那些实际要使用的输出才需要计算。比如,在减采样的时候(N个输出中只有一个有效),那么其他的N-1输出就不会进行计算。类似的,对于插值滤波器(在采样点中插入0来提高采样率),你不必实际地用FIR滤波器乘以系数,求和得到,你只需要忽略和这些值有关的乘加(因为它们不会改变结果)。相反,因为IIR滤波器使用反馈,每个输入都一定要使用,每个输入必须计算,因为所有的输入和输出对滤波器的反馈都有影响。
矩形 -矩形 FIR 滤波器是每个系数都是1.0的简单的滤波器。因而对于N个抽头的矩形滤波器,它的输出仅仅是过去N个采样之和。由于矩形FIR只能实现加法,因此当乘法器实现比较昂贵时,在硬件实现中会考虑。
希尔伯特变换(Hilbert Transformer) - 希尔伯特变换是把信号相移90度。它们经常被用在给定实数部分,产生虚数部分。
差分(Differentiator) -差分器的幅度响应是频率的线性函数。现在已经不流行了,但是以前曾经在FM解调器上使用过。
Lth-Band - 也叫做“Nyquist滤波器,这些滤波器是在多速率应用中特殊的一类滤波器。主要的卖点是,每L个系数有一个为0,那么就将减少乘累加操作的实现(著名的半带滤波器就是这一种)。
Raised-Cosine - 这是一种特殊类型的滤波器,有时会用在数字数据应用方面。(通带上的频率响应是被上移一个常数的cos形状)。
4.1 实现FIR滤波器基本的方法是什么?FIR滤波器的结构上包含两个东西:一个是采样点延迟线,一个是系数. 可以由以下方法实现FIR滤波器:
1. 把输入的采样点放入到延迟线. 把延迟线中的数与相应的系数相乘并累加.3. 移位, 使下一个输入采样能进入延迟线 用C语言怎么来实现FIR滤波器?
FIR滤波器的汇编算法是跟处理器对应的,但是大多数普通的系统会使用一个DSP处理器提供的环行缓存。
1. 配置环行缓存。加载系数和延迟线指针。然后对每个采样点执行以下操作: