关于预测和负延迟滤波器需要知道的五件事

文章:Kendall Castor-Perry

你怎样才能构建一个“预测”某些东西的过滤器呢?好吧,这完全取决于你对预测的质量和相关性设定了多高的目标……

所有系统,包括过滤器,都是因果关系。这意味着,在(不可预测的)刺激到来之前,它们无法对刺激产生反应。那么,如何构建一个“预测”某物的过滤器呢?这完全取决于你对预测的质量和相关性设定了多高的目标。

重复“你应该知道的五件事”的模式,这是非常流行的最后一次,让我们提出五个核心问题,这些问题的答案可以帮助我们走出这一泥潭。

1 -如何过滤延迟信号?

信息可以在许多方面对信号印象深刻,并且始终需要有限的时间来通过处理系统。您将非常熟悉数字块的传播延迟的概念。它只是简单的时间在对应于该块的输出时对相应状态变化的某些状态变化之间的时间。数字思想的读者的第一个思想可能是“1和”0的流,以可检测地不同的电压或电流水平物理地表达。对于这些信号,传播延迟很好,但是当我们考虑与实际上没有定义与特定点相关联的功能的模拟信号时不有意义。

我们经常对信号和数据序列进行低通滤波,以去除“噪声”——我们认为没有意义、妨碍观察更重要的潜在特征的高频变化。过滤过程可以给我们的观察提供一个相当“重触”;这绝对是观察者影响观察的一个例子。传统滤波最明显的结果是,当我们以图形化的方式看待响应时,在输入信号的变化和被滤波的输出的相应变化之间有一个明显的时间延迟。当我们看一些例子时,我们会在测试信号上清楚地看到这一点。

2 -我们如何量化这种形式的延迟?

在滤波器的输入信号(或任何其他线性信号处理块)和结果输出之间的这种“滞后”与群时延,等于(-)相位响应对频率的导数。使用合理的单位;如果你以弧度测量相位,并以每秒弧度的角度形式表示频率,那么(弧度)除以(弧度/秒)就会得到一个以秒为单位的简便答案。或者你也可以用“cycles”——一个cycle是一个完整的旋转,或者360度。以周期计算的相位差,除以以赫兹计算的常规频率的差(等同于每秒的周期),也会得到以秒为单位的答案。

我们不禁要问,如果我们想避免这种延迟,为什么我们不设计一个没有任何组延迟的滤波器呢?如果你以前读过我的专栏,你可能会认出这句话中的“危险设置”。因为,你猜对了,没有那么简单。如果你查阅或计算低通滤波器响应的“标准”味道——总的来说,以已故数学家命名的那些——你会发现它们的群延迟固执地为正,频率正好为零。我们得稍微改变一下思路。

3 -我们能消除(或不止消除)这种延迟吗?

如果你希望它归零,严格的答案是'否'每一个频率。但是,有一种精确的技术,用于开发补偿滤波器,当与原始级联时,可以给你零甚至负数群延迟在DC.。正如我们将看到的,这可能非常有用。你不需要参与任何试验和错误百万只猴子今天可以呆在它们的笼子里了!

让我们说你有一些低通转移函数H在DC有单位增益的。很容易证明一个新的传递函数H ' = 2 - H在直流时也是单位增益,并且在直流时具有与H,但。如果你级联HH”(即串联连接它们),您将获得整体传输功能,让我们称之为H1,在DC和直流组延迟。对于s或z域中的任何线性传递函数,H1等于HH”,即H1 = H (2 - H)。这是总是可实现的,如果H无论过滤类型如何,都可以实现。

这似乎是一件奇怪的事情。因为函数H”有相同的命令H(无论我们是否使用模拟或数字筛选器),您可以看到将它们组合加倍过滤器的“大小”,因此将资源加倍,从而使其实现的资源。也许易于易于想象的是它可能会显着降低滤波器的衰减性能。如果H是一个低通函数,在DC处具有Unity Gend,以及所有其他频率的Unity或以下的增益,那么该功能2-H.有一个值可以在1和3之间振荡,也就是说,它可以在响应中引入高达9.5 dB的“颠簸”。如果它落在整个滤波器的阻带内,那么所发生的就是衰减的退化。如果凸点在通带内,则级联的整体通带响应将与。有很大的不同H一个人。

这里有一个简单的例子。让我们从一个n=2的巴特沃斯滤波器在10khzH,以数字方式实现,采样速率为100 ksps。为了设计过滤器并得到图,我使用了过滤器工具从Cypress半导体的PSoC Creator IDE,它给了以下系数H,振幅和群延迟图图1:

Biquad滤波器最终系数:系数顺序为A0、A1、A2、B1、B2 0.0674552917480469 0.134910583496094 0.0674552917480469 -1.14298057556152 0.412801742553711

图1示例滤波器,在0.01 F下的n=2巴特沃斯滤波器S,如图所示,具有幅度和组延迟。

补偿滤波器H”分母和H分子等于2减去H)。我在一个快速的电子表格中计算出来,并将其粘贴回工具中。该工具检查出最佳排序和增益的两个双四边形部分(使用算法我设计);它去掉了4db的增益,以确保颠簸响应不高于0db,见图2

Biquad滤波器的最终系数:系数依次为A0、A1、A2、B1、B2 0.216065168380737 -0.2706618309021 0.0847635269165039 -1.14298057556152 0.412801742553711 0.372884273529053 0.372884273529053 0.37288427556152 0.412801742553711

图2n=2的巴特沃斯低通与其补偿滤波器级联产生零直流群延迟。

频率响应在通带中明显非平坦(存在该凸块),并且已经放弃了一些相对的停止带抑制。如果you’re familiar with control systems theory, you’ll see straight away that what we achieved was the addition of transfer function zeroes, whose group delay contribution exactly cancels out that of the original filter poles (and of the new poles that came along for the ride). But it’s not such a bad response – it’s still going to be useful for getting rid of high frequency noise of a data sequence – such as illustrated in图3关于一些神秘数据:

图3比较原始数据(蓝色),用Butterworth(粉红色)过滤并用零延迟补偿设计(绿色)过滤,显示零延迟滤波器具有可容忍的响应。

我们不必使用相同的函数H构造补偿滤波器。如果两个传递函数乙肝且各直流增益均为单位,且直流群延迟值相同H1 =公顷(2 - HB)也有单位的直流增益和零直流群延迟。

特别是,如果乙肝纯粹的时间延迟是否有价值T.,等于在FIR实现中,我们可以得到一个可爱的简化。对于传递函数T.刚好等于N我们得到H1 =公顷(2 - z-N,这可以在几乎任何数字滤波器结构中非常容易地实现,因为Z的这些负电量直接直接进入单位样本延迟。这种情况始终满足具有2n + 1个抽头的对称FIR滤波器;有了更多的工作,它可以适应不对称的情况,其中n不是整数。

因此,无论我们选择在s域还是z域工作,我们都可以构造在直流时群延迟为零的低通传递函数。我们不需要在零群延迟上停下来;我们会成功的。这是我们进入预测领域的时候。在采样系统中,有一个输出是输入信号预测的滤波器是很方便的将会在下一个样本瞬间。换句话说,一个滤波器的直流组延迟是- 1样品时间。在上面提到的FIR案例中,这非常简单。而不是使用补偿函数2-Z.-N我们只使用2-Z.- (N + 1)

现在,因果关系就被破坏了如果在能量进入之前有一些能量从过滤器中出来。因此,任何包含信息的信号都不可能以负延迟的形式出现在输出中。但有些信号传达不了任何信息——不管一些观察者相信什么,如果他们对这些信号有心理投入的话——所以当群体延迟为负时,就没有违反因果关系。

4 -这些过滤器的行为如何?

这些函数有一个有用的性质。显然,对于恒定(即直流)输入,输出电压等于输入,就像一个普通的低通滤波器。但是现在一个输入也满足等式斜坡恒定速率。与“标准”低通传递函数不同,在斜坡激励下,滤波器的输出和输入信号之间没有“滞后”。让我们构建另一个示例并更仔细地检查它的属性。

这次我们来做一个FIR的例子。我们的起始过滤器是一个对称的9抽头FIR滤波器,(因此有4个样本的恒定群延迟)。这是设计以陷波出交流线路频率与相当宽的容忍约60赫兹。我将在以后的Filter Wizard中明确地解释设计这种“dial - a - null”过滤器的原理和方法,但我们暂时就把它当作阅读。

为我们的乙肝,为了得到一个零延迟滤波器,我们只使用4个样本的简单延迟。这使得2 - HB看起来像一个带有系数的5抽头FIR滤波器(2,0,0,0,-1)。级联HAHB通过将两个z平面序列卷积在一起得到一个13抽头结果滤波器来实现单个FIR滤波器。的幅度和群延迟HAHB所示图4.这次是在LTspice。频率和时间比较奇怪是因为这个滤波器被设计为每秒220个采样率。再一次,我们有一个块状通频带失去了一些阻频带响应。

现在我们可以流入预测领域。如果我们设置HB'用5个样本延迟代替4个样本延迟,然后重新计算(现在是14个抽头)级联,我们得到HAHB”这也如图4所示(绿色痕迹)。您可以看到DC组延迟现在如需,大约4.5毫秒。

图4.:在FIR的例子中,比较滤波器,零延迟,和- 1样本版本(绿色)表明你可以实现负延迟。

这里的回报是什么?我们来看看时域的行为。三个滤镜中的每一个都被一个三角形的刺激刺激,这个刺激上升又下降。激励和响应如图所示图5.

图5.未补偿和补偿的FIR滤波器对斜坡的响应显示了补偿对滞后的影响。

由初始低通滤波器引起的“滞后”是显而易见的。如果您试图检测信号通过某个极限点的点,您显然会在检测响应中经历一个延迟。的HAHB跟踪显示我们的零DC组延迟过滤器的输出 - 它有滞后!这突出了一个非常重要的点,这在一般的低通滤波器中是真实的:这样一个滤波器的输出和输入之间的斜坡滞后在数值上等于直流时的群延迟的值。因此,如果我们补偿滤波器的设计,使直流组延迟为零,我们消除了滞后。当然,这总是要付出代价的,我们可以看到,这样的滤波器在输入波形的斜率突然变化后并不那么满意。

如果你放大HAHB跟踪时,您将看到每个新示例都碰到了输入斜坡跟踪。预测版本输出处的值HAHB”移动到斜坡在开始处的值下一个样本周期,正如我们…所预测的。

5 -这些过滤器在哪里有用?

在许多工业监测应用中,“正常”行为意味着信号是稳定的(但有噪声,代表温度、压力、物理结构中的应力等)。“异常”行为是某些测量的系统参数变得不可控并开始逐渐消失。

在需要过滤反馈路径的控制系统中,这种零延迟型滤波器是有用的。消除极低频率下的组延迟可以显著提高控制环在抑制这些频率上的一些感知行为的有效性。控制工程师习惯于操纵系统传递函数的零点来强制要求所需的循环行为,这就是我们在这里所做的,以一种更分析的方式。我们的传递函数算法创造了零抵消直流群延迟特性的极点。我已经说过了,不是吗?

这种零或负延迟滤波器通常也用于处理非电子信号。例如,如果金融工具(如股票)的价格被认为是线性的,但斜坡被短期交易噪声腐蚀,零延迟过滤器可以是提取潜在行为的有用方式。尽管您可以从滤波器的行为推断出来,但是当三角形改变方向时,这样的过滤器将为您提供一个疯狂不准确的结果,直到价格行为再次平稳地升高。图3的神秘数据实际上是一系列股价值。

这类金融工具的交易员实际上对他们的价格数据序列使用了一些相当复杂的过滤过程。我经常被告知,如果电子产品市场跌出谷底,总会有工作的过滤器向导在金融领域,从大量价格数据中寻找有趣的信号。但是,让我们继续航行,通过那个特殊的警报器巢,安全地系在一个坚固的工程桅杆,并回到轨道上!

一个工程应用,像这样的延迟操作是有价值的,在补偿数字D类放大器的电源电压变化。对于一个给定的标记:输出开关的空间比,这样一个放大器的平均输出电压与电源电压成比例-即它没有电源抑制。当人们似乎只想在消费音频设备的电源上花这么少的钱时,这是一件坏事。

我们可以测量瞬时电源电压并将其送回开关控制算法。但由于涉及测量这种放大器的电源电压的过滤器延迟,并将该数据注入到控制系统中,最终纠正不适用于现在的电源电压,但是在那里的电源电压。这种差异限制了我们可以用循环实现的电源抑制。如果我们使用低通滤波器过滤测量的电源电压(不会过度强调具有适当的一些高频垃圾)在直流群延迟,我们可以补偿这种影响,至少在非常低的相对频率,如在交流线路频率的谐波。这种方法对数字功率放大器的交流线纹波抑制有显著的影响,在一些商用数字放大器的设计中都采用了这种方法。万博投注网址

所以,这是一个非常广泛的主题过滤器向导块;我希望你觉得它很刺激。在这种情况下,我的分手双关语是相当可预测的,你应该试试这些技巧不延误!过滤快乐!

发表评论