如何在Simulink中显示整数或定点信号的十六进制或二进制表示?万博1manbetx

76次浏览(过去30天)
在设计或调试整数或定点算法时,在许多情况下,显示值以十六进制或二进制表示是有帮助的。我如何在Simulink中显示信号以显示我对十六进制或二进制的偏好?万博1manbetx

接受的答案

MathWorks定点团队
MathWorks定点团队 2020年8月27日
编辑:MathWorks定点团队 2020年8月28日
万博1manbetxSimulink提供了两种方式来显示十六进制和二进制信号,显示块和Simulink值显示(黄色框)。
方法1:使用显示块显示二进制和十六进制
显示块的对话框为数字显示格式提供了9个选项。其中包括十六进制、二进制、十进制和八进制。
你会注意到有4个选项包含后缀文本'(Stored Integer)'。
这与比例方程有关
RealWorldValue = StoredIntegerValue *斜率+偏差
真实世界的价值是人类工程师所熟悉的单位。
存储整型是实际存储在计算机内存中的值。
一个特殊的例子是二进制点缩放,其中Bias = 0, Slope = 2^-FractionLength,所以
RealWorldValue = StoredIntegerValue * 2^-FractionLength
另一种特殊情况是斜率= 1,偏置= 0的整数,
所以方程是平凡的
RealWorldValue = StoredIntegerValue
这两个值是相等的。
这个模型的配置是这样的
第一个和第五个显示块使用长格式(暗示真实世界值)。
第二和第六个显示块使用十进制(存储整数)格式。
第三和第七个显示块使用十六进制(存储整数)格式。
第4和第8个显示块使用二进制(存储整数)格式。
当我们模拟模型时,我们注意到关于Display块的一些事情。
|
在第二、第三和第四个显示块中,我们看到文本'(SI)'出现在值之前。
这表明正在显示存储的整数。
第6、7和8个显示块可以显示'(SI)'前缀,但没有。
对于这些块,输入是整数,因此真实世界值和存储整数值是相等的。
因此,不需要'(SI)'前缀来消除这两种值的歧义,因此省略了。
方法2:使用Simulink显示万博1manbetx值(黄色框)显示二进制和十六进制
还有另一种显示存储的二进制、十六进制、十进制或八进制整数的方法是Simulink显示值。万博1manbetx你会记得这些黄色的方框出现在Simulink信号下面。万博1manbetx
要启用此功能,请使用工具栏Debug选项卡。
勾选“切换选项”(即“开”)后,单击您希望显示黄色框的信号线。
接下来,回到工具栏Debug选项卡,打开Value Displays: Options对话框。
在选项对话框的右下方,您将看到显示块中相同的9个格式选择。
将显示格式设置为所需值后,关闭对话框并模拟模型。
黄色框将显示您选择的格式。
然而,有一个已知的限制。六个整数类型int8, uint8, int16, uint16, int32和uint32在黄色框中不显示十六进制,二进制或八进制。对于这六个例外,如果您希望看到十六进制、八进制或二进制,则需要使用Display Block。
3评论

登录评论。

更多答案(0)

社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!

开始狩猎!