过滤器阶数估算


9

假设复Z平面中一些未知但极小数量的极点和零点都带有复共轭,产生一些响应。严格根据单位圆周围一组等距点的绝对值,例如该响应的极点和零点数大于2倍,可以估计或计算产生采样幅度的极点和零点数响应?

补充:确定极点和零点的数量是否需要超过2倍的采样点?(当总数小于X时)。

补充:如果有多个解,是否可以找到或估计最小解(如总极点和零的最小数目)?


这是没有两极的容易得多的问题。从本质上讲,这将成为matlab / octave firls命令中的算法。
Mark Borgerding 2012年

我想知道您是否可以根据广义特征值问题来分析频率响应的分子和分母。您可能需要假设相位(对于初学者来说是线性的)
Mark Borgerding 2012年

我想全通过滤器是排除在外的!如果极点和零点“足够接近”,我认为如果响应样本的间距相等,您将遇到问题。无论如何,假设您的响应是平坦的,只是在频率不太低的地方有一个小的颠簸。然后,根据您的喜好,您可以使用双二阶(2个零点和2个极点)对该模型进行建模,也可以改用4到6个零点进行建模。一个相关的问题是:给定一组极点和零点,为了精确计算极点和零点的数量,所需的幅度响应的最小点数是多少。
niaren 2012年

1
如上所述,我认为这个问题无法解决。您可以采用任意系统并将其与一个或多个全通滤波器级联;这不会影响其幅度响应,但会更改级联的极点/零点数目。对于给定的幅度响应,那么将有无数个相应的极点和零点。如果您可以访问系统的相位响应,则情况可能会不同。如果失败,您肯定可以估计系统顺序(使用某些未指定的方案)。考虑的好问题。
詹森·R

修复了从解决方案中删除无限通滤波器的问题。
2012年

Answers:


1

从理论上讲,尽管通常不可行,但可以这样做。

让我们在多项式空间中考虑一下。对于N阶的滤波器,您具有2 * N + 1个独立变量(分母为N,分子为N + 1)。让我们看一下z平面中的任意点,并假设此点的传递函数值为H()。传递函数和所有滤波器系数之间的关系可以写成在所有滤波器系数中都是线性的方程,如下所示: 这样如果您选择M个不同的频率zkzk

n=02NbnzknH(zk)n=12Nanzkn=H(zk)
zk您将得到一组M个复杂的线性方程或2 * M个实方程。由于未知数是奇数(2 * N + 1),因此您可能总是想选择一个频率为z的实数,即z = 1或 = 0。ω

如果M大于N,则方程组是线性相关的。您可以通过从N = 1开始并增加N直到方程系统变得线性相关来找到滤波器阶数。系统线性独立的最大N是实际滤波器阶数。对于这种方法,选择的频率甚至都没有关系。只要它们不同,任何频率组都可以工作。

但是,这是一个数字上非常棘手的问题。滤波器阶数较大的多项式表示形式在数值上非常脆弱,最小的噪声或不确定性导致很大的数值误差。例如,如果通过测量确定采样传递函数的值,则所需的测量精度将是令人望而却步的,除非它是非常良性的低阶滤波器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.