第4章 差分方程与滤波4.1 滤波基础知识 4.2 模拟滤波器和数字滤波器 4.3 线性、时不变、因果系统 4.4 差分方程 4.5 叠加原理 4.6 差分方程流图 4.7 脉冲响应 4.8 阶跃响应非递归差分方程递归差分方程返回• roll-off 滚降 gain 增益 • pass band 通带 stop band 阻带 • bandwidth 带宽 linear system 线性系统 • superposition 叠加原理 time-invariant 时不变 • causal system因果系统 • difference equation差分方程 • filter coefficient滤波器系数 • recursive filter 递归滤波器 • nonrecursive filter 非递归滤波器 • finite word length effect有限字长效应 • impulse response 脉冲响应 • infinite impulse response (IIR)无限脉冲响应 • finite impulse response (FIR)有限脉冲响应 • moving average filter 滑动平均滤波器 • step response 阶跃响应4.1 滤波基础知识滤波器是以特定方式改变信号的频率特性,从而变换信号的系统。
例:低通滤波器减少磁带中的高频杂音分量,保留中、低频率分量高通滤波器可用于声纳系统中消除信号中船和海的低频噪声,来识别目标带通滤波器可用于数字系统中双音多频信号的解码如图 4.1带阻滤波器除特定频带外,允许所有频率通过图 4.1理想滤波器的形状是矩形,图 4.2 给出非理想滤波器图 4.2滤波器的阶数越高,它的滚降(roll-off) 越快,也就越逼近理想情况增益高的频率范围,信号可以通过,称为滤波器的通带增益低的频率范围,滤波器对信号有衰减或阻塞作用,称 滤波器的阻带增益为最大值的1√ 2=0.707所对应的频率为滤波器截止频率增益通常用分贝(dB)表示增益(dB)= 20log(增益)增益为 0.707 时对应 -3dB,因此截止频率常被称为 -3dB它们定义了滤波器的宽带对于低通滤波器宽带是从0 ~ - 3dB对于高通滤波器宽带是从 - 3dB~采样频率的一半对于带通滤波器带宽是截止频率之间的频率距离FIGURE 4-3 Band pass filter for Example 4.1.Joyce Van de Vegte Fundamentals of Digital Signal ProcessingCopyright ©2002 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved.FIGURE 4-4 Bandwidth calculation for Example 4.1.Joyce Van de Vegte Fundamentals of Digital Signal ProcessingCopyright ©2002 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved.低通滤波器可以平滑信号的突变 高通滤波器可以强化信号的锐变FIGURE 4-5 Effects of low and high pass filters.Joyce Van de Vegte Fundamentals of Digital Signal ProcessingCopyright ©2002 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved.FIGURE 4-5 Continued.Joyce Van de Vegte Fundamentals of Digital Signal ProcessingCopyright ©2002 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved.FIGURE 4-5 Continued.Joyce Van de Vegte Fundamentals of Digital Signal ProcessingCopyright ©2002 by Pearson Education, Inc. Upper Saddle River, New Jersey 07458 All rights reserved.图4.6说明不同方式滤波器对语言滤波器可以获得 不同频率分量(自学)返回图 4.64.2模拟滤波器和数字滤波器模拟滤波器是由电器元件构成的电路,滤波器特性对所用部件值非常敏感,对外界影响也很敏感,重新设计就 要新设计的电路,滤波器介数增加时,所需部件也就越多。
数字滤波器用软件实现,很少用硬件,滤波软件只是一系列程序指令,滤波器的性能由一系列数字系数来确定,只要重新确定滤波程序的系数就可重新设计数字滤波器数字滤波器程序实现有两种主要方式1、用滤波器差分方程,计算滤波器的输出2、用卷积过程计算输出 返回4.3 线性、时不变、因果系统线性系统:满足叠加原理输入 x1 的输出为 y1,输入 x2 的输出为 y2,则当 输入为两个输入(x1,x2)之和时,输出为两个输出 (y1,y2)之和X1+x2 y1+y2 ax1+ bx2 ay1+by2 a,b为权系数 时不变系统:什么时间加上输入,输出都是相同的;换句话说 输入延迟,相同的量图 4.7图 4.8因果系统:一个系统在任何时刻的输出只决定于现在的输入以及过去的输入,而与以后的输入关也称为不可预测的系统,因为系统的输出无法预测未来 的输入值返回4.4 差分方程 差分方程(difference equation)可用来描述线性时不变 ,因果数字滤波器用x表示滤波器的输入,用y表示 滤波器的输出 x[n]表示在输入, 每个值之间有一采样周期延迟 x[n-1]表前一输入, 同样的,输出对应为y[n] x[n-2]表再前一输入, y[n-1],y[n-2] 差分方程一般表示为: a0y[n]+a1y[n-1]+…+aNy[n-N]=b0x[n]+b1x[n-1]+…+bMx[n-M] (1) ∑aky[n-K] = ∑gkx[n-K] (2)Ak,bk 为权系数,称为滤波器系数。
N为所需过去输出的个数,M 为所需输入的个数NK=1MK=0将 y[n] 前变为 1,即 a0 为1,所有系数除以a0,得:y[n]= - ∑ aky[n-K] + ∑ bkx[n-K] (3)表明了怎样从过去的输出,现在的输入和以前的输入 计算滤波器每一个新输出 数字系统依赖于输入和过去的输出时,称其为递归滤 波器(3式)当数字系统仅依赖于输入而不依赖过去 的输出,称 其为非递归滤波器4)式y[n]= ∑ bkx[n-K] (4)NK=1MK=0MK=0下面学习差分方程的使用: 例 4.2 一个滤波器的差分方程为: y[n]=0.5y[n-1] + x[n]a. 确定所有系数 ak, bk b. 它是递归滤波器还是非递归滤波器?c. 如果输入 x[n](如图 4.9 所示),从 n=0 开始求出前 12 个输出图 4.9 解: a. 将差分方程重新改写,输出放在左侧,输入放在右侧 y[n] – 0.5y[n-1] = x[n]系数的值很易确定,参照式(4.1)滤波器的系数为:a0 =1.0 , a1 =-0.5 及 b0=1.0,除 a0 , a1 , b0 外其他所有系数为零。
b. 由于输出 y[n] 取决于过去的输出 y[n-1] ,所以数字滤波器是递归滤波器 c. 输出可以从 n=0 开始,通过反复计算式(4.5) 求出对于 n=0 这种情况,计算时需要输出 y[ -1]本书中,假定数字滤波器是因果的,这就意味着直到第一个输入不为零时,输出才开始变化此例中为 n=0 所以, y[0] 以前的所有输出可以假定为零 Y[0] 计算出来以后,可以计算 y[1]前 12 个输出为:y[0] =0.5y[ -1] + x[0] =0.5 x (0.000 0)+1.0 = 1.000 0 y[1] =0.5y[ 0] + x[1] =0.5 x (1.000 0)+1.0 = 1.500 0 y[2] =0.5y[1] + x[2] =0.5 x (1.500 0)+1.0 = 1.750 0 y[3] =0.5y[ 2] + x[3] =0.5 x (1.750 0)+1.0 = 1.875 0 y[4] =0.5y[ 3] + x[4] =0.5 x (1.875 0)+1.0 = 1.937 5 y[5] =0.5y[ 4] + x[5] =0.5 x (1.937 5)+1.0 = 1.968 8 y[6] =0.5y[ 5] + x[6] =0.5 x (1.968 8)+1.0 = 1.984 4 y[7] =0.5y[ 6] + x[7] =0.5 x (1.984 4)+1.0 = 1.992 2 y[8] =0.5y[ 7] + x[8] =0.5 x (1.992 2)+1.0 = 1.996 1 y[9] =0.5y[ 8] + x[9] =0.5 x (1.996 1)+1.0 = 1.998 0 y[10] =0.5y[ 9] + x[10] =0.5 x (1.998 0)+1.0 = 1.999 0 y[11] =0.5y[ 10] + x[11] =0.5 x (1.999 0)+1.0 = 1.999 5输出示于图 4.10 。
由于输入为一个恒定值,输出最终也趋近一个恒值图 4.10例 4.3 y[n] = 0.5x[n] – 0.3x[n-1]a. 确定所有系数 ak , bk b. 它是递归滤波器还是非递归滤波器差分方程?c. 输入 x[n] = sin(n2π/9) u[n], 求出前 20 个输出 解:a. a0=1.0, b0=0.5 及 b1=- 0.3b. 由于输出不取决于过去的输出,所以数字滤波器是非递归滤波器c. 由于输入中有 u[n],所以 n=0 以前的输入为零表 4.1 给出了输入和输出的前 20 个值图 4.11给出了输入和输出的图形注意,虽然两个信号的幅度和相位不同,但它们均具有正弦特性和相同的数字周期表 4.1 图 4.11n -1 0 1 2 3 4 5 x[n] 0.000 0.000 0.643 0.985 0.866 0.342 -0.342 y[n] 0.000 0.000 0.。