DSP - 计算机辅助设计


FIR 滤波器可用于滤波器的计算机辅助设计。让我们举个例子,看看它是如何工作的。下面给出的是所需过滤器的图。

计算机辅助设计

在进行计算机设计时,我们将整个连续图形分解为离散值。在一定限度内,我们将其分成 64、256 或 512(等等)个具有离散量值的部分。

在上面的示例中,我们采用了 -π 到 +π 之间的限制。我们把它分成256个部分。这些点可以表示为 H(0)、H(1)、...直至 H(256)。在这里,我们应用 IDFT 算法,这将为我们提供线性相位特性。

有时,我们可能对某些特定的过滤器顺序感兴趣。假设我们想通过 9阶滤波器实现上述设计。因此,我们将过滤器值设为 h0、h1、h2….h9。从数学上来说,它可以表示如下

$$H(e^{j\omega}) = h_0+h_1e^{-j\omega}+h_2e^{-2j\omega}+.....+h_9e^{-9j\omega}$$

当存在大量位错时,我们取最大值。

例如,在上图中,B点和C点之间的斜率突然下降。因此,我们尝试在该点取更多的离散值,但是C点和D点之间的斜率是恒定的。离散值的数量较少。

为了设计上述滤波器,我们经历了如下最小化过程;

$H(e^{j\omega1}) = h_0+h_1e^{-j\omega1}+h_2e^{-2j\omega1}+.....+h_9e^{-9j\omega1}$

$H(e^{j\omega2}) = h_0+h_1e^{-j\omega2}+h_2e^{-2j\omega2}+.....+h_9e^{-9j\omega2}$

相似地,

$(e^{j\omega1000}) = h_0+h_1eH^{-j\omega1000}h_2e^{-2j\omega1000}+.....+h_9+e^{-9j\omega1000}$

以矩阵形式表示上述方程,我们有 -

$$\begin{bmatrix}H(e^{j\omega_1})\\.\\.\\H(e^{j\omega_{1000}}) \end{bmatrix} = \begin{bmatrix}e ^{-j\omega_1} & ... & e^{-j9\omega_1} \\. &&。\\. &&。\\e^{-j\omega_{1000}} &... & e^{j9\omega_{1000}} \end{bmatrix}\begin{bmatrix}h_0\\.\\.\\h_9\end {b矩阵}$$

让我们将 1000×1 矩阵作为 B,1000×9 矩阵作为 A,9×1 矩阵作为 $\hat{h}$。

因此,为了求解上面的矩阵,我们将写成

$\hat{h} = [A^TA]^{-1}A^{T}B$

$= [A^{*T}A]^{-1}A^{*T}B$

其中 A *表示矩阵 A 的复共轭。