Skip to main content
欢迎来到PAWPAW技术文档网站了解更多信息

数字 FIR 滤波器

本教程中每个阶段要实现的滤波器是一个 1024 阶数字 FIR 方框滤波器,其滤波输出是最近 1024 个输入样本的简单算术平均值。这个滤波器的行为并不特别有趣,但我们关心的是每个实现的性能细节,而不是滤波器的实用性,所以一个简单的滤波器就足够了。

滤波器定义

在离散时间步 kk,给定输入样本序列 x[]x[\,],FIR 滤波器的输出样本 y[k]y[k] 定义为:

y[k]=n=0N1x[kn]b[n]y[k] = \sum_{n=0}^{N-1} x[k-n] \cdot b[n]

其中 NN 是滤波器阶数,b[n]b[n]n{0,1,2,...,N1}n \in \{0,1,2,...,N-1\})是滤波器系数的向量。

滤波器系数 b[n]b[n] 有滞后 nn。也就是说,滤波器系数 b[0]b[0] 总是与时间 kk 的最新输入样本相乘,b[1]b[1] 与上一个输入样本相乘,依此类推。

本教程中使用的滤波器阶数 NN 固定为 10241024 阶。在我们的情况下,由于滤波器是一个简单的方框平均滤波器,所有的 b[n]b[n] 都将是相同的值,即 1N\frac{1}{N}。因此,

b[n]=1Nk{0,1,2,...,N1}b[n] = \frac{1}{N} \qquad \forall k\in \{0,1,2,...,N-1\}