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 的复共轭。