图1.2表示一个简单的数字低通滤波器,它包含3个延迟单元 T 1 ~ T 3 、4个乘法器 a 0 ~ a 3 和3个加法器 A 1 ~ A 3 。乘法器和加法器都很好理解;而延迟单元其实就是计算机中的存储单元,它的功能是对每个数字量样点(比如,8位定点数或32位浮点数)记忆一个采样周期 T 。在图1.2a中,输入信号在当前采样周期内的样点为 x ( nT )(假设当前的采样周期为第 n 采样周期),如果把它送入延迟单元 T 1 ,到下一个采样周期内就变成 x ( nT-T )出现在它的输出端上(下一个采样周期就是第 n +1个采样周期)。这就是一个延迟单元需要完成的全部任务。
上面提到,把 x ( nT )延迟一个采样周期后就变成 x ( nT-T )。对此,我们可以这样来理解。首先,在数字信号系统中,时间总是以采样周期 T 为长度顺序划分的,如图1.2c所示。这里的要点是,我们总是把注意力集中到当前采样周期,所以总是把当前采样周期叫作第 n 采样周期。举例来说,如果当前采样周期为第2采样周期,也如图1.2c所示,那么第2采样周期就是第 n 采样周期,即 n =2;而第2采样周期后面的第3采样周期就叫第 n +1采样周期。
当时间经过 T 之后,到了第3采样周期。此时,第3采样周期就变成当前采样周期而被叫作第 n 采样周期,即 n =3。前面的第2采样周期就被叫作第 n -1采样周期。知道了这一点,就不难理解输入样点 x ( nT )延迟时间 T 之后就变成 x ( nT-T )。这里的要点是, n 是在不断变化的。现在 n =3,所以 x ( nT-T )= x (3 T-T )= x (2 T )。而 x (2 T )就是第2采样周期内的输入信号样点。
在图1.2a中,由于4个乘法器的乘数都是0.25,所以当前采样周期内的输出样点就可以用当前采样周期和以前三个采样周期内的输入样点表示为
图1.2 一个简单的数字低通滤波器
a)结构 b)输入和输出信号
图1.2 一个简单的数字低通滤波器(续)
c)操作时序
式中, y ( nT )为当前采样周期内的输出样点; x ( nT )为当前采样周期内的输入样点; x ( nT-T )为前一个采样周期内的输入样点; x ( nT -2 T )为前两个采样周期内的输入样点,依此类推。所以式(1.1)的功能是对最近的4个输入样点计算平均值,并把平均值作为滤波器在当前采样周期内的输出样点 y ( nT )。
在图1.2a中,滤波器的输入信号是一个2V的直流电位和一个振幅为0.5V的交流电压的叠加。其中的交流电压可以是一种噪声,比如是叠加在直流电位上的纹波。我们的目的是,用图1.2a中的数字低通滤波器来滤除这个交流成分。
需要知道,在图1.2中还使用了数字信号系统中的一般性做法,这就是,数字信号的每一个样点都被表示为一个小圆点和一条垂线的组合。这些样点都位于 t = nT 的时间点上( n =…,-2,-1,0,1,2,…),且任意两个相邻样点之间的时间间隔都等于采样周期 T 。
现在有了式(1.1),就可以计算滤波器的输出 y ( nT )。但在开始计算(也就是滤波)之前,还需把图1.2a中 T 1 ~ T 3 的3个延迟单元中保存的3个记忆样点清零。这叫系统初始化,然后才可进入真正的滤波计算。
现在假设系统初始化已完成,就可以开始滤波计算了。此时的时间被定义为零,即 t =0。这就是说,滤波器的操作总是从 t =0开始。此时的采样周期为第0采样周期,即 n =0。它的时间范围是从 t =0~ T (第1采样周期的时间范围从 t = T ~2 T 等)。
在第0采样周期内,滤波器先从3个延迟单元的输出端取得3个零样点,把它们分别送入 x ( nT-T )~ x ( nT -3 T )的三个样点,如图1.2a所示。再从输入信号取出第0采样周期内的输入样点 x (0)=2,把它送入 x ( nT ),也如图1.2a所示。这就可以用式(1.1)来计算滤波器的当前输出样点,计算的结果为 y ( nT )= y (0)=0.5,如图1.2b所示。最后,还需将 x ( nT )、 x ( nT-T )和 x ( nT -2 T )分别存入 T 1 ~ T 3 的3个延迟单元内。这就完成了第0采样周期内的全部操作;得到的结果是 y ( nT )= y (0)=0.5,以及3个延迟单元内分别保存了2、0和0三个样点。
当 t = T 时,滤波器进入第1采样周期。操作过程与第0采样周期内完全一样。先从3个延迟单元取出3个样点,把它们分别送入 x ( nT-T )、 x ( nT -2 T )和 x ( nT -3 T )样点,其中 x ( nT -2 T )和 x ( nT -3 T )仍都为零,而 x ( nT-T )=2。再从输入信号取出第1采样周期内的输入样点 x ( T )=2.5,把它送入 x ( nT )。然后用式(1.1)计算滤波器当前采样周期内的输出样点 y ( nT )= y ( T )=1.125,如图1.2b所示。最后,把 x ( nT )、 x ( nT-T )和 x ( nT -2 T )分别存入 T 1 ~ T 3 。至此,第1采样周期内的操作全部完成;得到的结果是 y ( nT )= y ( T )=1.125,以及3个延迟单元内分别保存了2.5、2和0样点。接下来,进入第2采样周期、第3采样周期,并一直继续下去。
这样算出的输出信号 y ( nT )如图1.2b下面所示。其中,前三个样点表示滤波器处于暂态阶段(任何有记忆的系统,都会在开始时经历一个暂态阶段)。从 t =3 T (即 n =3)开始,滤波器进入稳态阶段。从此时的 y ( nT )看,交流噪声已被滤除,只剩下想要的直流成分。这就是图1.2a中的数字低通滤波器要完成的任务。
归纳起来说,任何数字信号系统的操作都是以采样周期 T 为单位顺序进行的。当一个采样周期内的操作完成后,就进入休闲期,等下一采样周期到来时,再重复同样的操作,如图1.2c所示。这种操作会一直延续下去。
小测试 : 图1.2a的数字滤波器中,总共用了几种运算?答:两种,乘法和加法。