使用Xilinx自带的FIR滤波器IP自定义单位增益滤波器

Eg:在未归一化时

输入幅值\(A_i=9295\),滤波器输出幅值\(A_o=9724819390\)

  1. 首先我们要找到 \(A_i*2^X\)使得 \(A_i*2^X >A_o\)

    那么我们得到 \(A_i*2^{20}\approx A_o*1.0022\)

    因此可以取 \(X=20\),但我们因为精度要求,于是将 \(X\)取的大一些,为 \(34\)

  2. 于是便得到了乘子 \(Q\)

\[A_i*2^{34}\approx A_o*16420.55 \]

\[Q=16420.55 \]

  1. 那么我们就有了如下关系:

\[(A_o*Q)>>X=A_i \]

  1. 由此我们可以将滤波器的输出先过一有符号乘法器乘以 \(Q\),再右移 \(X\)位那么便可以得到单位增益的 \(A_i\)

附录:UnityGainLPF.7z (如需下载例程请联系作者)

posted @ 2024-03-12 16:31  带恶人Chsier  阅读(28)  评论(0编辑  收藏  举报