文档

定点设计器函数

定点基础知识

定点基础MATLAB

fi 构造定点数值对象
ufi 构造无符号定点数值对象
你以后 构造带符号的定点数值对象
fimath 设置定点数学设置
fipref 设置定点首选项
numerictype 构造数字类型对象
accumpos 添加两个fi对象或值
accumneg 减去两个fi对象或值
数字转换 量化定点数
箱子 fi对象的存储整数的二进制表示
12月 fi对象存储整数的无符号十进制表示
fi对象的双精度浮点实际值
十六进制 fi对象存储整数的十六进制表示
removefimath 从fi object中移除fimath对象
setfimath 将fimath对象附加到fi对象
globalfimath 配置全局fimath并返回句柄对象
removeglobalfimathpref 删除全局fimath优先级
resetglobalfimath 将全局fimath设置为MATLAB出厂默认值
storedInteger fi对象存储的整型值
storedIntegerToDouble 将fi对象的存储整型值转换为内置双精度值
embedded.fi 定点数值对象
embedded.fimath fimath对象
embedded.numerictype numerictype对象

定点设计的MATLAB代码

定点功能

数学

数组和矩阵运算
数组创建和连接
诊断接头 对角线矩阵或矩阵的对角线
眼睛 创建具有定点属性的单位矩阵
ndgrid 生成N-D函数和插值的数组
创建所有具有定点属性的数组
0 创建具有定点属性的所有零数组
数组和矩阵操作
翻转 元素的翻转顺序
fliplr 从左到右翻转矩阵
flipud 从上到下翻转矩阵
horzcat 水平连接多个fi对象
ipermute 多维数组的逆排列维数
交换 重新排列多维数组的维度
repmat 复制和平铺数组
重塑 重塑数组
shiftdim 改变尺寸
排序 对实值fi对象的元素按升序或降序排序
挤压 删除单维度
vertcat 垂直连接多个fi对象
基本阵列和矩阵信息
结肠 创建向量,数组下标
结束 数组的最后一个索引
iscolumn 确定fi object是否为列向量
isempty 确定数组是否为空
isrow 确定fi object是否是行向量
isscalar 确定输入是否是标量
isvector 判断输入是否是向量
长度 向量的长度
ndims 数组维数
元素个数 fi数组中的数据元素个数
大小 阵列尺寸
isequal 确定两个fi对象的真实值是否相等,或者确定两个fimath、数字类型或量化器对象的属性是否相等
isequivalent 确定两个数值类型对象是否具有等效的属性
isfloat 确定输入是否为浮点数据类型
isfinite 确定数组元素是否为有限元素
isinf 确定数组元素是否为无穷大
isnan 确定数组元素是否为NaN
isnumeric 确定输入是否是数值数组
马克斯 fi对象数组中最大的元素
最小值 fi对象数组中最小的元素
disp 显示对象
isobject 判断输入是否为MATLAB对象
numberofelements 数组中数据元素的个数
数组和矩阵运算符
缓冲 将信号向量缓冲到数据帧的矩阵中
结肠 创建向量,数组下标
ctranspose fi对象的复共轭转置
- fi对象之间的矩阵差异
mpower 定点矩阵幂(^)
mtimes fi对象的矩阵乘积
+ fi对象的矩阵和
qr Orthogonal-triangular分解
rdivide 右数组除法(./)
shiftdata 移位数据以在指定维度上操作
总和 数组元素的和
surfnorm 计算和显示三维表面法线
fi对象的逐元素乘法
转置 转置操作
下三角阵 矩阵的下三角形部分
triu 矩阵的上三角部分
uminus 对fi object数组的元素求反
unshiftdata shiftdata的倒数
uplus 一元加
特殊的矩阵
汉克尔 汉克尔矩阵
托普利兹 创建Toeplitz矩阵
稀疏矩阵
间谍 可视化稀疏模式
etreeplot 小区消元树
gplot 用邻接矩阵绘制节点集
treeplot 树木分布图
复杂的数学
复杂的 从实部和虚部构造复杂的fi对象
连词 fi物体的复共轭
腹肌 fi对象的绝对值
图像放大 复数的虚部
真正的 复数的实部
标志 在数组上执行sgum函数
伊斯雷尔 确定数组元素是否为实元素
常量
每股收益 fior量化器对象的量化相对精度
intmax fi对象的数值类型所表示的最大存储正整数值
intmin fi对象的数字类型可表示的最小存储整数值
CORDIC
cordicabs 基于cordic的绝对值
cordicangle 基于cordic的相位角
cordicatan2 基于cordic的四象限正切
cordiccart2pol 基于cordic的笛卡尔到极坐标转换的近似
cordiccexp 基于cordic的复指数近似
cordiccos 基于cordic的cos的近似
cordicpol2cart 基于cordic的极坐标到笛卡尔的近似转换
cordicrotate 使用基于cordic的近似旋转输入
cordicsin 基于cordic的正弦近似
cordicsincos 基于cordic的正弦和余弦的近似
cordicsqrt 基于cordic的平方根近似
指数
pow2 2K的高效定点乘法
权力 定点阵列功率(.^)
√6 fi对象的平方根
数学操作
accumneg 减去两个fi对象或值
accumpos 添加两个fi对象或值
添加 使用fimath object添加两个对象
量化 定点值的四象限正切
conv fi对象的卷积和多项式乘法
收敛 四舍五入到最近的整数,并将四舍五入到最近的偶数
因为 fi对象的余弦
划分两个对象
过滤器 fi对象的一维数字滤波器
innerprodintbits 定点内积所需的整数位数
mpy 使用fimath object将两个对象相乘
mrdivide 正斜杠(/)或右矩阵除法
sin的定点值
使用fimath object减去两个对象
基数转换
箱子 fi对象的存储整数的二进制表示
bin2num 使用量化器对象将2的补码二进制字符串转换为数字
12月 fi对象存储整数的无符号十进制表示
十六进制 fi对象存储整数的十六进制表示
num2bin 使用量化器对象将数字转换为二进制表示
num2int 将数字转换为有符号整数
10月 fi对象存储整数的八进制表示
sdec fi对象存储整数的有符号十进制表示
num2hex 使用量化器对象将数字转换为等效的十六进制
hex2num 使用量化器对象将十六进制字符串转换为数字
四舍五入及余数
装天花板 趋于正无穷
修复 趋近于零
地板上 趋近于负无穷
国防部 fi对象的除后模量
最近的 四舍五入到最近的整数,并将四舍五入到正无穷
使用量化器对象将fi对象四舍五入到最接近的整数或四舍五入输入数据
统计数据
errmean 量化误差的平均值
errpdf 量化误差的概率密度函数
errvar 量化误差方差
logreport 量化报告
maxlog 日志最大值
minlog 日志极限
noperations 操作次数
noverflows 溢出数
nunderflows 下流数量
resetlog 清除fi或量化器对象的日志
的意思是 定点数组的平均值或平均值
中位数 定点数组的中值

模拟加速度

fiaccel 加速定点代码并将浮点MATLAB代码转换为定点MATLAB代码
coder.allowpcode 从受保护的MATLAB文件生成控制代码
coder.const 在生成的代码中将表达式折叠为常量
coder.cstructname 生成的代码中的名称结构
coder.extrinsic 声明外部函数或函数
coder.inline 在生成的代码中控制内联
coder.mexconfig 代码加速配置对象
coder.newtype 创建一个编码器。类型的对象
coder.nullcopy 声明未初始化的变量
coder.resize 调整编码器的大小。类型的对象
coder.screener 确定函数是否适合代码生成
coder.target 确定代码生成目标是否是指定的目标
coder.typeof 创建编码器。类型的对象to represent the type of an entry-point function input
coder.unroll 通过为每次循环迭代创建循环体的副本来展开for-loop
coder.varsize 声明可变大小的数组
编码器。ArrayType 表示MATLAB数组集
编码器。CellType 表示一组MATLAB单元格数组
编码器。常数 表示包含一个MATLAB值的集合
编码器。EnumType 表示MATLAB枚举集
编码器。FiType 表示MATLAB定点数组的集合
编码器。MexConfig 为fiaccel编写加速配置对象的代码
编码器。PrimitiveType 表示一组逻辑、数字或字符数组
编码器。StructType 表示MATLAB结构数组集
编码器。类型 表示MATLAB值的集合

图形

三维可视化
创建网格图
meshc 用等高线图创建网格图
meshz 用窗帘图创建网格图
冲浪 创建3-D阴影表面图
surfc 用等高线图创建三维阴影表面图
surfl 用基于颜色映射的照明创建表面情节
trimesh 创建三角形网格图
triplot 创建2-D三角形图
trisurf 创建三角形曲面图
streamribbon 创建3-D流彩带图
streamslice 在切片平面上绘制流线
廉管道 创建3-D流管图
rgbplot 情节colormap
coneplot 在三维矢量场中将速度矢量画成锥状
基本图表
errorbar 沿曲线绘制误差条
创建行对象
重对数 创建对数-对数比例图
情节 创建线性2-D图
plot3 创建3-D线图
plotyy 在左右两侧创建y轴图形
极地 绘制极坐标
semilogx 创建具有对数x轴的半对数图
semilogy 创建具有对数y轴的半对数图
xlim 设置或查询x轴限制
ylim 设置或查询y轴限制
zlim 设置或查询z轴限制
clabel 创建等高线图标高
文本 在当前轴上创建文本对象
copyobj 制作量化器对象的独立副本
专门的情节
区域 创建填充区域2-D图
酒吧 创建竖条图
barh 创建水平条形图
轮廓 创建矩阵的轮廓图
contour3 创建三维等高线图
contourc 创建二级等高线图计算
contourf 创建填充的2-D等高线图
ezcontour 易于使用的等高线绘图仪
ezcontourf 易于使用的填充等高线绘图仪
彗星 创建2-D彗星图
comet3 创建3-D彗星图
羽毛 绘制速度向量
箭袋 创建颤振或速度图
quiver3 创建三维颤振或速度图
楼梯 创建阶梯图
阀杆 绘制离散序列数据
stem3 绘制三维离散序列数据
ezmesh 易于使用的三维网格绘图仪
ezplot 易于使用的功能绘图
ezplot3 易于使用的三维参数曲线绘图仪
ezpolar 易于使用的极坐标绘图仪
ezsurf 易于使用的三维彩色表面绘图仪
ezsurfc 易于使用的组合曲面/等高线绘图仪
fplot 在指定的界限之间绘制函数
创建直方图
histc 直方图统计
玫瑰 创建角度直方图
plotmatrix 绘制散点图
散射 创建散点或气泡图
scatter3 创建3-D散点或气泡图
pcolor 创建伪彩色图
丝带 创建彩带图
创建体积切片图
瀑布 创建瀑布图
泰森多边形法 创建Voronoi图
voronoin 创建n-D Voronoi图
指南针 从原点射出的箭头
补丁 创建补丁图形对象

关系运算符

情商 确定两个fi对象的真实值是否相等
通用电气 确定一个fi对象的真实值是否大于或等于另一个
gt 确定一个fi对象的真实值是否大于另一个
确定fi对象的真实值是否小于或等于另一个
lt 确定一个fi对象的真实值是否小于另一个
确定两个fi对象的真实值是否不相等

编程和数据类型

面向对象编程
fi 构造定点数值对象
fipref 设置定点首选项
savefipref 保存fi首选项为下一个MATLAB会话
fimath 设置定点数学设置
numerictype 构造数字类型对象
量化器 构造量化器对象
assignmentquantizer fi对象的赋值量化器对象
mat2str 将矩阵转换为字符串
得到 对象的属性值
subsasgn 下标赋值
subsref 下标引用
removefimath 从fi object中移除fimath对象
重置 将对象重置为初始条件
设置或显示量化器对象的属性值
setfimath 将fimath对象附加到fi对象
你以后 构造带符号的定点数值对象
tostring 将数字类型或量化器对象转换为字符串
ufi 构造无符号定点数值对象
unitquantizer unitquantizer对象的构造函数
fixed.aggregateType 计算聚合数字类型
数据类型操作符和工具
storedInteger fi对象存储的整型值
storedIntegerToDouble 将fi对象的存储整型值转换为内置双精度值
reinterpretcast 在不改变底层数据的情况下转换定点数据类型
重新调节 改变fi对象的缩放比例
stripscaling fi对象的存储整数
buildInstrumentedMex 生成编译的C代码函数,包括日志记录
clearInstrumentationResults 清晰的由仪器记录结果,编译的C代码函数
NumericTypeScope 确定定点数据类型
showInstrumentationResults 结果由仪器记录,编译C代码函数
fi对象的双精度浮点实际值
int16 将fi对象转换为16位有符号整数
int32 将fi对象转换为32位有符号整数
int64 将fi对象转换为带符号的64位整数
int8 将fi对象转换为有符号8位整数
fi对象的单精度浮点实际值
uint16 将fi对象转换为无符号16位整数
uint32 fi对象的存储整型值为内置uint32
uint64 将fi对象转换为无符号64位整数
uint8 将fi对象转换为无符号8位整数
逻辑 将数值转换为逻辑值
最大浮点数 最大的正定点值或量子化数
最小正浮点数 最小的正规范化定点值或量子化数
按位操作
bitand 两个fi对象的位与
bitor 两个fi对象的位或
bitxor 两个fi对象的位异或
bitandreduce 通过逐位AND操作,将连续的位切片减少为1位
bitorreduce 通过按位或操作,将连续的位切片减少为1位
bitxorreduce 通过逐位排他或运算,将连续的位切片减少为1位
bitror 向右旋转
bitshift 移位位指定的位置数
bitrol 按位向左旋转
bitsll 位左移位合乎逻辑
bitsra 位右移位算法
bitsrl 位右移位逻辑
bitcmp fi对象的位补
bitconcat 连接fi对象的位
bitreplicate 复制并连接fi对象的位
bitget 在特定位置获取比特
bitset 在特定位置设置位
bitsliceget 获得连续的比特切片
getlsb 最低有效位
getmsb 最高位
逻辑运算
所有 确定是否所有数组元素都是非零的
而且 查找数组或标量输入的逻辑与
任何 确定是否有数组元素非零
查找数组或标量输入的逻辑NOT
查找数组或标量输入的逻辑或
xor 逻辑异

数据分析

denormalmax 量化器对象的最大非规格化量化数
denormalmin 量化器对象的最小非规格化量化数
fractionlength 量化器对象的分数长度
下界 fi对象范围的下界
lsb fi对象的最小有效位的缩放,或量化器对象的最小有效位的值
范围 fi或量化器对象的数值范围
upperbound fi对象范围的上界
量化器对象的字长
排序 对实值fi对象的元素按升序或降序排序
exponentbias 量化器对象的指数偏差
exponentlength 量化器对象的指数长度
exponentmax 量化器对象的最大指数
exponentmin 量化器对象的最小指数
isboolean 判断输入是否为布尔值
isdouble 确定输入是否为双精度数据类型
isfi 确定变量是否为fi对象
isfimath 确定变量是否为fimath对象
isfimathlocal 判断fi object是否有本地fimath
isfipref 判断输入是否为fipref对象
确定输入是否为定点数据类型
isnumerictype 确定输入是否为数字类型对象
ispropequal 确定两个fi对象的属性是否相等
isquantizer 确定输入是否为量化器对象
isscaleddouble 确定输入是否为伸缩的双数据类型
isscaledtype 确定输入是定点数据类型还是缩放双数据类型
isscalingbinarypoint 确定输入是否具有二进制点缩放
isscalingslopebias 判断输入是否具有非平凡斜率和偏差缩放
isscalingunspecified 确定输入是否具有未指定的缩放
issigned 确定fi object是否有符号
issingle 确定输入是否为单精度数据类型
isslopebiasscaled 确定数值类型对象是否具有非平凡的斜率和偏差

量化的数据

将变量转换为不同的数据类型
数字转换 量化定点数
固定的。量化器 量化定点数
量化器 构造量化器对象
数字转换方法 对数据应用量化器对象
randquant 使用量化器对象生成均匀分布的量化随机数
unitquantize 量化eps为+1范围内的数字
unitquantizer unitquantizer对象的构造函数

算法实现

bitand 两个fi对象的位与
bitor 两个fi对象的位或
bitshift 移位位指定的位置数
cordicabs 基于cordic的绝对值
cordicangle 基于cordic的相位角
cordicatan2 基于cordic的四象限正切
cordiccart2pol 基于cordic的笛卡尔到极坐标转换的近似
cordiccexp 基于cordic的复指数近似
cordiccos 基于cordic的cos的近似
cordicpol2cart 基于cordic的极坐标到笛卡尔的近似转换
cordicrotate 使用基于cordic的近似旋转输入
cordicsin 基于cordic的正弦近似
cordicsincos 基于cordic的正弦和余弦的近似
cordicsqrt 基于cordic的平方根近似
fi 构造定点数值对象
过滤器 fi对象的一维数字滤波器
执行指定次数的语句
的意思是 定点数组的平均值或平均值
中位数 定点数组的中值
√6 fi对象的平方根

算法加速

加速算法设计

数据定义
适应数据
coder.varsize 声明可变大小的数组
细胞数组
coder.varsize 声明可变大小的数组
coder.cstructname 生成的代码中的名称结构
编码器。CellType 表示一组MATLAB单元格数组
MATLAB类
编码器。ClassType 表示MATLAB类的集合
函数定义
coder.extrinsic 声明外部函数或函数
coder.ignoreConst 防止在函数特殊化中使用表达式的常量值
coder.unroll 通过为每次循环迭代创建循环体的副本来展开for-loop

加速算法生成

输入规格
coder.typeof 创建编码器。类型的对象to represent the type of an entry-point function input
coder.resize 调整编码器的大小。类型的对象
coder.newtype 创建一个编码器。类型的对象
coder.varsize 声明可变大小的数组
编码器。ArrayType 表示MATLAB数组集
编码器。CellType 表示一组MATLAB单元格数组
编码器。ClassType 表示MATLAB类的集合
编码器。常数 表示包含一个MATLAB值的集合
编码器。EnumType 表示MATLAB枚举集
编码器。FiType 表示MATLAB定点数组的集合
编码器。PrimitiveType 表示一组逻辑、数字或字符数组
编码器。StructType 表示MATLAB结构数组集
编码器。类型 表示MATLAB值的集合
构建配置
coder.mexconfig 代码加速配置对象
fiaccel 加速定点代码并将浮点MATLAB代码转换为定点MATLAB代码
编码器。MexConfig 为fiaccel编写加速配置对象的代码
创建加速可执行文件
fiaccel 加速定点代码并将浮点MATLAB代码转换为定点MATLAB代码
coder.allowpcode 从受保护的MATLAB文件生成控制代码
coder.const 在生成的代码中将表达式折叠为常量
coder.cstructname 生成的代码中的名称结构
coder.extrinsic 声明外部函数或函数
coder.inline 在生成的代码中控制内联
coder.load 将编译时常量从mat文件或ASCII文件加载到调用者工作区
coder.newtype 创建一个编码器。类型的对象
coder.nullcopy 声明未初始化的变量
coder.resize 调整编码器的大小。类型的对象
coder.target 确定代码生成目标是否是指定的目标
coder.typeof 创建编码器。类型的对象to represent the type of an entry-point function input
coder.unroll 通过为每次循环迭代创建循环体的副本来展开for-loop
coder.varsize 声明可变大小的数组
coder.mexconfig 代码加速配置对象
编码器。ArrayType 表示MATLAB数组集
编码器。常数 表示包含一个MATLAB值的集合
编码器。EnumType 表示MATLAB枚举集
编码器。FiType 表示MATLAB定点数组的集合
编码器。PrimitiveType 表示一组逻辑、数字或字符数组
编码器。StructType 表示MATLAB结构数组集
编码器。类型 表示MATLAB值的集合
编码器。MexConfig 为fiaccel编写加速配置对象的代码
代码分析
coder.screener 确定函数是否适合代码生成

算法转换

自动转换

fiaccel 加速定点代码并将浮点MATLAB代码转换为定点MATLAB代码
coder.config 创建用于定点或单精度转换的配置对象
coder.mexconfig 代码加速配置对象
coder.approximation 创建函数替换配置对象
coder.allowpcode 从受保护的MATLAB文件生成控制代码
coder.const 在生成的代码中将表达式折叠为常量
coder.extrinsic 声明外部函数或函数
coder.inline 在生成的代码中控制内联
coder.load 将编译时常量从mat文件或ASCII文件加载到调用者工作区
coder.newtype 创建一个编码器。类型的对象
coder.nullcopy 声明未初始化的变量
coder.resize 调整编码器的大小。类型的对象
coder.target 确定代码生成目标是否是指定的目标
coder.typeof 创建编码器。类型的对象to represent the type of an entry-point function input
coder.unroll 通过为每次循环迭代创建循环体的副本来展开for-loop
coder.varsize 声明可变大小的数组
编码器。MexConfig 为fiaccel编写加速配置对象的代码
编码器。FixptConfig 浮点到定点转换配置对象
编码器。ArrayType 表示MATLAB数组集
编码器。常数 表示包含一个MATLAB值的集合
编码器。EnumType 表示MATLAB枚举集
编码器。FiType 表示MATLAB定点数组的集合
编码器。PrimitiveType 表示一组逻辑、数字或字符数组
编码器。StructType 表示MATLAB结构数组集
编码器。类型 表示MATLAB值的集合

手动转换

buildInstrumentedMex 生成编译的C代码函数,包括日志记录
showInstrumentationResults 结果由仪器记录,编译C代码函数
clearInstrumentationResults 清晰的由仪器记录结果,编译的C代码函数
fi 构造定点数值对象
fimath 设置定点数学设置
numerictype 构造数字类型对象
0 创建具有定点属性的所有零数组
创建所有具有定点属性的数组
将变量转换为不同的数据类型

Simulink模型的定点设计金宝app

转换为定点

准备转换系统

DataTypeWorkflow。转换器 创建定点转换器对象

收集范围

DataTypeWorkflow。转换器 创建定点转换器对象

转换为定点

nt 确定定点数据类型
DataTypeWorkflow。转换器 创建定点转换器对象
DataTypeWorkflow。ProposalSettings 对象用于数据类型提议

验证定点转换

DataTypeWorkflow。转换器 创建定点转换器对象
DataTypeWorkflow。结果 对象,其中包含运行结果信息
DataTypeWorkflow。DiffRunResult 对比两次模拟运行的结果
DataTypeWorkflow。DiffSignalResult 比较两个信号的结果

单精度设计的MATLAB代码

convertToSingle 将双精度MATLAB代码转换为单精度MATLAB代码
coder.config 创建用于定点或单精度转换的配置对象
编码器。SingleConfig 双精度到单精度转换配置对象

Simulink的单精度设计金宝app

DataTypeWorkflow.Single.convertToSingle 将双精度系统转换为单精度系统
这个话题有用吗?