利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器。需要将MATLAB设计出的IIR数字滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
IIR数字滤波器的设计方法有两类:间接设计法和直接设计法。间接设计法是借助模拟滤波器设计方法进行设计的,先根据数字滤波器设计指标设计相应的过渡模拟滤波器,再将过渡模拟滤波器转换为数字滤波器。直接设计法师在时域或频域直接设计数字滤波器。
由于模拟滤波器设计理论非常成熟,而且有很多性能优良的典型滤波器可供选择(如,巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等),设计公式和图表完善,而且许多实际应用需要模拟滤波器的数字仿真,所以间接设计法得到广泛的应用。而直接设计法要求解联立方程组,必须采用计算机辅助设计。在计算机普及的今天,各种设计方法都有现成的设计程序(或设计函数)可供调用,例如利用MATLAB仿真平台,可以设计不同类型的IIR滤波器。 3.1.1性能指标确定
按照实际需要确定滤波器的性能要求,比如确定所要设计的滤波器是低通、高通、带通还是带阻,截止频率是多少,阻带的衰减有多大,通带的波动范围是多少等等。
3.1.2系统函数确定
用一个因果稳定的系统函数(或差分方程、脉冲响应h(n))去逼近上述性能要求。此系统函数可分为两类,即IIR系统函数与FIR系统函数。
3.1.3算法设计
用一个有限精度的运算去实现这个系统函数(速度、开销、稳定性等)。这里包括选择算法结构,如级联型、并联型、正准型、横截型或频率采样型等等;还包括选择合适的字长以及选择有效的数字处理方法等。
3.2 IIR数字滤波器的直接设计法
直接设计可以采用优化设计(CAD)法,数字滤波器的系统函数H(Z)的系数ai, bi或零极点ci, di等参数,可采用优化设计的方法。设计步骤:
1. 优化原则——最小均方误差准则,绝对误差准则等。
2. 赋予初值.
3. 一次次的改变参数赋值,根据优化准则计算误差。
4. 改变参数赋值,再次计算误差,如此迭代下去,直至误差达到最小。示意图如下
间接设计法的设计过程如下:
1) 确定数字滤波器指标;
2) 将数字滤波器指标转换为相应的模拟滤波器指标;
3) 设计满足指标要求的过渡模拟函数(s);
4) 将过渡模拟函数(s)转换为数字滤波器H(z)。示意图如下:
把模拟滤波器Ha(S) 转换为数字滤波器H(z)的实质是,用一种从s平面到z平面的映射函数将Ha(S) 转换H(z)。对这种映射函数的要求是:因果稳定的模拟滤波器转换为数字滤波器H(z)后仍然稳定;数字滤波器H(z)的频率响应特性能够近似模仿数字滤波器Ha(S)的片段常数频率响应特性。常用的模拟-数字滤波器变换方法有:脉冲响应不变法和双线性变换法,也就是根据两种准则。
3.3.1 脉冲响应不变法
步骤:
1)对已知的(s) 进行拉氏反变换,求得(t);(t) (nt)
2)对(t) 进行取样,得(nt);
3)令h(n)=T(nt),以求得h(n);
4)对h(n) 进行Z 变换,得H(Z)。
3.3.2双线性变换
由于脉冲响应不变法存在缺点,即因为z=映射关系不是单值对应,所以,从s 平
面直接映射到z 平面时会产生混迭现象,而且脉冲响应不变法只适合频率响应在高频处单调递减的模拟原型滤波器,因此其应用范围受到限制。
双线性变换法的主要目的是从根本上解决上述脉冲响应不变法的问题也付出了一定的代价。
双线性变换法基本步骤:
1) 构造从S 平面到S1 平面的单值映射 :Ω = A tan(T/2)
2) 构造从S1 平面到Z 平面的单值映射: ω = T
实际上,不需要每次都从S 平面→S1平面→Z平面,而是直接求出S=f(Z) 的关系,然后代入Ha(s),得H(z),即H(z) = Ha(s)|s = f(z)。
IIR数字滤波器设计及其软件实现
在此基础上,根据信号频谱特性,确定可以分离三路信号的三个滤波器参数,分别为低通、带通和高通滤波器,分别设计通带边沿频率和阻带边沿频率,并确保通带衰减为0.1dB,阻带最小衰减为60dB。接着,运用 MATLAB 函数设计切比雪夫 I 型逼近和椭圆逼近的滤波器,以提取给定的载波为 250Hz、500Hz 和 100...
高通、带通、带阻IIR数字滤波器的设计
设计IIR数字带通滤波器时,带通截止频率分别为公式和公式,阻带截止频率分别为公式和公式,允许的最大通带衰减为公式,最小阻带衰减为公式。设计代码及幅度响应图同样示于上。最后,设计IIR数字带阻滤波器,带通截止频率分别为公式和公式,阻带截止频率分别为公式和公式,允许的最大通带衰减为公式,最小...
IIR滤波器算法
IIR滤波器设计方法有两种:模拟滤波器转换法和数字滤波器设计法。模拟滤波器转换法通过双线性变换、频率抽取等方法将模拟滤波器频率响应转换为数字滤波器频率响应。数字滤波器设计法则直接在数字域内基于指定频率响应和设计要求设计,常用方法包括双正共轭极点法、双极点法。IIR滤波器在音频均衡器、语音识别、...
IIR数字滤波器IIR数字滤波器的设计
IIR滤波器与FIR滤波器不同,其阶数不由设计者指定,而是由软件根据输入的参数(如截止频率、通带衰减等)自动确定。MATLAB提供了相应的函数来选择IIR滤波器的阶数。
Butterworth型IIR滤波器的设计与C语言实现
通过传递函数系数计算IIR输出的系数,注意使用环形数组存储简化计算。9、直接I型IIR滤波器的C语言实现 直接套用IIR输出定义式,导入系数进行设计。10、直接II型IIR滤波器的C语言实现 按照n+1个差分方程计算,参考飞控中的IIR二阶滤波器实现。参考资料 有关设计与实现的详细信息,请参阅相关技术文档和网站...
基于MATLAB的数字滤波器设计【FIR和IIR】
IIR滤波器设计 IIR滤波器的设计基于常系数线性差分方程,需要确定系数。首先,模拟滤波器设计后通过双线性变换转化为数字滤波器。在MATLAB中,通过函数设计参数,如巴特沃思滤波器,得到滤波器的幅相频特性。方波和正弦叠加信号经滤波后,输出信号表现出低通特性。CCS设计中,通过编写汇编程序并加载*.dat文...
IIR数字滤波器的设计&FFT快速傅里叶变换【信号分析与处理】
实验步骤包括使用MATLAB设计巴特沃斯IIR低通滤波器、编程实现滤波器、验证滤波器功能并分析实验结果。通过叠加信号并使用FFT频谱分析,验证滤波器在不同信号频率下的滤波效果。实验结论指出,设计的IIR数字滤波器成功保留了50Hz与100Hz信号,有效滤除了250Hz与200Hz信号。双线性变换法与冲激响应不变法在幅频...
数字滤波器基本原理和设计流程
IIR滤波器设计方法包括冲激不变法和双线性变换法。冲激不变法通过离散采样连续时间滤波器的冲激响应来创建离散时间滤波器。双线性变换法则保持频率响应形状不变,常用于IIR滤波器设计,它通过将连续时间滤波器转换为离散时间滤波器来实现。IIR滤波器优点包括:1)高效率,使用更少的系数即可达到与FIR滤波器...
IIR数字滤波器
在基于递归的IIR滤波器中,每一时刻的输出不仅基于当前输入,还基于先前输出,这通过递归公式表达,即当前输出等于输入值与系数a的乘积加上先前输出值与系数b的乘积。这种设计使得IIR滤波器能够在较短的时间内快速处理数据,但性能和灵活性相比FIR滤波器有所限制。IIR滤波器的稳定性通常要求使用不超过十几...
IIR滤波器原理与设计方法
IIR滤波器原理与设计方法在数字信号处理领域中占据重要地位,它们与FIR滤波器共同构成了数字滤波的基石。IIR滤波器以其高效滤波效率和对模拟滤波器设计的借鉴优势,使得在硬件资源有限的情况下,能实现出色的滤波性能。然而,它们的线性相位特性不如FIR滤波器严格,适用范围相对狭窄,通常在对线性相位要求不高...