matlab simulink 参数设置,matlab simulink 中 gateway 参数设置

本文详细介绍了MATLAB Simulink中Gateway参数设置对数据溢出和量化误差的处理方式。对于溢出,讨论了饱和、绕回和标记为错误三种模式;对于量化误差,介绍了四舍五入和截短两种处理方法,并通过实例解释了不同设置对结果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Overflow:   当数据发生溢出时,开发人员有三种处理方法:

当选择 saturate(饱和)模式时,将数据饱和在正的最大值或负的最小值,也就是当我们数据发生溢出时候,我们只得到我们在极限时候的数据,而对溢出无视。有符号四位数据: +7(0111) ~ -8(1000)

当选择 wrap 模式时, 做绕回处理,即最大值加1结果是最小值,最小值减1得到最大值;也就是溢出时候直接给上一位进位。有符号四位数据:本来最大是 0111(+7),发生溢出变为 1000(-8)

当选择 Flag as error 模式时,将数据溢出标记到 simulink 的错误报告中。

二、Quantization:  当出现量化误差时,开发人员有两种处理方式:

当选择 Round(四舍五入) 模式时,将数据四舍五入到最接近的开发人员定义精度可表示的数值上;

当选择 Truncate(截短) 模式时,直接将开发人员定义精度无法表示部分数值丢弃。

For Example

EX1

二进制                                  十进制

4 bits in / 4 bits out                  6 + 3                             0110                                            -7

Wrap                                                                 +    0011

1001

Wrap : 最大值加1,变为最小值,也就是当我们是四位有符号数时,我们的最大值就是4‘b0111 = 7, 当我们超过这个最大值时候,数据发生溢出,变为4’b1000,其为补码形式,这时候就是有符号数的最小值,为 -8

我们定义为有符号数,所以数据有效位只有三位,最高位为符号标志位, 当我们定义为 4 bits, 其最大值为 4‘b0111 = +7,  然后加1,就变为 4’b1000 = -8

我们无符号的实际结果为9,所以我们要加2,也就是 4‘b1001 , 补码就是 -7

二进制                                  十进制

4 bits in / 4 bits out                  6 + 3                             0110                                           7

Saturate                                                                 + 0011

0001

Saturate:饱和,我们将数据卡在一个饱和区间,对于四位有符号数,其数据为区间为:  +7(0111) ~   -8(1000),超过该区间的数,也就是溢出时候的数据,都被饱和为该区间的极限数据

二进制                                  十进制

4 bits in / 5 bits out                  6 + 3                             0110                                           9

Saturate                                                                +    0011

1001

数据没有发生溢出的结果为  9

Ex2

当我们设置如下图的流程时,我们将采样时候设置为 0.01s, sine 函数 的频率为 1Hs,幅值为140,停止仿真时间设置为 2s

0818b9ca8b590ca3270a3433284dd417.png

当我们将 Gateway In 参数设置为  wrap时候,其仿真图如下:

0818b9ca8b590ca3270a3433284dd417.png

当我们将 Gateway In 参数设置为  saturate 时候,其仿真图如下:

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值