数字信号处理(第四版)第9章数字信号处理的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第9章 数字信号处理的实现
2. 极点位置敏感度 下面分析系数量化误差对极零点位置的影响。如果 极零点位置改变了,严重时不仅IIR系统的频率响应会 发 生变化,还会影响系统的稳定性。因此研究极点位置 的 改变更加重要。为了表示系数量化对极点位置的影响,引 入极点位置灵敏度的概念,所谓极点灵敏度, 是指每 个极 点对系数偏差的敏感程度。相应的还有零点位置灵 敏度 ,分析方法相同。下面讨论系数量化对极点位置的 影响 。
就是量化后的数值。x可以是标量、向量和矩阵。将数取
整的方法有四舍五入取整、向上取整、向下取整、向零
取整,对应的MATLAB取整函数分别为 round(x)、
ceil(x)、floor(x)、fix(x)。round最常用,对应的MATLAB
量化语句为xq=q*round(x/q)。
第9章 数字信号处理的实现
解 求解本例的系数量化与绘图程序为ep911.m。
第9章 数字信号处理的实现
%ep911.m: 例题9.1.1 系数量化与图9.1.3绘图程序 B=1; A=[1, -0.17, 0.965];%量化前系统函数系数向量
b=4; Aq=quant(A, b);
进行b位量化
%量化2进制位数 %对系统函数分母系数向量A
p=roots(A) pq=roots(Aq) ap=abs(p) a pq=abs(pq) %以下为绘图部分省略
%计算量化前的极点 %计算量化后的极点 %计算量化前极点的模 %计算量化后极点的模
第9章 数字信号处理的实现
运行程序,得到量化后的系统函数

并求出H(z)和
的极点分别为
显然,因为系数的量化,使极点位置发生变化,算出极点
的模为: |p1, 2|=0.9823,
,说明量化后的极
点离单位圆稍远一些,会使带通滤波器的幅度特性的峰值
减小,中心频率有所移动。
第9章 数字信号处理的实现
程序自动画出H(z)和Hˆ(z) 的幅频特性曲线分别
如图9.1.3中的实线和虚线所示。该例题说明由于系数 量化效应,使极点位置发生了变化,从而改变了原来 设计的频率响应特性。
第9章 数字信号处理的实现
如果信号x(n),
e(n)=Q[x(n)]-x(n) 一般x(n)是随机信号,那么e(n)也是随机的,经常将e(n)称 为量化噪声。为便于分析,一般假设e(n)是与x(n)不相关的 平稳随机序列,且是具有均匀分布特性的白噪声。设采用 定点补码制,截尾法和舍入法的量化噪声概率密度曲线分 别如图9.1.1(a)和(b)所示。这样截尾法量化误差的统计平均 值为-q/2,方差为q2/12;舍入法的统计平均值为0,方差 也为q2/12,这里q=2-b。很明显,字长b+1愈长,量化噪声 方差愈小。
第9章 数字信号处理的实现
量化误差产生的原因是用有限长的寄存器存储数字引 起的,因此也将这种误差引起的各种效应称为有限寄存器 长度效应。这些量化效应在数字信号处理技术实现中,表 现在以下几方面:A/DC中量化效应,数字网络中参数量化效 应,数字网络中运算量化效应,FFT中量化效应等。这些量 化效应在数字信号处理技术实现时,都是很重要的问题,一 直受到科技工作者的重视,并在理论上进行了很多研究。随 着科学技术的飞速发展,主要是数字计算机的发展,计 算 机字长由8位、16位提高到32位;一些结合数字信号处理特 点发展起来的数字信号处理专用芯片近几年来发展尤其 迅 速,不仅处理快速,字长达到32 bit;另外,高精度的 A/D 变换器也已商品化。
系数量化效应直接和寄存器的长度有关,但也和系统 的结构有关,有的结构对系数的量化误差不敏感,有的却 很敏感。各种结构对系数量化误差的敏感度也是本节要研 究的内容之一。
第9章 数字信号处理的实现
MATLAB按二进制双精度格式表示数,表示一个数用8 字节(64位二进制数)。键入命令eps、realmin和realmax,
第9章 数字信号处理的实现
图9.1.3 量化前后系统幅频响应曲 线
第9章 数字信号处理的实现
应当注意,数字滤波器的系数的大小有时差别 很大,如果用b位定点数表示时,以最大的系数确定 量化阶q,对所有系数统一量化,必然使较小的系数 相对量化误差很大,使滤波器性能远离设计指标要 求。所以工程实际中常常采用浮点制表示系数。
上式中, 的大小直接影响第i个系数偏差Δai对第k个极 点偏差Δpk的大小, 愈大, Δpk愈大, 愈小,Δpk
式的DSP芯片(或专用数字硬件电路),DSP芯片(或专用
数字硬件电路)的字长一般为8、16、32 bit,采用定点或浮
点二进制表示数,并进行数值运算。
第9章 数字信号处理的实现
因此,用MATLAB设计完成后,必须考虑实际系 统的有效字长,对设计结果进行量化仿真检验。当然, 实际系统的有效字长越长,实际实现的性能越逼近 MATLAB设计结果。好在MATLAB提供了定点运算 方真模块库(Fix Point Blockset), 有兴趣的读者请找 相关书籍学习。
第9章 数字信号处理的实现
输入最大幅度为±1 V的b位A/D变换器,根据舍入量
化模型(9.1.1)式,可以写出b位A/D变换器的MATLAB 量化函数quant:
function y=quant(x, b, V)
if nargin<3 V=max(abs(x)); end
%缺省V,则默认V等于x的最大值
ax=abs(x);
%去掉负号
q=V/(2^b-1);
%计算量化阶q
xq=q*round(ax/q); %对|x|舍入值量化
y=sign(x).*xq;
%加入负号,恢复带负号的量化
值y
第9章 数字信号处理的实现
该函数可以对带负号的数据x进行A/D变换,x可以 是标量、向量和矩阵。
应当注意,上述A/D为线性量化,其缺点是不利于 小信号。为了改善小信号量化信噪比,工程上常常采用 非线性量化。
第9章 数字信号处理的实现
1. 系数量化对系统频响特性的影响 数字网络或者数字滤波器的系统函数用下式表示:
(9.1.4)
式中的系数br和ar必须用有限位二进制数进行量化,存储 在有限长的寄存器中,经过量化后的系数用
表示,量化误差用Δbr和Δar表示,那么
第9章 数字信号处理的实现
实际的系统函数用
(9.1.4)式中,分母多项式A(z)有N个极点,用pk (k=1, 2, …, N)表示,系数量化后的极点用 (k=1, 2, 3, …, N)表示,那么
第9章 数字信号处理的实现
上式中极点偏差Δpk表示第k个极点的偏差,它应该和各个
系数偏差都有关,它和各系数偏差的关系用下式表示: (9.1.8 )
第9章 数字信号处理的实现
图9.1.1 量化噪声e(n)的概率密度曲 线
第9章 数字信号处理的实现
根据上述量化原理,建立量化的数学模型:
Q[x]=q round[x/q]
(9.1.1)
式中, round[x]表示对x四舍五入后取整,round[x/q]
表示x包含量化阶q的个数,所以Q[x]=q round[x/q]
第9章 数字信号处理的实现
第9章 数字信号处理的实现
1. 数字信号处理中的量化效应 2. 数字信号处理技术的软件实现 3. 数字信号处理的硬件实现简介
第9章 数字信号处理的实现
9.1 数字信号处理中的量化效应
9.1.1 量化及量化误差 数字信号处理技术实现时,信号序列值、运算结果及参
加运算的各个参数都必须用二进制的编码形式存储在有限长 的寄存器中,如果该编码长度长于寄存器的长度,需要进行 尾数处理;运算中,二进制乘法会使位数增多,也需要进行 尾数处理。尾数处理必然带来误差,例如,序列值0.8012用二 进制表示为(0.1100110101…)2,如用7位二进制表示,序列值 则为(0.110011)2, 其十进制为0.796 875,与原序列值的差值 为0.8012-0.796 875=0.004 325 ,该差值是因为用有限位二进 制数表示序列值形成的误差,称为量化误差。
图9.1.2 A/DC功能原理图及统计模型
第9章 数字信号处理的实现
假设A/D变换器输入信号xa(t)不含噪声,输出 中仅考虑量化噪声e(n),信号xa(t)平均功率用 表示, e(n)的平均功率用 表示,输出信噪比用S/N表示,
信噪比通常用dB数表示:
(9.1.3a)
第9章 数字信号处理的实现
第9章 数字信号处理的实现
这样,随着计算字长的大大增加,量化误差大大减少 了,因此,对于处理精度要求不高、计算字长较长的一般 数字信号处理技术的实现,可以不考虑这些量化效应。但 是对于要求成本低,用硬件实现时,或者要求高精度的硬 件实现时,这些量化效应问题亦然是重要问题。
如果信号值用b+1位二进制数表示(量化),其中一位 表示符号,b位表示小数部分,能表示的最小单位称为量化 阶(或量化步长),用q表示,q=2-b。对于超过b位的部分 进行尾数处理。尾数处理有两种方法:一种是舍入法,即 将尾数第b+1位按逢1进位,逢0不进位,b+1位以后的数略 去的原则处理;另一种是截尾法,即将尾数第b+1位以及以 后的数码略去。显然这两种处理方法的误差会不一样。
可以显示出MATLAB浮点制表示的量化阶q=2-52=2.2204× 10-
16、可以表示的最大数和最小数分别为2.2251×10-308

0.7977×10308。所以MATLAB的量化误差可以忽略不计,用
MATLAB设计的滤波器系数可以看成精确的理论值。工程实
际中要把用MATLAB设计的滤波器付诸实现,必须采用嵌入
A/D变换器的功能原理图如图9.1.(a) 所示,图中
是量化编码后的输出,如果未量化的二进制编码用x(n)表
示,那么量化噪声为
,因此A/D变换
器的输出

(9.1.2)
考虑A/D变换器的量化效应,其统计模型如图9.1.2(b)所示。 这样,由于e(n)的存在而降低了输出端的信噪比。
第9章 数字信号处理的实现
例如,x=0.8012,b=6,量化程序如下:
x=0.8012; b=6;
q=2^-b; xq=q*round(x/q) e=x-xq
%计算量化阶q %对x舍入值量化
%计算量化误差e
运行结果:
xq=0.796875, e=0.004325
第9章 数字信号处理的实现
9.1.2 A/D变换器中的量化效应
A/D变换器采用定点舍入法,e(n)的统计平均值me=0,方 差
将 代入(9.1.3a)式,得到: (9.1.3b)
此式表明,A/D变换器的位数b愈多,信噪比愈高;每增加一 位,输出信噪比增加约6 dB。当然,输出信噪比也和输入信 号功率有关,为增加输出信噪比,应在A/D变换器动态范围 中,尽量提高信号幅度。如果对输出端信噪比提出要求,根 据(9.1.3b)式可以估计对A/D变换器的位数要求。
第9章 数字信号处理的实现
设xa(t)服从标准正态分布N(0,
),A/D变换器的动
态范围为±1 V。 我们知道,对于正态分布,xa(t)的幅度落
入±3σx以外的概率很小,可以忽略。为充分利用其动态
范围,取
,代入(9.1.3)式,得
如果要求S/N≥60 dB,由上式计算出b≥10;如果S/N≥ 80 dB,则d≥13。增加A/D变换器的位数,会增加输出端信 噪比,但A/D变换器的成本也会随位数b增加而迅速增加; 另外,输入信号本身有一定的信噪比,过分追求减少量化 噪声提高输出信噪比是没有意义的。因此,应根据实际需 要,合理选择A/D变换器位数。
表示,公式为
(9.1.5) (9.1.6)
(9.1.7)
显然,系数量化后的频率响应不同于原来设计的频率响应。
第9章 数字信号处理的实现
【例 9.1.1】假设窄带滤波器的系统函数如下式:
如果用b+1位二进制表示上式中的系数,b=4,采用舍入 法处理尾数,试分析系数量化误差对极点位置和频响特 性的影响。
第9章 数字信号处理的实现
9.1.3 数字系统中的系数量化效应
系统对输入信号进行处理时需要若干参数或者说系数, 这些系数都要存储在有限位数的寄存器中,因此存在系数 的量化效应。系数的量化误差直接影响系统函数的零、极 点位置,如果发生了偏移,会使系统的频率响应偏离理论 设计的频率响应,不满足实际需要。量化误差严重时,极 点移到单位圆上或者单位圆外,造成系统不稳定。
相关文档
最新文档