如何找到一个“平方根过滤器”,这样d*d¯¯¯= fd*d¯=F给定FF?

信息处理 过滤器 有限脉冲响应
2022-01-26 19:40:19

我有一个想要的频率响应F(ω). 我知道如何创建 FIR 滤波器(例如,具有线性相位)F(n)有了这个频率响应。

但是我怎样才能得到一个过滤器d(n)这样D(ω)D*(ω)=|D(ω)|2=F(ω),或等效地在时域中,(d*d¯)(n)=F(n),即“平方根”F? (这里d¯是过滤器d系数顺序相反)

我想获得一个具有紧凑支持的真正过滤器,最好使用 MATLAB。

谢谢。

1个回答

如果您可以设计具有任意幅度响应的 FIR 滤波器F(ω),然后您可以轻松设计所需的过滤器。只需将设计分成两部分:幅度和相位。

如果级联的期望幅度响应是|F(ω)|=|D(ω)||D*(ω)|=|D(ω)|2,然后,正如已经指出的那样,您可以简单地取所需整体幅度响应的平方根,以产生平方根滤波器的幅度响应D(ω)。

定义幅度响应后,由您决定要给出什么样的相位响应D(ω). 的相位响应D(ω)D*(ω)将是彼此的共轭,因此当两个平方根滤波器级联时它们将抵消。您通常会选择相位响应来帮助实施或在此过程中为您提供一些其他不错的属性。

正如您所指出的,一种常见的选择是使用线性相位 FIR 滤波器。因此,您可以选择一个过滤器长度,将过滤器组延迟设置为ñ2(在哪里ñ是滤波器阶数),并使用得到的相位延迟曲线作为平方根滤波器设计中所需的相位响应。您最终应该得到一个具有对称脉冲响应的滤波器(由于抽头结构的冗余,它可以提供实施优势)。

我应该注意的另一件事是,所提出的问题将在其中一个子过滤器中产生非因果结构。以案例为例D(ω)具有线性相位(因此具有恒定的群延迟)。它的共轭将具有相反的相位响应,所以如果D(ω)对应于延迟ñ样品,然后D*(ω)将有一个相位响应,对应于一个提前ñ样本,所以这将是非因果的。

OP 可能正在寻找的结构D2(ω)=F(ω)反而。例如,这将类似于数字通信中使用的根升余弦滤波器结构。