数字信号处理第9章

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

第9章 数字信号处理的实现
aˆr ar ar
(9.1.5)
bˆr br br
(9.1.6)
实际的系统函数用 Hˆ ( z) 表示,公式为
M
bˆr z r
Hˆ ( z )
r0 N
(9.1.7)
1 aˆ r z r
r 1
显然,系数量化后的频率响应不同于原来设计的频率响应。
第9章 数字信号处理的实现
B=1; A=[1, -0.17, 0.965];%
b=4;
%量化2
Aq=quant(A, b);
%对系统函数分母系数向量A
进行b
p=roots(A)
%
pq=roots(Aq)
%
ap=abs(p)
%
a pq=abs(pq)
%
%以下为绘图部分省略
第9章 数字信号处理的实现
运行程序,得到量化后的系统函数 Hˆ ( z) 为
噪声提高输出信噪比是没有意义的。因此,应根据实际需
要,合理选择A/D变换器位数。
第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
就是量化后的数值。x可以是标量、向量和矩阵。将数取
整的方法有四舍五入取整、向上取整、向下取整、向零
取整,对应的MATLAB取整函数分别为 round(x)
ceil(x)、floor(x)、fix(x)。round最常用,对应的MATLAB
量化语句为xq=q*round(x/q)
第9章 数字信号处理的实现
因此系统中所有的乘法支路都和图915b一图915乘法支路及其量化模型图916中有两个乘法支路采用定点制时共引入两个噪声源即en直接输出噪声e图916考虑运算量化效应的一阶网络结构如果尾数处理采用定点舍入法则输出端噪声平均值为上式中e表示求统计平均值m分别表示两个噪声源的统计平均值这里mn互不相关求输出端噪声方差时可分别求其在输出端的方差再相加
信号功率有关,为增加输出信噪比,应在A/D变换器动态范
围中,尽量提高信号幅度。如果对输出端信噪比提出要求,
根据(9.1.3b)式可以估计对A/D变换器的位数要求。
第9章 数字信号处理的实现
设xa(t)服从标准正态分布N(0,
2 x
),A/D变换器的动
态范围为±1 V。 我们知道,对于正态分布,xa(t)的幅度落
第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章 数字信号处理的实现
量化误差产生的原因是用有限长的寄存器存储数字引 起的,因此也将这种误差引起的各种效应称为有限寄存器 长度效应。这些量化效应在数字信号处理技术实现中,表 现在以下几方面:A/DC中量化效应,数字网络中参数量化 效应,数字网络中运算量化效应,FFT中量化效应等。这些 量化效应在数字信号处理技术实现时,都是很重要的问题, 一直受到科技工作者的重视,并在理论上进行了很多研究。 随着科学技术的飞速发展,主要是数字计算机的发展,计 算机字长由8位、16位提高到32位;一些结合数字信号处理 特点发展起来的数字信号处理专用芯片近几年来发展尤其 迅速,不仅处理快速,字长达到32 bit;另外,高精度的 A/D变换器也已商品化。
1. 系数量化对系统频响特性的影响 数字网络或者数字滤波器的系统函数用下式表示:
M
br z r
H (z) r0 N 1 a r z r r 1
(9.1.4)
式中的系数br和ar必须用有限位二进制数进行量化,存 储在有限长的寄存器中,经过量化后的系数用 bˆr和aˆr 表示,量化误差用Δbr和Δar表示,那么
(9.1.4)式中,分母多项式A(z)有N个极点,用pk
(k=1, 2, …, N)表示,系数量化后的极点用 pˆ k (k=1, 2,
%缺省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为线性量化,其缺点是不利 于小信号。为了改善小信号量化信噪比,工程上常常采
H ˆ(z)
1
10.2000z 10.9333z 2
并求出H(z)和 Hˆ ( z) 的极点分别为
p 1 ,2 0 .0 8 5 0j0 .9 7 8 7
p ˆ1 ,20 .1 0 0 0j0 .9 6 0 9
显然,因为系数的量化,使极点位置发生变化,算出极点
的模为: |p1, 2|=0.9823, pˆ1,2 0.9661,说明量化后的极
入±3σx以外的概率很小,可以忽略。为充分利用其动态
范围,取
x
1V 3Hale Waihona Puke Baidu
,代入(9.1.3)式,得
S
6.02b1.29
N
如果要求S/N≥60 dB,由上式计算出b≥10;如果S/N≥
80 dB,则d≥13。增加A/D变换器的位数,会增加输出端信
噪比,但A/D变换器的成本也会随位数b增加而迅速增加;
另外,输入信号本身有一定的信噪比,过分追求减少量化
第9章 数字信号处理的实现
如果信号x(n)值量化后用Q[x(n)]表示,量化误差用 e(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愈长,量化噪声
例如,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变换器的功能原理图如图9.1.(a) 所示,图中 xˆ(n)
是量化编码后的输出,如果未量化的二进制编码用x(n)表示,
那么量化噪声为
e(n)x ˆ(n)x ,(n 因)此A/D变换器的
输出
xˆ为(n)
x ˆ(n)x(n)e(n)
(9.1.2)
考虑A/D变换器的量化效应,其统计模型如图9.1.2(b)所示。 这样,由于e(n)
第9章 数字信号处理的实现
图9.1.2 A/DC功能原理图及统计模型
【例 9.1.1】假设窄带滤波器的系统函数如下式:
H(z)10.1z7110.96z2 5
如果用b+1位二进制表示上式中的系数,b=4,采用舍入 法处理尾数,试分析系数量化误差对极点位置和频响特
解 求解本例的系数量化与绘图程序为ep911.m
第9章 数字信号处理的实现
%ep911.m: 例题9.1.1 系数量化与图9.1.3
第9章 数字信号处理的实现
因此,用MATLAB设计完成后,必须考虑实际系 统的有效字长,对设计结果进行量化仿真检验。当然, 实际系统的有效字长越长,实际实现的性能越逼近 MATLAB设计结果。好在MATLAB提供了定点运算方 真模块库(Fix Point Blockset), 有兴趣的读者请找
第9章 数字信号处理的实现
第9章 数字信号处理的实现
第9章 数字信号处理的实现
9.1 数字信号处理中的量化效应 9.2 数字信号处理技术的软件实现 9.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章 数字信号处理的实现
这样,随着计算字长的大大增加,量化误差大大减少 了,因此,对于处理精度要求不高、计算字长较长的一般 数字信号处理技术的实现,可以不考虑这些量化效应。但 是对于要求成本低,用硬件实现时,或者要求高精度的硬
如果信号值用b+1位二进制数表示(量化),其中一位 表示符号,b位表示小数部分,能表示的最小单位称为量化 阶(或量化步长),用q表示,q=2-b。对于超过b位的部分 进行尾数处理。尾数处理有两种方法:一种是舍入法,即 将尾数第b+1位按逢1进位,逢0不进位,b+1位以后的数略 去的原则处理;另一种是截尾法,即将尾数第b+1位以及以
点离单位圆稍远一些,会使带通滤波器的幅度特性的峰值 减小,中心频率有所移动。
第9章 数字信号处理的实现
程序自动画出H(z)和 Hˆ (z) 的幅频特性曲线分别
如图9.1.3中的实线和虚线所示。该例题说明由于系数 量化效应,使极点位置发生了变化,从而改变了原来 设计的频率响应特性。
第9章 数字信号处理的实现
第9章 数字信号处理的实现
假设A/D变换器输入信号xa(t)不含噪声,输出 xˆ(n)
中仅考虑量化噪声e(n),信号xa(t)平均功率用
2 x
表示,
e(n)的平均功率用
2 e
表示,输出信噪比用S/N表示,
S
2 x
N
2 e
信噪比通常用dB数表示:
S 10lgx2 dB
N
e2
(9.1.3a)
第9章 数字信号处理的实现
第9章 数字信号处理的实现
9.1.3
系统对输入信号进行处理时需要若干参数或者说系数, 这些系数都要存储在有限位数的寄存器中,因此存在系数 的量化效应。系数的量化误差直接影响系统函数的零、极 点位置,如果发生了偏移,会使系统的频率响应偏离理论 设计的频率响应,不满足实际需要。量化误差严重时,极 点移到单位圆上或者单位圆外,造成系统不稳定。
图9.1.3 量化前后系统幅频响应曲线
第9章 数字信号处理的实现
应当注意,数字滤波器的系数的大小有时差别 很大,如果用b位定点数表示时,以最大的系数确定 量化阶q,对所有系数统一量化,必然使较小的系数 相对量化误差很大,使滤波器性能远离设计指标要
第9章 数字信号处理的实现
2. 极点位置敏感度 下面分析系数量化误差对极零点位置的影响。如果 极零点位置改变了,严重时不仅IIR系统的频率响应会 发生变化,还会影响系统的稳定性。因此研究极点位置 的改变更加重要。为了表示系数量化对极点位置的影响, 引入极点位置灵敏度的概念,所谓极点灵敏度, 是指每 个极点对系数偏差的敏感程度。相应的还有零点位置灵 敏度,分析方法相同。下面讨论系数量化对极点位置的
系数量化效应直接和寄存器的长度有关,但也和系统 的结构有关,有的结构对系数的量化误差不敏感,有的却 很敏感。各种结构对系数量化误差的敏感度也是本节要研
第9章 数字信号处理的实现
MATLAB按二进制双精度格式表示数,表示一个数用8 字节(64位二进制数)。键入命令eps、realmin和realmax, 可以显示出MATLAB浮点制表示的量化阶q=2-52=2.2204× 10-16、可以表示的最大数和最小数分别为2.2251×10-308 和0.7977×10308。所以MATLAB的量化误差可以忽略不计, 用MATLAB设计的滤波器系数可以看成精确的理论值。工程 实际中要把用MATLAB设计的滤波器付诸实现,必须采用嵌 入式的DSP芯片(或专用数字硬件电路),DSP芯片(或专 用数字硬件电路)的字长一般为8、16、32 bit,采用定点或 浮点二进制表示数,并进行数值运算。
A/D变换器采用定点舍入法,e(n)的统计平均值me=0,
方差
2 e
1q2 12
122b 12

2 e
代入(9.1.3a)式,得到:
N S6.0b 21.0 7 91l0gx 2
(9.1.3b)
此式表明,A/D变换器的位数b愈多,信噪比愈高;每增加
一位,输出信噪比增加约6 dB。当然,输出信噪比也和输入
相关文档
最新文档