主要内容

点积

生成两个向量的点积

  • 图书馆:
  • 金宝appSimulink /数学运算

    HDL编码器/数学运算

  • 点积块

描述

这个点积块生成输入向量的点积。标量输出,Y,等于MATLAB®操作

Y = sum(conj(u1) .* u2)

在哪里u1u2表示输入向量。输入可以是向量、列向量(单列矩阵)或标量。如果两个输入都是向量或列向量,那么它们的长度必须相同。如果u1u2都是列向量,块输出等效的MATLAB表达式u1'*u2

输入向量的元素可以是实数或复数信号。输出的信号类型(复数或实数)取决于输入的信号类型。

输入1 输入2 输出

真正的

真正的

真正的

真正的

复杂的

复杂的

复杂的

真正的

复杂的

复杂的

复杂的

复杂的

港口

输入

全部展开

表示点积计算的第一个操作数的信号。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

表示点积计算的第二个操作数的信号。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

输出

全部展开

由两个输入信号的点积计算产生的输出信号。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

参数

全部展开

清除此复选框可使所有输入具有不同的数据类型。

程序化使用

块参数:InputSameDT
类型:特征向量
价值观:“开”|“关闭”
违约:“开”

降低Simulink的输出范围值金宝app®检查。

金宝appSimulink使用最小值来执行:

笔记

输出最小不饱和或剪裁实际输出信号。使用饱和块来代替。

程序化使用

块参数:奥特明
类型:特征向量
价值观:“[]”|标量
违约:“[]”

将Simulink检查的输出范围的上限值指定为有限、实数、双精度标量值。金宝app

笔记

如果指定总线对象作为此块的数据类型,则不要在该块上设置总线数据的最大值。金宝appSimulink忽略此设置。相反,设置指定为数据类型的总线对象的总线元素的最大值。有关总线元素的Maximum参数的信息,请参见金宝app仿真软件。BusElement

金宝appSimulink使用最大值执行以下操作:

笔记

输出最大不饱和或剪裁实际输出信号。使用饱和块来代替。

程序化使用

块参数:OutMax
类型:特征向量
价值观:标量
违约:“[]”

选择输出的数据类型。类型可以继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType.有关更多信息,请参见信号的控制数据类型

当您选择继承的选项时,块的行为如下:

  • 继承:通过内部规则继承-S金宝appimulink选择一种数据类型来平衡数值精度、性能和生成的代码大小,同时考虑嵌入式目标硬件的特性。如果更改嵌入的目标设置,则内部规则选择的数据类型可能会更改。例如,如果块与类型为的输入相乘int8获得int16ASIC/FPGA指定为目标硬件类型,则输出数据类型为sfix24.如果未指定(假设32位通用)换句话说,将通用32位微处理器指定为目标硬件,输出数据类型为int32.如果目标微处理器提供的单词长度都不能容纳输出范围,Simulink软件会在诊断查看器中显示一个错误。金宝app

    软件并不总是能够同时优化代码效率和数值精度。如果内部规则不能满足你对数字精度或性能的特定需求,请使用以下选项之一:

    • 显式指定输出数据类型。

    • 使用以下简单选项:继承:与输入相同

    • 显式指定默认数据类型,例如fixdt(1,32,16)然后使用定点工具为模型提出数据类型。有关更多信息,请参见fxptdlg(定点设计师)

    • 要指定自己的继承规则,请使用继承:通过反向传播进行继承然后用a数据类型传播块。有关如何使用此块的示例可在Signal Attributes库中找到数据类型传播示例块。

    笔记

    当输入是小于single precision的浮点数据类型时,继承:通过内部规则继承取决于设置的继承小于单精度的浮点输出类型配置参数。当编码数据类型所需的位数小于编码单精度数据类型所需的32位时,数据类型小于单精度数据类型。例如,一半int16小于单精度。

  • 继承:通过反向传播进行继承—使用驱动块的数据类型。

  • 继承:与第一次输入相同—使用第一输入信号的数据类型。

程序化使用

块参数:OutDataTypeStr
类型:特征向量
价值观:'继承:通过内部规则继承|“继承:与第一次输入相同”|“继承:通过反向传播继承”|“双人”|“单一”|“一半”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|‘uint64’|“fixdt(16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“<数据类型表达式>”
违约:'继承:通过内部规则继承'

选择此选项可根据定点工具和定点顾问的更改锁定此块的输出数据类型设置。有关更多信息,请参见使用锁定输出数据类型设置(定点设计师)

程序化使用

块参数:LockScale
类型:特征向量
价值观:“关闭”|“开”
违约:“关闭”

指定定点操作的舍入模式。有关更多信息,请参见四舍五入(定点设计师)

块参数始终舍入到最近的可表示值。要控制块参数的舍入,请使用MATLAB舍入函数在掩码字段中输入表达式。

程序化使用

块参数:RndMeth
类型:特征向量
价值观:“天花板”|“收敛”|“地板”|“最近”|“圆形”|“最简单”|“零”
违约:“地板”

指定溢出是饱和还是换行。

  • -溢出换行到数据类型可以表示的适当值。

    例如,数字130不适合有符号8位整数,并换行为-126。

  • -溢出饱和到数据类型可以表示的最小值或最大值。

    例如,与有符号8位整数关联的溢出可以饱和到-128或127。

提示

  • 当您的模型可能存在溢出,并且希望在生成的代码中显示饱和保护时,请考虑选择此复选框。

  • 当您希望优化生成代码的效率时,请考虑清除此复选框。

    清除此复选框还可以帮助您避免过度指定块如何处理超出范围的信号。有关更多信息,请参见故障排除信号范围错误

  • 当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。

  • 一般来说,代码生成过程可以在不可能溢出时进行检测。在这种情况下,代码生成器不会产生饱和代码。

程序化使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
违约:“关闭”

块特征

数据类型

布尔||不动点|一半|整数|

直接引线

是的

多维信号

是的

适应信号

没有

过零检测

没有

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

PLC代码生成
使用Simulink®PLC编码器生成结构化文本代码™.金宝app

定点转换
使用fixed-point Designer™设计和模拟定点系统。

之前介绍过的R2006a