第五章 数字信号处理系统的实现
数字滤波器的实现方法:
a,利用专用计算机;
b.直接利用计算机和通用软件编程实现 。
一个数字滤波器的系统函数一般可表示为有理函数形式:
为 I I R滤波器形式, { }都为 0时就是一个 FIR滤波器 。
对于这样一个系统, 也可用差分方程来表示:
i
N
i
i
N
i
i
i
Zb
Za
zH
?
?
?
?
?
?
?
?
1
0
1
)(
ib
? ?
? ?
????
N
i
N
i
ii inybinxany
0 1
)()()(
IIR,FIR的系统函数
网络结构形式
软、硬件实现
DF)(nx )(ny
即一个输出序列是其过去 点的线性组合加上当前输入
序列与过去 点输入序列的线性组合。 除了与当前的输
入 有关,同时还与过去的输入和过去的输出有关,系统
是带有记忆的。
对于上面的算式,可以化成不同的计算形式,如直接计
算、分解为多个有理函数相加、分解为多个有理函数相乘等
等,不同的计算形式也就表现出不同的计算结构,而不同的
计算结构可能会带来不同的效果,或者是实现简单,编程方
便,或者是计算精度较高等等。
另外,数字信号是通过采样和转换得到的,而转换的位
数是有限的(一般 6,8,10,12,16位),所以存在量化误
差,另外,计算机中的数的表示也总是有限的,经此表示的
滤波器的系数同样存在量化误差,在计算过程中因有限字长
也会造成误差。
N
N
)(ny
)(nx
量化误差主要有三种误差:
① A/D变换量化效应;
② 系数的量化效应;
③ 数字运算的有限字长效应。
5.1 数字滤波器的结构
一, 数字网络的信号流图表示
差分方程中数字滤波器的基本操作,① 加法, ② 乘法,③ 延
迟 。
为了表示简单, 通常用信号流图来表示其运算结构 。 对于加
法, 乘法及延迟这三种基本运算 。
只有输出支路的节点称为输入节点或 源点 ;
只有输入支路的节点称为输出节点或 阱点 ;
既有输入支路又有输出支路的节点叫做 混合节点 。
通路 是指从源点到阱点之间沿着箭头方向的连续
的一串支路, 通路的增益是该通路上各支路增益
的乘积 。
回路 是指从一个节点出发沿着支路箭头方向到达
同一个节点的闭合通路, 它象征着系统中的反馈
回路 。 组成回路的所有支路增益的乘积通常叫做
回路增益 。
)1()1()()( 110 ????? nybnxanxany
梅逊 (Mason)公式
? ? ? ?? ? ? ?
?
??
k
kkTzX
zYzH 1
式中 Tk为从输入节点(源点)到输出节点(阱
点)的第 k条前向通路增益; Δ为流图的特征式
????? ??????????? kji
ji jii i
LLLLLL
,
''1
Δk是不接触第 k条前向通路的特征式余因子
为所有不同回路增益之和,?
i i
L
为每两个互不接触回路增益之和?
ji ji
LL
,
''
例,利用梅逊公式计算图中的系统函数
有两条前向通路:
01 aT ?
112 ?? zaT
一个回路,其回路增益为 1
1 ?zb
111 ???? zb 1
1 ??
12 ??
则系统函数
1
1
1
10
1
)( ?
?
?
??
zb
zaazH
信号流图的转置定理:
对于单个输入, 单个输出的系统, 通过反转网络
中的全部支路的方向, 并且将其输入和输出互换, 得
出的流图具有与原始流图相同的系统函数 。
信号流图转置的作用:
①转变运算结构;
②验证计算流图的系统函数的正确与否。
运算结构对滤波器的实现很重要,尤其对于一
些定点运算的处理机,结构的不同将会影响系统的
精度、误差、稳定性、经济性以及运算速度等许多
重要的性能。对于无限长单位冲激响应( I I R)数
字滤波器与 FIR数字滤波器,它们在结构上各有自己
不同的特点,因此我们在下面将对它们分别加以讨
论。
??
??
????
N
i
i
N
i
i inybinxany
10
)()()(
二,IIR数字滤波器的结构
IIR数字滤波器的结构特点:存在反馈
环路,递归型结构。
同一系统函数,有各种不同的结构形
式。其主要结构有:
(1) 直接型
直接由 IIR DF 的差分方程所得的网络
结构。
)()()( 21 zHzHzH ?
? ? ? ?? ?zX zWzazH N
i
i
i ?? ?
?
?
0
1 ? ?
? ?
? ?zW
zY
zb
zH
i
N
i
i
?
?
?
?
?
?
1
2
1
1
? ? ? ??
?
??
N
i
i inxanw
0
? ? ? ? ? ??
?
???
N
i
i inybnwny
1
可以看到 )(
1
zH 实现了系统的零
点,)(
2
zH 实现了系统的极点。 H ( z )
由这两部分级联构成。
图二 IIR数字滤波器的网络结构
上述结构缺点:
①需要 2N个延迟器( z-1),太多。
②系数 ai,bi对滤波器性能的控制不直接,对
极、零点的控制难,一个 ai,bi的改变会影响系统
的零点或极点分布。
③对字长变化敏感(对 ai,bi的准确度要求严
格)。
④易不稳定,阶数高时,上述影响更大。
( 2)直接 Ⅱ 型
上面直接型结构中的两部分可分别看作是两个
独立的网络 (H1(z)和 H2(z)),两部分串接构成总的系
统函数:
由系统函数的不变性(系统是线性的),得
)()()( 21 zHzHzH ?
)()()( `12 zHzHzH ?
两条延时链中对应的延时单元内容完全相同,可合并, 得,
直接 II型优缺点:
优点:延迟线减少一半,为 N个,可节省寄存
器或存储单元。
缺点:同直接型。
通常在实际中很少采用上述两种结构实现高
阶系统,而是把高阶变成一系列不同组合的低阶
系统(一、二阶)来实现。
( 3) 级联型 ( 串联 )
一个 N 阶系统函数可用它的零, 极点表示, 即把
它的分子, 分母都表达为因子形式
由于系数, 都是实数, 极, 零点为实根或共
轭复根, 所以有
)1(
)1(
1
)(
1
1
1
1
1
0
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
zd
zc
A
zb
za
zH
i
N
i
i
N
i
N
i
i
i
N
i
i
i
)1)(1()1(
)1)(1()1(
)(
1*1
1
1
1
1*1
1
1
1
21
21
??
?
?
?
??
?
?
?
???
???
?
??
??
zqzqzp
zhzhzg
AzH
ii
N
i
i
N
i
ii
M
i
i
M
i
ia ib
,—— 实根
,—— 复根

将共轭因子合并为实系数二阶因子, 单实根因子看作二阶
因子的一个特例, 则
,—— 为实系数 。
用若干二阶网络级联构成滤波器,二阶子网络称为二阶节
,可用正准型结构实现。
ig ip
ih iq
NMM
NNN
??
??
21
21
2
2
2
2
1
1
2
2
1
1
1 1
1)(
??
??
? ??
??? ?
zbzb
zazaAzH
ii
ii
M
i
)(
1
zHA i
M
i
?
?
?
ija ijb
)(1 zH )(zH M
级联型结构的优缺点:
优点:
①简化实现,用一个二阶节,通过变换系数就
可实现整个系统;
②极、零点可单独控制、调整,调整, 可
单独调整第 对零点,调整, 可单独调整第
对极点;
③各二阶节零、极点的搭配可互换位置,优化
组合以减小运算误差;
④可流水线操作。
缺点:
二阶节电平难控制,电平大易导致溢出,电平小
则使信噪比减小。
ia1 ia2
i ib1 ib2 i
( 4)并联型
将系统函数展开成部分分式之和, 可用并联方式
构成滤波器:
将上式中的共轭复根成对地合并为二阶实系数的部
分分式,
上式表明, 可用 L个一阶网络, M个二阶网络以及
一个常数 并联组成滤波器 H( z), 结构如下图:
)1(
1
)(
1
1
0
1
1
?
??
?
?
?
?
??
?
? ?
?
?
zd
A
A
zb
za
zH
i
i
N
ii
i
N
i
i
i
N
i
2
2
1
1
1
10
1
1
1
0 1)1()( ??
?
?
?
? ??
??
??? ?? zbzb
zaa
zp
AAzH
ii
ii
M
ii
i
L
i
0A
特点:
①系统实现简单,只需一个二阶节,系统通过
改变输入系数即可完成;
②极点位置可单独调整;
③运算速度快(可并行进行);
④各二阶网络的误差互不影响,总的误差小,
对字长要求低。
缺点:
不能直接调整零点,因多个二阶节的零点
并不是整个系统函数的零点,当需要准确的传
输零点时,级联型最合适。
三,FIR DF网络结构形式
FIR DF 特点:
主要是非递归结构, 无反馈, 但在频率采样结构
等某些结构中也包含有反馈的递归部分 。
它的系统函数和差分方程一般有如下形式:
? ?
?
?
?
?
?
?
?
?
????
?
1
0
1
0
1
0
)()()()()(
)()(
N
i
N
i
N
n
n
ixinhinxihny
znhzH
基本的结构形式有下几种:
( 1)直接型(卷积型、横截型)
卷积型:差分方程是信号的卷积形式;
横截型:差分方程是一条输入 x(n)延时链的横向
结构。
直接由差分方程可画出对应的网络结构,

直接型的转置,

( 2) 级联型 ( 串联型 )
当需要控制滤波器的传输零点时, 可将系统函数分解
为二阶实系数因子的形式:
于是可用二阶节级联构成, 每一个二阶节控制一对零点 。
缺点:
① 所需要的系数 a比直接型的 h(n)多;
② 乘法运算多于直接型 。
)()()( 22110
1
1
0
??
?
?
?
? ???? ?? zazaaznhzH
iii
M
i
N
n
n

( 3) 线性相位型
FIR的重要特点是可设计成具有严格线性相位的滤
波器, 此时 满足偶对称或奇对称条件 。
偶对称时,
N为偶数,
N为奇数,
)(nh
)(nh
][)()( )1(
1
2
0
nNn
N
n
ZZnhzH ????
?
?
?? ?
2
112
1
0
)1(
2
1
])[()(
?
?
?
?
?
??? ?
?
?
?
?
? ?
??? ?
N
N
n
nNn zNhzznhzH
由上两式,可得到线性相位 FIR滤波器的结构,如图。
优点:
线相相位型结构的乘法次数减为 ( N偶数)
( N奇数)
(横截型结构乘法次数,N次 )
2
N
2
1?N
图 N为偶数的线性相位 FIR滤波器结构
图 N为奇数的线性相位 FIR滤波器结构
( 4) 频率采样型
第二章讨论了有限长序列可以进行频域采样 。
现 是长为 的序列, 因此也可对系统函数 H(z)
在单位圆上作 等分采样, 这个采样值也就是 的离
散付里叶变换值 H(k)。
根据上一章的讨论, 用频率采样表达 z函数的内插
公式为:
)(nh N
N )(nh
)]([)()( nhD F TzHkH k
Nwz
?? ??
?
?
?
?
?
???
?
?? ??
?
?
?
?
??
?
1
0
1
0
1 )()(
1
1
)(1)1()( N
k
kc
N
k
k
N
N zHzH
NzW
kH
N
zzH
H(z)由两部分级联而成,
第一部分 ( 部分 )
这是一个由 节延时器组成的梳状滤波器, 它在单位圆上
有 个等分的零点:
其频响为
FIR
NC zzH ??? 1)(
N
N
1,0,
01
2
???
?? ?
Niez
z
ij
i
N
N ?
?
?? jNjC eeH ??? 1)(
)
2
s i n (2)( ?? NeH jC ?
梳状滤波器频响
第二部分 ( IIR部分 ) 是一组并联的一阶网络:
此一阶网络在单位圆上有一个极点:
该网络在 处的频响为, 是一个谐振频率
为 的谐振器 。 这些并联谐振器的极点正好各自抵
消一个梳状滤波器的零点, 从而使这个频率点的响应
等于 。
两部分级联后,就得到频率采样型的总结构,
11
)(
)(
???
?
zW
kH
zH
k
N
k
kjk
NK
NeWz
?2
?? ?
kN?? 2? ?
kN?2
)(kH
图 频率采样型结构
这一结构的最大特点是它的系数 H(k)直接就是滤波
器在 处的响应, 因此, 控制滤波器的响应很直
接 。
两个主要的缺点:
① 所有的系数 和 都是复数, 计算复杂

② 所有谐振器的极点都在单位圆上, 考虑到系数量
化的影响, 有些极点实际上不能与梳状滤波器的零点
相抵消, 使系统的稳定性变差 。
kN?? 2?
kNW? )(kH
为了克服这两个缺点,作两点修正:
1)将所有零点和极点移到半径为 的圆上,略小
于 1,同时频率采样点也移到该圆上,以解决系统的
稳定性。这时
rr
?
?
?
??
?
?
??
1
0
11
)(1
)1()(
N
k
k
N
NN
zrW
kH
N
zrzH
2)共轭根合并,将一对复数一阶子网络合并
成一个实系数的二阶子网络。这些共轭根在圆
周上是对称点即
同样,h(m)因是实数,其 DFT 也是圆周共轭
对称的,
*)( )( kkkN
N WWW
??? ??
)()( * kHkNH ??
因此可将第 k及第 N-k个谐振器合并为一个二阶网络
其中
1)(1 1
)(
1
)(
)( ?????
?
?
?
?
?
zrw
kNH
zrw
kH
zH kN
N
k
N
k
1*
*
1 )(1
)(
1
)(
???? ???? zrw
kH
zrw
kH
k
N
k
N
2221
1
10
)c o s (21 ??
?
??
?
?
zrkrz
z
N
kk
?
??
? ?
? ?kNk
k
wkHr
kH
)(Re2
)(Re2
1
0
??
?
?
?
这个二端网络是一个有限 Q值的谐振器, 谐振频率
为 。
kNw k ?2?
10 1
)0()(
??? rz
HzH
1
2
1
)()(
2 ??
?
rz
HzH N
N
?
?
?
?
?
?
?
?
???? ?
?
?
?
1
1
0
2
2
)()()(
1
)1()(
N
N
k
k
NN zHzHzH
N
zrzH
rz ??
除了以上共轭极点外,还有实数极点,分两种情况:
当 N为偶数时,有二个实数极点,对应 H(0)
和 H(N/2),有二个一阶网络:
所以有
当 为奇数时,只有一个实数极点,对应 H(0)
,有一个一阶网络:
所以有
N rz?
10 1
)0()(
??? rz
HzH
?
?
?
?
?
?
?
?
??? ?
?
?
?
2
1
1
0 )()(
1
)1()(
N
k
k
NN zHzH
N
zrzH
改进后的 频率采样型结构如下图
频率采样型特点:
1.选频性好,适于窄带滤波,大部分 H(k)为 0,只有
较少的二阶子网络;
2.不同的 FIR滤波器,若长度相同,可通过改变系数
用同一个网络实现;
3,复用性好。
缺点,结构复杂,采用的存贮器多。
说明:
? 频率采样型结构,适合于任何 FIR 系
统函数;
? 频率采样法设计得到的系统函数,可
以用频率采样型结构实现,也可以用横
截型、级联型或 FFT 实现。
( 5) FFT快速算法
))(()(
)()()(
)()()()()(
1
0
kYIFFTny
kHkXkY
inxihnhnxny
N
i
?
?
???? ?
?
?
§ 5.2 量化与量化误差
① 对系统中各系数的量化误差(受计算机中存贮器的字长
影响)
②对输入模拟信号的量化误差(受 A/D的精度或位数的影
响)
③运算过程误差,如溢出,舍入及误差累积等(受计算机
的精度影响)
有限字长的二进制数表示数字系统的误差源:
5,2,1 二进制数的表示
( 1)定点表示
? 整个运算中,小数点在数码中的位置固定不变,
称为定点制;
? 定点制总是把数限制在 ± 1之间;
? 最高位为符号位,0为正,1为负,小数点紧跟在
符号位后;
? 数的本身只有小数部分,称为, 尾数, ;
b???? ?210 ?
?定点数作加减法时结果可能会超出 ± 1,称为
,溢出, ;
?乘法运算不溢出,但字长要增加一倍。
为保证字长不变,乘法后,一般要对增加
的尾数作截尾或舍入处理,带来误差。另外一
种定点数的表示是总把数看成整数。
缺点:动态范围小,有溢出。
定点数的表示分为三种 ( 原码, 反码, 补码 ),
设有一个 ( b+1) 位码定点数,β0β1β2┄ βb,则
① 原码表示为
例,1.111→ -0.875,0.010→ 0.25
?
?
???
b
i
i
ix
1
2)1( 0 ??
② 反码表示:(正数同原码,负数则将原码中
的尾数按位求反)
例:
正数表示,0.101
其反码为,1.010
?
?
?? ????
b
i
i
i
bx
1
0 2)21( ??
6 2 5.0??x
③ 补码表示(正数同原码,负数则将原码中的尾
数求反加 1)
例:
?
?
????
b
i
i
ix
1
0 2??
75.0??x
正数表示,0.110
取反,1.001
的补码,1.010x
补码加法运算规律:
正负数可直接相加,符号位同样参加运算,
如符号位发生进位,进位的 1 丢掉。
( 2) 浮点表示
尾数 指数 阶数
浮点制运算,
相加 对阶
相加
归一化,并作尾数处理
相乘, 尾数相乘,阶码相加,再作截尾或舍入 。
1
2
12 ????? MMx c
优点, 动态范围大,一般不溢出,
缺点, 相乘、相加,都要对尾数处理作量化处理。
一般,浮点数都用较长的字长,精度较高,所
以我们讨论误差影响主要针对定点制。
5.2.2 定点制的量化误差
定点制中的乘法,运算完毕后会使字长增加,
例如原来是 b位字长,运算后增长到 b1位,需
对尾数作量化处理使 b1位字长降低到 b位。
量化处理方式:
截尾:保留 b位,抛弃余下的尾数;
舍入:按最接近的值取 b位码。
两种处理方式产生的误差不同,另外,
码制不同,误差也不同。
1、截尾处理:
1)正数(三种码形式相同)
一个 b1位的正数 为:
用 [·]T表示截尾处理,则
?
?
??
1
1
2
b
i
i
ix ?
?
?
??
b
i
i
iTx
1
2][ ?
x
截尾误差
可见, ET≤0,βi全为 1时, ET有最大值,
,量化宽度, 或, 量化阶, q=2-b,代表 b位字长可表
示的最小数 。
一般 2-b1<<2-b,因此正数的截尾误差为
-q≤ET≤0
?
??
????? 1
1
2][
b
bi
i
ixxE TT ?
)22(2 1
1
1 bbb
bi
T
iE ??
??
?????? ?
2)负数
负数的三种码表示方式不同,所以误差也不同。
原码( β0=1):
0≤ET≤q
?
?
??? 1
1
2
b
i
i
i
x ? ?
?
??? b
i
i
i1
2
T
[ x ] ?
? ? ?
??
????
1
1
2
b
bi
i
iTT xxE ?
补码 ( )
因 所以
10 ??
?
?
????
1
1
21
b
i
i
ix ?
? ?
? ?
?
? ?
??
?
?
??
???
b
i
b
i
i
i
i
iT
b
i
i
iT
E
x
1 1
1
1
22
21
??
?
,1 bb ? 0??? TEq
反码( )
( 与原码的相同)
? ?
? ? )22(2
221
221
1
1
1
1
1
1
1
?
?
?
??
???
?
??
?
??
??????
????
????
b
bi
bbi
iTT
b
i
bi
iT
b
i
bi
i
xxE
x
x
?
?
?
10 ??
qE T ??0 0?TE
图 截尾量化处理的非线性特性
2q?
? ?Rx
补码的截尾误差均是负值,原码、反码的截尾误差
取决于数的正负,正数时为负,负数时为正。
2.舍入处理
通过 b+1位上加 1后作截尾处理实现。就是通常的
四舍五入法,按最接近的数取量化,所以不论正数、
负数,还是原码、补码、反码,误差总是在 之间,
以 表示对 x作舍入处理。舍入处理的误差比截尾
处理的误差小,所以对信号进行量化时多用舍入处
理。
5.2.3 A/D变换的量化效应
A/D变换器分为两部分:
采样:时间离散, 幅度连续;
A/D:数字编码, 对采样序列作舍入或截尾处理
,得有限字长数字信号 。
本节讨论这一过程中的量化效应 。
)(? nx
对一个采样数据 作截尾和舍入处理,则
截尾量化误差:
舍入量化误差:
上两式给出了量化误差的范围,要精确知道误
差的大小很困难。一般,我们总是通过分析量化噪
声的统计特性来描述量化误差。可以用一统计模型
来表示 A/D的量化过程。
)(nx
b
T
bi
i
iT
qneq
ne
?
?
??
?
????
?? ?
2,0)(
2)(
1
?
2
)(
2
qneq
R ???
图 A/D变换器模型
其中 e(n)就是量化误差, 对其统计特性作如下假定,:
① e(n)是平稳随机序列;
② e(n)与信号 x(n)不相关;
③ e(n)任意两个值之间不相关, 即为白噪声;
④ e(n)具有均匀等概率分布 。
由上述假定知, 量化误差是一个与信号序列完全
不相关的白噪声序列, 称为量化噪声 ( 是一个加性白
噪声 ) 。
图 e(n)的均匀等概率分布
误差 的均值和方差:
截尾量化噪声:
有直流分量, 会影响信号的频谱结构 。
)(ne
12
)()(
2
1
)(
2
22
0
q
deepme
q
e d e
q
deeepm
ee
qe
???
????
?
??
?
??
?
?
??
?
舍入量化噪声:
可见,量化噪声的方差与 A/D变换的字长直接有
关,字长越长,量化噪声越小。
12
0
2
2 q
m
e
e
?
?
?
定义量化信噪比:
用对数表示:
? 字长每增加 1 位,量化信噪比增加 6个分贝;
? 信号能量越大,量化信噪比越高。
注:因信号本身有一定的信噪比,单纯提高量化信噪
比无意义。
22
12
2
2
2
)212(2 xb
q
x
e
x ??
?
? ???
? ?
)3l g (10)1(02.6
)212(lg10)l g (10
2
22
2
2
x
x
b
e
x
b
S N R
?
?
?
?
???
???
例:已知在 -1至 1之间均匀分布,求 b=8,b=12位时
A/D的 SNR。
因均匀分布,所以有:
均值:
方差:
当 b=8 位,则 SNR=54dB,当 b=12 位,则
SNR=78dB,
? ? 0)( ?nxE
3
11
1
2
2
1 ?? ?
?
dxxzx?
5.2.4 量化噪声通过线性系统
为了单独分析量化噪声通过系统后的影响, 将系
统近似看作是完全理想的 ( 即具有无限精度的线性系
统 ) 。 在输入端线性相加的噪声, 在系统的输出端也
是线性相加的 。
系统的输出
)()()()(
)())()(()()(?)(?
nhnenhnx
nhnenxnhnxny
????
?????
输出噪声为
如 为舍入噪声,则输出噪声的方差为:
)()()( nhnene f ??
? ?
? ?? ?
? ?
?
?
?
?
?
?
?
?
???
??
?
??
? ????
0 0
0 0
22
)()()()(
)()()()()(
m l
m l
ff
lnemneElhmh
lnelhmnemhEneE?
)(ne
由于 是白色的, 各变量之间互不相关, 即
代入上式, 得
由 Parseval定理,
)(ne
? ? 2)()()( elmlnemneE ?? ????
? ? ?
?
?
?
?
?
?
???
0 0 0
2222 )()()()(
l m m
eef mhlmlhmh ????
z
dzzHzH
j
mh
m
c
e
e )()(2)(
1
0
2
22 ?
?
?
? ?? ???
H(z)全部极点在单位圆内,表示沿单位圆逆时针方
向的圆周积分。由留数定理:
如 为截尾噪声,则输出噪声中还有一直流分量
?c
)(ne
)()()()( 0
00
j
e
m
e
m
f eHmmhmmnemhEm ??????
?
??
? ?? ?? ?
?
?
?
?
?
?
?
?
?
?
?
? k
k
ef zz
zHzH
s,
)()(
Re
1
22 ??
例 3:一个 8位 A/D变换器 ( ), 其输出 作
为 IIR滤波器的输入, 求滤波器输出端的量化噪声功率,
已知 IIR滤波器的系统函数为:
解:由于 A/D的量化效应, 滤波器输入端的噪声功
率为:
7?b
9 9 9.0
)(
?
?
z
zzH
3
2
12
2
12
16142
2
??
???
q
e?
)(? nx
滤波器的输出噪声功率为:
其积分值等于单位圆内所有极点留数的和。单位
圆内有一个极点 z=0.999,所以
? ??? ?
c
e
f z
dz
zzj )999.0)(999.0(
1
2 1
2
2
?
?
?
3
2
16
999.0
1
22
105444.2
999.01
1
3
2
999.0
1
999.0
1
?
?
??
?
?
?
?
?
ef
??
§ 5.3 有限字长运算对数字滤波器的影响
DF的实现, 涉及到两种运算:相乘, 求和 。
定点制运算中, 每一次乘法运算之后都要作一
次舍入 ( 截尾 ) 处理, 因此引入了非线性, 采用统
计分析的方法, 将舍入误差作为独立噪声 e(n)迭加在
信号上, 因而仍可用线性流图表示定点相乘 。
定点相乘运算统计分析的流图表示
对舍入噪声 e(n)作如下的假设:
1.e(n) 为平稳随机噪声序列;
2,e(n) 与输入序列 x(n) 不相关,各噪声之间也
互不相关。
3,e(n) 为白色噪声;
4.在量化间隔上均匀分布(即每个噪声都是均
匀等概率分布)。
有了这些条件,整个系统就可作为线性系统
处理。每一个噪声可用第一章所讲的线性离散
系统的理论求出其输出噪声,所有输出噪声经
线性迭加得到总的噪声输出。
1,IIR 的有限字长效应
以一阶 IIR滤波器为例, 其输入与输出关系可用差
分方程表示为:
乘积项将引入一个舍入噪声, 如图
上述一阶系统的单位脉冲响应为
系统函数为
由于 是迭加在输入端的, 故由 造成的输
出误差为:
)()1()( nxnayny ??? 1,0 ?? an
)()( nuanh n?
az
zzH
?
?)(
)(ne )(ne
)(*)()(*)( nuanenhnee nf ??
图 一阶 IIR滤波器的舍入噪声
1?
输出噪声方差

由上两式均可求得
可见字长 越大,输出噪声越小,同样的方法可
分析其它高阶 DF的输出噪声。
? ?
?
?
?
?
??
0 0
22222 )(
m m
m
eef amh ???
?
??
c
e
f z
dz
zHzH
j
)()(
2
1
2
2
?
?
?
)1(12
2
)1(121 2
2
2
2
2
2
2
aa
q
a
b
e
f ??????
??
?
b
例:一个二阶 IIR低通数字滤波器, 系统函数为
采用定点制算法, 尾数作舍入处理, 分别计算其
直接型, 级联型, 并联型三种结构的舍入误差 。
解,① 直接型
)8.01)(9.01(
04.0
)(
11 ?? ??
?
zz
zH
)(
04.0
72.07.11
04.0)(
21 zBzz
zH ?
??
?
??
直接型结构流图如图
)(0 ne
)(nx )()( neny
f?
)(2 ne
)(1 ne
1?z
1?z
04.0
7.1
72.0?
图中,, 分别为系数 0.04,1.7
,-0.72相乘后引入的舍入噪声 。 采用线性迭加的
方法, 从图上可看出输出噪声 是这三个舍入
噪声通过网络 形成的, 如图 b,因

是 H0(z)的单位脉冲响应
)(0 ne )(1 ne )(2 ne
)(
1)(
0 zBzH ?
)(*)]()()([)( 0210 nhnenenene f ???
)(0 nh
)(nef
输出噪声的方差为:
将 和 B(z)代入,利用留数定理得:
12
22 q
e ??
22 4.22 q
f ??
? ??? cef z
dz
zBzBj )()(
1
2
13
1
22
?
??
② 级联型
将 H(z)分解
结构流图为
图 IIR级联型的舍入噪声分析
)(
1
)(
04.0
8.01
1
9.01
04.0)(
21
11 zBzBzzzH ?????? ??
)(0 ne
)(nx )()( neny f?
)(2 ne)(1 ne
1?z 1?z
9.0 8.0
04.0
由图中可见, 噪声, 通过 网络,
噪声 只通过网络,

)(0 ne )(1 ne )(1 zH
)()(
1)(
21
1 zBzBzH ?
)(2 ne )(2 zH
)(
1)(
2
2 zBzH ?
)(*)()(*)}()({)( 22110 nhnenhnenene f ???
)(1 nh )(2 nh和 分别是 H1(z)和 H2(z)的单位脉冲响应,
因此:

代入,得:
(思考:如果将 H1(z)和 H2(z)次序颠倒,结果会怎
样)
?
?
?
??
?
?
c
e
c
e
f
z
dz
zBzBj
z
dz
zBzBzBzBj
)()(
1
2
)()()()(
1
2
2
1
22
2
1
2
1
121
2
2
?
?
?
?
?
12,8.01)(,9.01)(
2
21
2
1
1
qzzBzzB
e ?????
?? ?
22 2.15 q
f ??
③ 并联型
将 H(z)分解为部分分式
其结构如图:
0.36
0.9
-0.32
0.8
图 IIR并联型的舍入噪声分析
)(
32.0
)(
36.0
8.01
32.0
9.01
36.0)(
21
11 zBzBzzzH
???
?
??
?? ??
)(0 ne
)(nx )()( neny
f?
)(2 ne
)(1 ne
1?z
1?z
)(3 ne
并联型结构有 4个系数, 有 4个舍入噪声, 其中
只通过 网络,
通过 网络。
输出噪声方差为:
代入 B1(z)和 B2(z)及 的值, 得:
?? ?? ?? cecef zdzzBzBjzdzzBzBj )()( 122)()( 122 1
22
2
1
11
2
2
?
?
?
??
2e?
22 34.1 q
f ??
)]()([ 10 nene ? )(1 1 zB
)]()([ 32 nene ? )(1 2 ZB
比较三种结构的误差大小,可知
直接型 > 级联型 > 并联型
原因:
l直接型结构的所有舍入误差都经过全部网络的反馈
环节, 反馈过程中误差积累, 输出误差很大 。
l级联型结构, 每个舍入误差只通过其后面的反馈环
节, 而不通过它前面的反馈环节, 误差小于直接型 。
l并联型,每个并联网络的舍入误差只通过本身的
反馈环节, 与其它并联网络无关, 积累作用最小, 误
差最小 。
该结论对 IIR DF有普遍意义。
因此,从有效字长效应看,直接型( Ⅰ, Ⅱ 型)结
构最差,运算误差最大,高阶时避免采用。级联型结
构较好。并联型结构最好,运算误差最小。
结论,IIR滤波器的有限字长效应与它的结构有关。
2,FIR的有限字长效应
IIR的分析方法同样适用于 FIR滤波器, FIR滤波器
无反馈环节 ( 频率采样型结构除外 ), 不会造成舍入
误差的积累, 舍入误差的影响比同阶 IIR滤波器小, 不
会产生非线性振荡 。
以横截型结构为例分析 FIR的有限字长效应 。
① 舍入噪声
N-1 阶 FIR的系统函数为:
无限精度下,直接型结构的差分方程为:
有限精度运算时,
?
?
?
??
1
0
)()(
N
m
mzmhzH
?
?
?
??
1
0
)()()(
N
m
mnxmhny
? ??
?
?
????
1
0
)()()()()(?
N
m
Rf mnxmhnenyny
每一次相乘后产生一个舍入噪声

输出噪声为:
如图 。
? ? )()()()()( nemnxmhmnxmh mR ????
? ?
?
?
?
?
????
1
0
1
0
)()()()()(
N
m
N
m
mf nemnxmhneny
?
?
?
?
1
0
)()(
N
m
mf nene
图中可见,所有舍入噪声都直接加在输出端,
因此输出噪声是这些噪声的简单和。
于是,
输出噪声方差与字长有关,与阶数有关,N
越高,运算误差越大,或者,在运算精度相同的
情况下,阶数越高的滤波器需要的字长越长。
12
2
22 NqN
ef ?? ??
例,FIR滤波器, N=10,b=17时
N=1024时,
因此, 滤波器输出中, 小数点后只有 4位数字是有效
的 。
)1 0 3(1085.41234210
12
11
2
2 dbNq
f ???
???? ??
)83(1097.412342102412 9
22
dbNqf ??????? ??
-410*0, 7 0 5?f?
② 动态范围:
定点运算时,动态范围的限制,常导致 FIR的
输出结果发生溢出。利用比例因子,压缩信号的
动态范围,可避免溢出。
FIR输出:
?
?
?
?
?
?
??
??
1
0
m a x
1
0
)()(
)()()(
N
m
N
m
mhxny
mnxmhny
定点数不产生溢出的条件:
为使结果不溢出, 对 采用标度因子 A,使
由此确定 A。
1)( ?ny
)(nx
?
?
?
?
?
?
?
??
1
0
m a x
1
0
m a x
)(
1
1)(
N
m
N
m
mhx
A
mhAx
§ 5.5 极限环振荡
在 IIR滤波器中由于存在反馈环, 舍入处理在一
定条件下引起非线性振荡, 如零输入极限环振荡 。
掌握:概念, 产生的原因, 克服方法 。
一, IIR DF零输入极限环振荡
量化处理是非线性的, 在 DF中由于运算过程
中的尾数处理, 使系统引入了非线性环节, 数字滤
波器变成了非线性系统 。 对于非线性系统, 当系统
存在反馈时, 在一定条件下会产生振荡, 数字滤波
器也一样 。
IIR滤波器是一个反馈系统,在无限精度情况
下,如果它的所有极点都在单位圆内,这个系统
总是稳定的,当输入信号为零后,IIR 数字滤波
器的响应将逐步变为零。但同一滤波器,以有限
精度进行运算时,当输入信号为零时,由于舍入
引入的非线性作用,输出不会趋于零,而是停留
在某一数值上,或在一定数值间振荡,这种现象
为“零输入极限环振荡”。
11
1)(
??? azzH
例,设一阶 IIR DF的系统函数为:
无限精度运算时, 差分方程为:
在定点制中, 每次乘法运算后都必须对尾数作舍入处
理, 这时的非线性差分方程为:
( 有限精度 )
[.]R表示舍入运算, 上述运算过程的非线性流图 如图 。
)()1()( nxnayny ???
)()1()( nxnyany
R
??
?
?
??
? ?? ??
若输入为
字长 b=3,系数 a=0.100。
无限精度时,系统的极点为 z=a=0.5<1,在单位
圆内,系统稳定。
若输入变为零,输出也逐渐衰减到零,
但有限精度时,由于舍入处理,系统可能会进入死
区。
?
?
?
?
?
?
00
08/7
)(
n
n
nx
05.087)( ??? nny n
下面是非线性差分方程的运算结果,
n x( n)
0 0.111 0.000 0.0000 0.000 0.111(7/8)
1 0.000 0.111 0.0111 0.100 0.100(1/2)
2 0.000 0.100 0.0100 0.010 0.010(1/4)
3 0.000 0.010 0.0010 0.001 0.001(1/8)
4 0.000 0.001 0.0001 0.001 0.001(1/8)
……
)1(? ?nya Rnya )]1(?[ ?)1(? ?ny )(? ny
可见,输出停留在 y( n) =0.001上再也衰减不
下去了,如图( a),y( n) =0.001以下也称为“死
带”区域,如果系数 a=-0.5,为负数,则每乘一次 a
就改变一次符号,因此输出将是正负相间的,如图
( b),这时 y( n)在 ± 0.125之间作不衰减的振荡,
这种振荡现象就是“零输入极限环振荡”。
图 零输入极限环振荡
振荡产生的原因:
考察上述非线性差分方程的运算结果, 在最后一
行, 当 =0.001时, =0.0001,经舍入
处理后又进位为 =0.001,仍与 的
值相同, 因此输出保持不变 。 这可解释为, 只要满
足 时, 舍入处理使系数 a 失
效, 或者说相当于将 a 换成了一个绝对值为 1的等效系
数,, 这时
极点等效迁移到单位圆上, 系统失去稳定, 出现振荡

)1n(y?1 ) ]-(ny?[a R ??
)1(? ?nya)1(? ?ny
Rnya )]1(?[ ? )1(? ?ny
a?
aaa ?? 11
1)(
??? zzH
极限振荡幅度与字长的关系:
?极限环振荡的幅度与量化阶成正比;与极点位置和
滤波器阶数有关;
? 增加字长,可减小 极限环振荡。
高阶 IIR网络中,同样有这种极限环振荡现象,
但振荡的形式更复杂。不一一讨论。
2)1()1(
qnaynya
R
????
?
?
??
? ? ???
a
q
ny
?
???
?
1
2)1(
二,大信号极限环振荡(溢出振荡)
由于定点加法运算中的溢出, 使数字滤波器输出
产生的振荡, 叫溢出振荡 。 以定点补码为例 。
1) 补码加法器的输入输出关系
在 2的补码运算中, 二进制小数点左面的符号位
若为 1,就表示负数 。 如果两个正的定点数相加大于 1
,进位后符号变为 1,和数就变为负数, 因此, 2的补
码累加器的作用, 好象对真实总和作了一个非线性变
换, 且输出具有循环的特性, 如图 。
x1,x2两数相加,若真值为 x1+x2=x,而用补
码加法规律所得的值为 f( x),|x|<1,未溢出时,
f( x) =x,当发生溢出时,f( x)值具有循环的
特点,当 1=<x<2,x超过 1,f( x)变成负值,而
当 x小于 -1时,f( x)出现正值。
补码加法运算的一个重要特点:
只要最终结果不出现溢出,虽然
在运算过程中可能发生溢出,但由于
以上循环特性,仍将保证最终结果是
正确的。
克服溢出振荡:
1)限制滤波器系数的取值,可防止溢出振
荡,但这也限制了设计能力。
2)较好的解决方法是采用具有饱和溢出处
理的补码加法器,如图,当输入 时,把加
法结果限制在最大值 1,以消除溢出振荡。处理
时如检测到有溢出振荡,就把总和置于最大允许
值。
1x ?
x
)(xf
1
1
0
具有饱和溢出处理的
补码加法器输入输出特性
1?
极限环振荡的产生原因:
舍入误差
加法溢出
§ 5.5系数量化对系数滤波器的影响
下面讨论第三种量化效应 —— 系数的量化效应
。 由于滤波器的所有系数必须以有限长度的二进码
形式存放在存储器中, 所以必然对理想系数值取量
化, 造成实际系数存在误差, 使零, 极点位置发生
偏离, 影响滤波器性能 。 一个设计正确的滤波器,
在实现时, 由于系数量化, 可能会导致实际滤波器
的特性不符合要求, 严重时甚至使单位圆内的极点
偏离到单位圆外, 从而系统失去稳定性 。
系数量化对滤波器的影响与字长有关, 也与滤
波器的结构有关, 选择合适的结构可改善系数量化
的影响 。


dB
0 0, 2 0, 4 0, 6 0, 8 1
- 8 0
- 7 0
- 6 0
- 5 0
- 4 0
- 3 0
- 2 0
- 1 0
0
? /?
??/
量化前
量化后
(a) 系数量化前后的频率响应 (b) 系数量化前后的零极点分布
‘ o’量化前的零点,‘*’量化后的零点,
‘x’量化前的极点,‘+’量化后的极点
-1 - 0, 5 0 0, 5 1
-1
- 0, 8
- 0, 6
- 0, 4
- 0, 2
0
0, 2
0, 4
0, 6
0, 8
1
实部


五阶椭圆低通滤波器的量化效应
极点位置灵敏度
指每个极点位置对各系数偏差的敏感程度。
极点位置的变化将直接影响系统的稳定性。所以
极点位置灵敏度可以反映系数量化对滤波器稳定
性的影响。
设系数量化后的系统函数为:
量化后的系数
)(
)(
?1
?
)(?
1
1
zB
zA
zb
za
zH
N
i
i
i
N
i
i
i
?
?
?
?
?
?
?
?
?
iii
iii
bbb
aaa
???
???
?
?
分析量化偏差 造成的极点位置偏差。
设理想极点为,则
系数量化后,极点变为,位置偏差
是由 引起的。
Niz i,,2,1,??
??
?
?
?
? ????
N
i
i
N
i
i
i zzzbzB
1
1
1
)1(1)(
ii zz ?? iz?
ib?
ii ba ??,
对 的影响:
因每个极点都与 个 bi系数有关,
决定量化影响大小, 反映极点 zi 对系数 bk
变化的敏感程度 。 大, 对 的影响大;
小, 对 的影响小, 称之为极点位置灵敏度 。
ib?
iz?
N
Nibbbzz Nii,,1),,,,( 21 ?? ??
?
?
?
?
???
?
????
?
???
?
???? N
k
k
k
i
N
N
iii
i bb
zb
b
zb
b
zb
b
zz
1
2
2
1
1
?
k
i
b
z
?
?
k
i
b
z
?
?
kb? iz?
k
i
b
z
?
?
Kb?
iz?
Ni,,1 ??
下面由 B(Z)求灵敏度,
利用偏微分关系:

k
i
b
z
?
?
)(
)()(
k
i
zz
i
zz
k b
z
z
zB
b
zB
ii ?
?
?
?
?
?
?
??
izz
i
k
k
i
zzB
bzB
b
z
???
??
?
?
?
)(
)(
k
k
z
b
zB ???
?
? )(?

上式分母中每个因子 (zi-zk)是一个由极点 zk指向
当前极点 zi的矢量,整个分母是所有极点指向极点 zi的
矢量积,这些矢量越长,极点彼此间的距离越远,极
点位置灵敏度越低;矢量越短,极点位置灵敏度越高
。即极点位置灵敏度与极点间距离成反比 。
?
?
?
?
?
?
?
?
N
ik
k
ki
kN
i
k
i
zz
z
b
z
1
)(
?
?
?
? ???
?
? N
ik
k
k
N
i
zzz
z
zB
1
)(
)(

例 1,一个共轭极点在虚轴附近的滤波器如图 ( a)
一个共轭极点在实轴附近的滤波器如图 ( b)
两者比较, 前者极点位置灵敏度比后者小, 即
系数量化程度相同时, 前者造成的误差比后者小 。
图 极点位置灵敏度与极点间距离成反比
例 2 一个三对共轭极点的滤波器 H(z),用三种结构实现。
1)用直接型结构实现,极点分布如图 a,
2)用三个二阶网络级联的形式实现,极点分布如图 b,
3)用三个并联二阶网络实现,极点分布如图 b 。
直接型极点分布密,极点位置灵敏度高。
级联和并联型,极点分布稀,极点位置灵敏度下降。
)()()()( 321 zHzHzHzH ???
)(')(')(')( 321 zHzHzHzH ???
影响极点位置灵敏度的几个因素:
l 与零极点的分布状态有关;极点位置灵敏度大
小与极点间距离成反比;
l 与滤波器结构有关。高阶直接型极点位置灵敏
度高;并联或级联型,系数量化误差的影响小;
l 高阶滤波器避免用直接型,尽量分解为低阶网
络的级联或并联。
系数量化的仿真
function beq=a2dR(d,b)
% beq=a2dR(d,b)将十进制数利用舍入法得到 b
位的二进制数
%然后将该二进制数再转换为十进制数
m=1; d1=abs(d);
while fix(d1)>0
d1=abs(d)/(2^m);
m=m+1;
end
beq=fix(d1*2^b+.5);
beq=sign(d).*beq.*2^(m-b-1);
http://jwc.seu.edu.cn/zq/signal/new/index.htm