Skip to content

Commit

Permalink
第二章公式编号格式更新
Browse files Browse the repository at this point in the history
第二章公式编号格式更新
  • Loading branch information
onlypinocchio committed Jul 19, 2018
1 parent e46c2b4 commit 5b91c5c
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions 02-Finite-Impulse-Response-Filters.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# 第二章
# 第二章 有限脉冲响应(FIR)滤波器

# 有限脉冲响应(FIR)滤波器
## 2.1 概述

​ 有限脉冲响应(FIR)滤波器在数字信号处理(DSP)领域中很常用——它们可能是这个领域应用最广泛的运算。因为它们可以采用高度优化的体系结构,所以它们非常适合于硬件实现。它有一个关键特性即对连续信号元素进行线性变换 。这个特性可以很好的映射成一种数据结构(例如,FIFOs或者抽头延时线),这些数据结构可以在硬件中高效实现。一般来说,流处理很适合在FPGA中映射实现,例如,在本书中介绍的大多数例子都包含某种形式的流处理。
Expand All @@ -19,17 +18,17 @@

​ N-阶FIR滤波器的系数h[]与输入信号x[]的卷积可由差分方程表示:

$$y[i]=\sum_{j=0}^{N-1}h[j]\cdot x[i-j]$$ (2.1)
$$y[i]=\sum_{j=0}^{N-1}h[j]\cdot x[i-j]\quad(2.1)$$

注意,要计算一个N-阶滤波器的输出值,需要N个乘法和N-1个加法。

*滑动均值滤波器* 是低通FIR滤波器的一种简单形式,其所有系数都是相同的且和为1。例如3点滑动滤波器,其系数h =[1/3, 1/3, 1/3]。同时由于它卷积核的形状特点,它也被称为矩形滤波器。或者你可以想象一个滑动均值滤波器,它将输入信号的几个相邻样本相加并求平均值。在上面卷积方程中,用1/N代替h[j]并对公式重新排布整理,达到对N个元素求平均值相似的效果:

$$y[i]=\frac{1}{N}\sum_{j=0}^{N-1}x[i-j]$$ (2.2)
$$y[i]=\frac{1}{N}\sum_{j=0}^{N-1}x[i-j]\quad(2.2)$$

​ 每个输出信号可以按照上面公式计算,上面公式总共使用N−1次加法和一次乘数为1 / N的乘法。很多时候最后的乘法也可以被其它运算操作重新组合并合并。因此滑动均值滤波器比常规FIR滤波器更简单。例如,当N = 3时,我们这样运算来计算y[12]:

$y[12]=\frac{1}{3}\cdot (x[12]+x[11]+x[10])$ (2.3)
$$y[12]=\frac{1}{3}\cdot (x[12]+x[11]+x[10])\quad(2.3)$$

​ 这个过滤器是因果系统,这意味着输出数据与当前输入值及以前的数据有关。系统的因果特性是可以改变的,例如以当前样本为数据中心时刻的处理,即y[12] = 13·(x[11] + x[12] + x[13])。虽然从根本上来说因果特性是系统分析的一个重要属性,但是对于硬件实现来说它没有那么重要,一个有限非因果滤波器可以通过数据缓冲或者重排列来实现转因果系统的转换。

Expand Down Expand Up @@ -418,7 +417,7 @@ width是1到1024^1^ 之间的整数。例如,ap_int<8>是一个8位有符号

​ 考虑方程2.4来理解如何利用实数FIR滤波器建立复数FIR滤波器。假设(Iin, Qin)是我们希望输入滤波器的一个数据。其中复数FIR滤波器系数表示为(I~fir~, Q~fir~)。处理系统中将会有不止一个输入样本和复数滤波器系数,但我们现在不用担心这点。

$ (I_{in}+ j Q_{in})(I_{fir} + j Q_{fir}) = (I_{in} I_{fir} Q_{in} Q_{fir}) + j (Q_{in} I_{fir} + I_{in}Q_{fir}) $ (2.4)
$$ (I_{in}+ j Q_{in})(I_{fir} + j Q_{fir}) = (I_{in} I_{fir} Q_{in} Q_{fir}) + j (Q_{in} I_{fir} + I_{in}Q_{fir}) \quad(2.4)$$

​ 方程2.4显示了复数FIR滤波器的一个系数与输入复数数据的乘法。方程右侧显示复数FIR滤波器输出实数部分是$ I_{in}I_{fir} - Q_{in}Q_{fir} $,和虚数部分为$ Q_{in}I_{fir} + I_{in}Q_{fir} $。这意味着我们可以将复数FIR过滤器运算拆分为四个实数滤波器,如图2.9所示。

Expand Down

0 comments on commit 5b91c5c

Please sign in to comment.