主要内容

NumericTypeScope

确定定点数据类型

语法

H= NumericTypeScope
显示(H
步骤(H数据
版本(H
重置(H

描述

NumericTypeScope是提供有关数据的动态范围的信息的对象。范围以a的形式提供数据的动态范围的可视化表示log2直方图。在这个直方图中,位权沿着x轴显示,出现的百分比沿着y轴显示。直方图的每个箱子对应二进制单词中的一个位。例如,20对应于二进制单词中的第一个整数位,2-1对应于二进制单词中的第一个小数位。

范围建议采用numerictype对象满足指定的条件。请参阅中关于位分配的章节对话框面板

H= NumericTypeScope返回一个NumericTypeScope对象,可用于在MATLAB中查看数据的动态范围®.查看NumericTypeScope在创建窗口H,可以使用显示方法。

显示(H打开NumericTypeScope对象H并将其带入视野。关闭范围窗口不会从工作区中删除对象。如果scope对象仍然存在于您的工作空间中,您可以使用显示方法。

步骤(H数据处理您的数据,并允许您可视化的动态范围。的对象H在每次调用之间保留先前收集的关于变量的信息一步

版本(H释放系统资源(如内存、文件句柄或硬件连接),并允许更改所有属性和输入特征。

重置(H属性清除所有存储的信息NumericTypeScope对象H.重置对象将清除作用域窗口中显示的信息。

识别超出量程和精度以下的值

NumericTypeScope还可以帮助您识别基于当前数据类型超出范围或低于精度的任何值。准备NumericTypeScope为了识别它们,提供一个输入变量fi对象,并验证以下条件之一为真:

  • DataTypeModefi对象设置为双倍缩放:二进制点缩放

  • DataTypeOverride固定点设计器™的属性fipref对象设置为ScaledDoubles

在有信息的情况下,scope通过将直方图的柱状图用颜色编码,表示超出范围、低于精度、在数据类型范围内的值,具体如下:

  • 蓝色-直方图bin包含当前数据类型范围内的值。

  • 红色直方图箱包含当前数据类型范围之外的值。

  • 黄色-直方图bin包含当前数据类型中低于精度的值。

有关范围颜色编码的示例,请参见图中所示垂直单位

参见对话框面板

看到例子节以了解更多关于使用NumericTypeScope选择数据类型。

对话框和工具栏

NumericTypeScope窗口

NumericTypeScope打开时默认工具栏显示在窗口的顶部,对话框面板显示在右侧。

配置对话框

NumericTypeScope配置允许您控制范围窗口的行为和外观。

要打开“配置”对话框,请选择文件>配置,或将该作用域作为活动窗口时,按N关键。

配置对话框包含一系列窗格,每个窗格包含一个配置选项表。有关设置每个窗格上的选项的说明,请参阅每个窗格的参考部分。此对话框有一个窗格,核心窗格,只有一个选项,用于范围用户界面的通用UI设置。

要保存配置设置以备将来使用,请选择文件>配置>另存为.的配置设置将成为默认配置设置NumericTypeScope对象。

谨慎

在将您自己的一组配置设置保存到matlab/toolbox/fixedpoint/fixedpoint文件夹之前,将默认配置设置的备份副本保存到另一个位置。如果不保存默认配置的备份副本,以后将无法恢复默认配置。

要保存您的配置设置以供将来使用,请将其保存在matlab/toolbox/fixedpoint/fixedpoint文件夹中,并使用文件名NumericTypeScopeComponent.cfg.您可以随时重新保存配置设置,但请记住使用指定的文件名在指定的文件夹中这样做。

核心窗格

“配置”对话框中的“核心”窗格控制范围的一般设置。

单击General UI,然后单击选项打开“核心:通用UI选项”对话框。

  • 在标题栏中显示完整的源路径-选中此复选框将在范围标题栏中显示文件名和变量名。如果作用域不是来自文件,或者清除此复选框,则作用域仅在标题栏中显示变量名。

  • 打开消息日志-控制何时打开消息日志窗口。消息日志窗口帮助您调试与范围有关的问题。对于以下任何情况,选择打开消息日志窗口:

    • 对于任何新消息

    • 警告/失败消息

    • 仅用于失败消息

    • 手动

    该选项默认为警告/失败消息

    您可以通过选择在任何时候打开消息日志帮助>消息日志或按下Ctrl + M.“消息日志”对话框提供了加载的配置设置和注册扩展的系统级记录。消息日志显示每个消息的摘要和详细信息,您可以根据类型和类别过滤消息的显示。

    • 类型-选择要在“消息日志”中显示的消息类型。您可以选择所有信息警告,或失败.类型默认为所有

    • 类别-在“消息日志”中选择要显示的消息类别。您可以选择所有配置,或扩展.范围使用Configuration消息来指示何时加载新的配置文件,使用Extension消息来指示何时注册组件。类别默认为所有

对话框面板

比特分配

范围位分配对话框面板(如下图所示)为指定数据类型标准提供了几个选项。

您可以使用此面板指定已知的单词长度和超出范围所需的最大出现次数。还可以使用面板指定超出范围的期望出现次数和建议数据类型所表示的最小值。对于流数据,建议的numerictype对象会随着时间调整,以继续满足指定的标准。

范围还允许您与直方图图交互。当您选择图形化控制在位分配对话框面板上,您可以在二进制点的任意一侧启用游标。您可以与这些游标进行交互,并观察建议的数字类型对输入数据的影响。例如,您可以看到超出范围、低于精度或两者兼有的值的数量。您还可以查看数据类型的可表示的最小值和最大值。

传说

示波器图例面板告诉您示波器用于指示值的颜色。这些颜色表示在范围内显示时超出范围、在范围内或低于精度的值。

生成的类型

result Type面板描述由范围设置定义的定点数据类型。通过操纵可视化显示(通过Bit Allocation面板或游标),您可以更改数据类型的值。

属性显示超出范围或低于精度的值的百分比numerictype对象位于该面板的顶部。信号量化噪声比(SQNR)随信号的不同而变化。如果参数没有值,则没有足够的数据来计算SQNR。当范围信息或numerictype,则SQNR复位。

类型详细信息部分提供关于定点数据类型的详细信息。

输入数据

的输入数据面板提供有关当前显示值的统计信息NumericScopeType对象。

垂直单位

使用Vertical Units选择以百分比或实际计数的形式显示超出范围或低于精度的值。例如,下图显示了超出范围或低于精度的值占总值的百分比。

下一个示例显示超出范围或低于精度的值作为实际计数。

向前打开所有NumericType作用域窗口

NumericScopeTypeGUI提供了一个视图>将所有NumericType范围向前推进菜单选项,帮助您管理您的NumericTypeScope窗户选择此选项或按下Ctrl + F将所有NumericTypeScopewindows。如果一个NumericTypeScope窗口当前未打开,此菜单选项将打开窗口并将其带入视图。

工具栏(Mac唯一的)

通过选择激活工具栏视图>工具栏.当此工具处于活动状态时,您可以从GUI停靠或取消停靠范围。

工具栏特性用于Mac只有。选择工具栏在Windows上®和UNIX®版本只显示一个空工具栏。停靠图标总是出现在这些版本的GUI的右上角。

方法

释放

使用此方法可以释放系统资源(如内存、文件句柄或硬件连接),并允许更改所有属性和输入特征。

例子:

> > (H

重置

使用此方法可清除存储在对象中的信息H.这样做可以重用H处理来自不同变量的数据。

例子:

> >重置(H

显示

使用此方法打开范围窗口并将其带入视图。

例子:

> >显示(H

一步

使用此方法处理数据并在范围窗口中可视化动态范围。

例子:

> >步骤(H数据

例子

全部折叠

将fi对象DataTypeOverride设置为Scaled Doubles,然后查看其动态范围。

fp = fipref;initialDTOSetting = fp.DataTypeOverride;《外交政策》。DataTypeOverride =“ScaledDoubles”;= fi(魔法(10),1 8 2);b = fi([一个;2。^(彼前)1 8,3);h = NumericTypeScope;步骤(h、b);《外交政策》。DataTypeOverride = initialDTOSetting;

log2直方图显示显示的值出现在范围外和精度以下的变量。在本例中,b的数据类型为numerictype(1,8,3)。numerictype(1,8,3)数据类型提供5个整数位(包括有符号位)和3个小数位。因此,该数据类型只能表示-2^4和2^4- 2^-3之间的值(从-16到15.8750)。给定该数据类型的范围和精度,大于2^4的值不在范围内,小于2^-3的值低于该数据类型的精度。当您检查NumericTypeScope显示时,您可以看到需要位5、6和7的值超出了范围,而需要小数位4和5的值低于精度。有了这些信息,您可以通过将变量b的数据类型更改为numerictype(0,13,5)来防止超出范围和低于精度的值。

查看动态范围,并为DataTypeMode为Scaled double: binary point scaling的fi对象确定合适的数字类型。

创建一个数字类型对象,其DataTypeMode为Scaled double:二进制点缩放。然后您可以使用该numerictype对象来构造您的fi对象。因为您将DataTypeMode设置为Scaled double: binary point scaling, NumericTypeScope现在可以识别数据中的溢出。

T = numerictype;T.DataTypeMode ='缩放双:二进制点缩放';T.WordLength = 8;T.FractionLength = 6;a = fi(sin(0:100)*3.5, T);b = fi (cos (0:100) * 1.75, T);acc = fi (0, T);h = NumericTypeScope;I = 1:length(a) acc(:) = a(I)*0.7+b(I);步骤(h, acc)结束

这个动态范围分析表明,您可以用5位表示累加器中的整个数据范围;二进制位的左边有两个(整数位),右边有三个(小数位)。通过更改numerictype对象T的WordLength和fraclength属性,可以验证该数据类型能够表示所有的值。然后,使用T重新定义累加器。

要查看基于这个新数据类型的动态范围分析,重置NumericTypeScope对象h,并重新运行循环。

T.WordLength = 5;T.FractionLength = 2;acc = fi (0, T);释放(h)重置(h)I = 1:length(a) acc(:) = a(I)*0.7 + b(I);步骤(h, acc)结束

另请参阅

|

介绍了R2010a