求教如何量化IIR数字滤波器系数?
答案:2 悬赏:60 手机版
解决时间 2021-03-05 23:59
- 提问者网友:爱唱彩虹
- 2021-03-05 16:27
求教如何量化IIR数字滤波器系数?
最佳答案
- 五星知识达人网友:独钓一江月
- 2021-03-05 17:53
这样就可以将任意阶的IIR滤波器通过若干二阶网络(也称为滤波器的二阶基本节)级联起来构成,其结构如图1所示。其中,代表第i级的二阶网络。
对于每一个二阶基本节,可以转置直接II型结构加以实现,如图2所示。
采用这种级联结构实现IIR滤波器的优点是每一个基本节只是关系到滤波器的某一对极点和一对零点,调整系数a0i、a1i、a2i,只单独地调整了滤波器第i对零点而不影响其他任何零、极点。同样,调整b1i、b2i系数、也只单独调整了第i对极点。因此,这种结构便于准确地实现滤波器的零、极点,也便于调整滤波器的频率响应性能。这种结构的另一个优点是存储单元需要较少,在硬件实现时,可以用一个二阶节进行时分复用,从而降低对FPGA硬件资源的要求。
IIR数字滤波器的设计
利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR滤波器。需要将MATLAB设计出的IIR滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
由于采用了级联结构,因此如何将滤波器的每一个极点和零点相组合,从而使得数字滤波器输出所含的噪声最小是个十分关键的问题。为了产生最优的量化后的IIR数字滤波器,采用如下步骤进行设计。
(1)首先计算整体传递函数的零极点;
(2)选取具有最大幅度的极点以及距离它最近的零点,使用它们组成一个二阶基本节的传递函数;
(3)对于剩下的极点和零点采用与(2)相类似的步骤,直至形成所有的二阶基本节。
通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小。
为了设计出可用FPGA实现的数字滤波器,需要对上一步分解获得的二阶基本节的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使IIR滤波器的极点移到单位圆之外,系统因而失去稳定性。为了获得最优的滤波器系数,采用以下步骤进行量化。
(1)计算每个系数的绝对值;
(2)查找出每个系数绝对值中的最大值;
(3)计算比此绝对值大的最小整数;
(4)对(3)的结果取反获得负整数;
(5)计算需要表示此整数的最小位数;
(6)计算用于表示系数值分数部分的余下位数。
除了系数存在量化误差,数字滤波器运算过程中有限字长效应也会造成误差,因此对滤波器中乘法器、加法器及寄存器的数据宽度要也进行合理的设计,以防止产生极限环现象和溢出振荡。
对于每一个二阶基本节,可以转置直接II型结构加以实现,如图2所示。
采用这种级联结构实现IIR滤波器的优点是每一个基本节只是关系到滤波器的某一对极点和一对零点,调整系数a0i、a1i、a2i,只单独地调整了滤波器第i对零点而不影响其他任何零、极点。同样,调整b1i、b2i系数、也只单独调整了第i对极点。因此,这种结构便于准确地实现滤波器的零、极点,也便于调整滤波器的频率响应性能。这种结构的另一个优点是存储单元需要较少,在硬件实现时,可以用一个二阶节进行时分复用,从而降低对FPGA硬件资源的要求。
IIR数字滤波器的设计
利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR滤波器。需要将MATLAB设计出的IIR滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
由于采用了级联结构,因此如何将滤波器的每一个极点和零点相组合,从而使得数字滤波器输出所含的噪声最小是个十分关键的问题。为了产生最优的量化后的IIR数字滤波器,采用如下步骤进行设计。
(1)首先计算整体传递函数的零极点;
(2)选取具有最大幅度的极点以及距离它最近的零点,使用它们组成一个二阶基本节的传递函数;
(3)对于剩下的极点和零点采用与(2)相类似的步骤,直至形成所有的二阶基本节。
通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小。
为了设计出可用FPGA实现的数字滤波器,需要对上一步分解获得的二阶基本节的滤波器系数进行量化,即用一个固定的字长加以表示。量化过程中由于存在不同程度的量化误差,由此会导致滤波器的频率响应出现偏差,严重时会使IIR滤波器的极点移到单位圆之外,系统因而失去稳定性。为了获得最优的滤波器系数,采用以下步骤进行量化。
(1)计算每个系数的绝对值;
(2)查找出每个系数绝对值中的最大值;
(3)计算比此绝对值大的最小整数;
(4)对(3)的结果取反获得负整数;
(5)计算需要表示此整数的最小位数;
(6)计算用于表示系数值分数部分的余下位数。
除了系数存在量化误差,数字滤波器运算过程中有限字长效应也会造成误差,因此对滤波器中乘法器、加法器及寄存器的数据宽度要也进行合理的设计,以防止产生极限环现象和溢出振荡。
全部回答
- 1楼网友:风格不统一
- 2021-03-05 19:12
无限脉冲响应滤波器是数位滤波器的一种,简称iir数位滤波器(infiniteimpulseresponsefilter)。由于无限脉冲响应滤波器中存在反馈回路,因此对于脉冲输入信号的响应是无限延续的。
有限脉冲响应滤波器是数字滤波器的一种,简称fir数字滤波器(finiteimpulseresponsefilter)。这类滤波器对于脉冲输入信号的响应最终趋向于0,因此是有限的,而得名。它是相对于无限脉冲响应滤波器(iir)而言。
有限脉冲响应滤波器(firfilter)的优点:
1.脉冲响应(impulseresponse)为有限长:造成当输入数位讯号为有限长的时候,输出数位讯号也为有限长。
2.比无限脉冲响应滤波器(iirfilter)较容易最佳化(optimize)。
3.线性相位(linearphase):造成h(n)\,是偶对称(even)或奇对称(odd)且有限长。
4.一定是稳定的(stable):因为z转换(ztransform)后所有的极点(pole)都在单位圆内。
有限脉冲响应滤波器(firfilter)的缺点:
设计方式较无限脉冲响应滤波器(iirfilter)不容易。
无限脉冲响应滤波器(iirfilter)的优点:
较容易设计以及实现。
无限脉冲响应滤波器(iirfilter)的缺点:
1.脉冲响应(impulseresponse)为无限长:造成当输入数位讯号为有限长的时候,输出数位讯号会变成无限长。
2.比有限脉冲响应滤波器(firfilter)较不易最佳化(optimize)。
3.不一定是稳定的(stable):因为z转换(ztransform)后所有的极点(pole)不一定都在单位圆内。
reference:w开头的被baidu屏蔽的某网站
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯