浮点,simulink 定标指导,定点

更新时间:2023-11-28 09:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Simulink代码生成系列(定点数)8

2010-04-11 21:21:41| 分类: 项目4_高性能DSP | 标签: |举报 |字号大中小 订阅 李会先(整理

MATLAB)

关于定点数

定点数和它们的数据类型以字长、二进制小数点、有符号还是无符号为特征,SIMULINK定点软件支持整数和定点数,它们的主要区别是小数点。

一般的二进制定点数表示为:

定点数的标度

对于同等字长度,定点数的动态范围远小于浮点数,为了避免溢出和最小化量化误差,定点数需要标度,因此用如下方法来表示一个定点数。

?

V是任意精度的实数

? ? ?

实数的近似

Q是一个存储值,用来编码V S=F

?

斜率

B是偏差(基准)

斜率被分成两个部分:

确定二进制小数点,E是2的幂指数

? F

?

是斜率调整因子,规范化时1≤F﹤2

只有缩放标度的二进制小数

? F=1

? S=F

=

? B=0

一个被量化的实数的标度用斜率S定义,这被严格的限制为2的幂,负的2的幂指数被称为分数长度,分数长度是二进制小数点右边的比特数。对于仅有缩放的二进制小数,定点数据类型表示为:

? ?

signed types — fixdt(1, WordLength, FractionLength) unsigned types — fixdt(0, WordLength, FractionLength)

整数是定点数类型的特殊情况,整数的用斜率为1直接标度,偏差为0,或者相当于分数长度为0,整数表达为:

? ?

signed integer — fixdt(1, WordLength, 0) unsigned integer — fixdt(0, WordLength, 0)

斜率和偏差(基准)标度

当用斜率和偏差标度,被量化的实数的斜率S和偏差B可以使任何值,斜率必须是正数,用S和B定点数被表达为:

?

fixdt(Signed, WordLength, Slope, Bias)

范围和精度

数的范围给出了表达的限制,精度给出了表达连续两数之间的距离,定点数的范围和精度取决于字的长度和标度。

下面是SIMULINK中几种定点数的表示方法,数的范围和精度.

?

定点数据类型范围和默认标度

?

8位定点数据类型-只由缩放标度的二进制小数

? 8位定点数据类型范围-斜率和偏差(基准)标度

SIMULINK里常用的定点数据类型符号.

一个例子和解释

sfix16_Sp2_B10表示 fixdt(1, 16, 0.2, 10),也就是16位符号定点数,斜率

是0.2

偏差是(基准)10. sfix16_En6表示 fixdt(1, 16, 6),也就是16位符号定点

数,分数长6位.

本文来源:https://www.bwwdw.com/article/g01t.html

Top