SoCVista缩放噪声与舍入噪声Word文档格式.doc

上传人:b****3 文档编号:15404541 上传时间:2022-10-30 格式:DOC 页数:38 大小:8.46MB
下载 相关 举报
SoCVista缩放噪声与舍入噪声Word文档格式.doc_第1页
第1页 / 共38页
SoCVista缩放噪声与舍入噪声Word文档格式.doc_第2页
第2页 / 共38页
SoCVista缩放噪声与舍入噪声Word文档格式.doc_第3页
第3页 / 共38页
SoCVista缩放噪声与舍入噪声Word文档格式.doc_第4页
第4页 / 共38页
SoCVista缩放噪声与舍入噪声Word文档格式.doc_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

SoCVista缩放噪声与舍入噪声Word文档格式.doc

《SoCVista缩放噪声与舍入噪声Word文档格式.doc》由会员分享,可在线阅读,更多相关《SoCVista缩放噪声与舍入噪声Word文档格式.doc(38页珍藏版)》请在冰豆网上搜索。

SoCVista缩放噪声与舍入噪声Word文档格式.doc

从最坏的情况来考虑,为了保证无损计算,每次累加输出变量y(n)都要增加位长,从而乘法器的位长也相应增加,如此形成“恶性循环”。

但系统最终是要实现到硬件上的,这就不得不考虑以下这个问题:

如何选择合理的位长?

选择合理的位长,牵涉到两个问题:

1)计算溢出,在迭代过程中,某些计算结果可能会溢出,从而导致严重系统错误!

这种错误往往是不可接受的;

2)计算舍入,比如表示范围内的小数,如果位长是有限的,就会产生舍入误差。

因为计算溢出会导致严重系统错误,所以往往是优先考虑的因素。

要避免计算溢出,可以采用缩放操作,

图2

比如图2(a)的系统,为了保证w节点处的值发生溢出,可以对进行恰当缩放,同时注意,为了保证系统功能不变,必须对进行相应的调整,结果图2(b)所示。

理解缩放并不难,难在应该决定缩放程度。

下面先介绍两种典型的缩放模式,然后结合实例来介绍如何对系统进行缩放,并讨论不同程度缩放对舍入误差的影响。

为了便于讨论,我们假设所有信号的取值范围都在之间。

对图2系统,假设输入幅度在之间,并希望中间结果也在之间。

对于图2(a),由于增益不合适,可能导致的溢出,为了避免溢出,可对进行如下缩放:

1)缩放,最强程度的缩放,可完全避免溢出,

(1)

其中为的单位脉冲响应,可以证明

(2)

也就是说,只可能在之间取值,故而用对进行缩放之后,取值必在之间。

当然,如果用一个稍微大于的数进行缩放,那么取值就限制在之间,不包括1。

2)缩放,利用统计得出的信号标准偏差值进行缩放,以很高的概率保证计算不发生溢出(不能绝对保证)

(3)

其中为正数,作为调节因子。

对比缩放的定义和公式(3),有点让人摸不着头脑,,全过程是这样的,我们想确定信号的标准差,然后用该标准差对进行缩放。

的标准差可用如下公式计算,也可以用数值方法统计出来,,实际要处理的信号各式各样,不妨令其为均值为0方差为1的随机变量;

对于限制在之间的,最坏的方差就是1,

(4)

(5)

公式(4)求出均值为0;

公式(5)不是的方差,只是表明方差小于而已。

由公式(5)进一步得到标准差的关系

(6)

一般用对进行缩放不能严格保证不会发生溢出,只是说很大概率上不会溢出,回顾一下公式(3),增加一个调节因子,当且越大,溢出概率就越小,当时,缩放就等同于缩放,在增大就没有意义了。

代码1 缩放示例

clearall

closeall

clc

b=[1,2,1];

a=[1,-1.143,0.4128];

H=freqz(b,a);

x=1.99*(rand(1,10000)-0.5);

%%使用幅频曲线最大幅度值进行缩放

Hmax=max(abs(H));

b1=b/Hmax;

y=filter(b1,a,x);

figure;

hist(y,-5.5:

1:

5.5);

disp(Hmax);

disp(max(y));

%%使用课本l_1缩放

Hmax=sum(abs(impz(b,a)));

b2=b/Hmax;

y=filter(b2,a,x);

%%使用课本l_2缩放

Hmax=sqrt(var(filter(b,a,(2*rand(1,10000)-1)./sqrt(1/3))));

%方差为1的均匀白噪声(2*rand(1,10000)-1)./sqrt(1/3)

b3=b/Hmax;

y=filter(b3,a,x);

14.8258

0.8047

16.3837

0.7282

6.6128

1.8041

从输出数据的取值统计直方图可以看出,缩放不能完全保证不溢出,只是溢出概率比较小而已。

对比代码1中不同的三个缩放值14.8258、16.3837和6.6128。

前两个缩放比缩放要强得多,这也意味着它们的舍入噪声要比缩放严重,正如公式(3)所示,可以稍微增大一下缩放幅度,以限制溢出概率小到一定程度即可,如代码2所示。

%%

Hmax=sqrt(sum((impz(b,a,100).^2)));

disp(sum(abs(y)>

=1)/length(y));

6.8623

1.9028

0.0826

对比代码2和代码1最后一种缩放的结果,可以再次体会公式(6)所表示的意义。

现比较和缩放,从代码1和代码2的结果可以看出:

缩放系数为,而缩放系数为。

虽然缩放可完全避免溢出,但是其缩放程度远大于,“注意”缩放越大舍入噪声也越多;

实际应用推荐使用缩放,而不是缩放。

缩放能保证91.74%的概率不溢出,如果系统是稳定的,那么溢出造成的影响就只会持续有限时间。

总而言之滤波器实现推荐使用缩放,除非真的要求100%不溢出,才需要缩放。

使用缩放,又需要保证低舍入噪声,就不得不使用更大的位长,下面分析位长和舍入噪声的关系!

以一阶IIR节为例,

图3 位长与舍入噪声

如课本上所说,舍入噪声的分析是非常复杂的;

但如果舍入噪声满足以下三个假定,那么就可以按照线性理论进行分析:

1)是均匀分布白噪声;

2)是一个广义静态随机过程,也就是说,的均值和方差都独立于时间标记;

3)与所有其他信号都不相关。

一般可以认为舍入噪声满足以上三个条件。

假设加法器的位长为W位,默认为如下格式(其他格式也采用类似分析),

如果采用截断位的做法,那么舍入噪声取值为

(7)

图4 误差概率密度函数

如此,可计算的均值和方差为

(8)

(9)

从公式(9)进一步得出舍入噪声的标准差为

(10)

,因此,每增加1比特位长,可减小2倍舍入噪声幅度。

在仔细分析图3的结构可知,产生大舍入噪声主要因为乘法器,所以说乘法器是舍入噪声的根源。

往往在乘法器之后会进行舍入操作!

更进一步,可以观察对的影响,因为

(11)

也就是说

图5 舍入噪声对输出的影响

因为

(12)

所以

(13)

(14)

(15)

公式(15)表明了实际输出信号中包含的噪声分量标准差大小,除了与字长有关,还与传递函数有关,一般增加字长可以减少舍入误差。

线性时不变离散时间系统的基本输入输出关系是

(16)

或者

(17)

,不论是在时域还是频域,这种描述都是用表征整个系统的外部特性,而不涉及系统的内部结构。

因此,LSI系统的输入输出描述法是一种“黑盒子”的方法。

但在实现LSI系统的过程中,工程师不得不深入考虑到具体的系统结构,甚至深入到每一个节点每一条支路。

由此,我们希望能用系统内部的变量来表征系统特性,从而能对系统内部结构进行研究和优化——状态变量描述法就是这么一种工具,能将你所关心的内部结构反映出来,让你观察到你所想观察的变化。

从数学形式看,状态变量描述法是线性系统的矩阵描述,不仅仅是描述单输入单输出系统,也可以描述多输入多输出系统。

说白了,状态变量描述法就是两个矩阵方程:

1)状态更新方程,2)输出方程。

更多细节请阅读《现代控制系统》相关书籍!

下面只做简单介绍:

线性时不变系统(LSI)总可以表示为如下多输入多输出(MIMO)模型,

图6 MIMO模型示意图

其中,

l为输入向量,

l为输出向量,

l为状态变量。

同时,该MIMO系统也可表示为一阶差分矩阵方程,如下

(18)

分别为状态更新方程和输出方程,A/B/C/D均为矩阵。

根据公式(18),又可画出状态变量的信号流图如下

图7 状态变量的信号流图

以一个2阶IIR节为例说明如何得出系统的状态变量描述

图8 2阶IIR直接II型结构

根据信号处理知识可知,图8为公式(19)的直接II型结构,对应传递函数如下

(19)

对于图8,选择寄存器的内容作为状态变量,也就是

(20)

写出状态变量更新方程,就是和的关系,即公式(18)第一式,如下示

(21)

定义

(22)

(23)

(24)

再写出输出方程,如下示

(25)

(26)

(27)

,,大家如何对照着课本看,可能会觉得迷惑!

其实一个系统的状态变量描述并不唯一,只要能正确表征系统即可,而状态变量的选取更是由实际应用来决定,不是千篇一律的。

以下就以公式(21)和公式(25)作为图8二阶IIR系统描述。

首先来研究如何缩放以保证状态变量不会溢出;

在前面的一阶IIR例子(见图1)中,已经讨论给出了缩放和缩放的定义,现以缩放为例来讨论。

正式讨论前,请大家记住两点:

l状态变量的方差K用于对状态变量进行缩放,以大概率保证内部计算不会溢出;

l输出的方差W用于衡量系统内部信号的舍入对系统输出的影响。

走题一下,从结构上看LSI系统的状态变量描述可以用框图表示为(类似Mealy状态机,2段式)

图9 将LSI的状态变量描述框图类比于2段式Mealy状态机

在图7中,黄色所表示的状态变量是我们所关心的;

而且迭代过程中有可能会溢出,必须对其进行恰当缩放。

为了看得更清楚,简化图7,只保留与

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1