Trigonometric Function
指定应用于输入信号的三角函数
库:
Simulink /
Math Operations
HDL Coder /
Math Operations
HDL Coder /
HDL Floating Point Operations
描述
Trigonometric Function 模块执行常见的三角函数,并以 rad 或 rev 为单位输出结果。
支持的函数
可以从函数下拉列表中选择以下函数之一。
函数 | 描述 | 数学表达式 | MATLAB® 等效函数 |
---|---|---|---|
sin | 输入信号的正弦 |
| sin |
cos | 输入信号的余弦 |
| cos |
tan | 输入信号的正切 |
| tan |
asin | 输入信号的反正弦 |
| asin |
acos | 输入信号的反余弦 |
| acos |
atan | 输入信号的反正切 |
| atan |
atan2 | 输入信号的四象限反正切 |
| atan2 |
sinh | 输入信号的双曲正弦 |
| sinh |
cosh | 输入信号的双曲余弦 |
| cosh |
tanh | 输入信号的双曲正切 |
| tanh |
asinh | 输入信号的反双曲正弦 |
| asinh |
acosh | 输入信号的反双曲余弦 |
| acosh |
atanh | 输入信号的反双曲正切 |
| atanh |
sincos | 输入信号的正弦;输入信号的余弦 | — | — |
cos + jsin | 输入信号的复指数 | — | — |
CORDIC 逼近方法
CORDIC 是 COordinate Rotation DIgital Computer(坐标旋转数字计算方法)的缩写。基于吉文斯旋转的 CORDIC 算法是最节省硬件资源的可用算法之一,因为它只需进行迭代移位相加运算。有关详细信息,请参阅详细信息。模块输入有进一步的要求。
有关何时将函数设置为 sin
、cos
、sincos
或 cos + jsin
,并将逼近方法设置为 CORDIC 的详细信息,请参阅 Port_1。
下表概述了输入无效时发生的情况。
模块用法 | 无效输入的影响 |
---|---|
仿真模式 | 出现错误。 |
生成的代码 | 发生未定义的行为。对于生成的代码,避免依赖未定义的行为。 |
查找逼近方法
有关何时将函数设置为 sin
、cos
、sincos
或 cos + jsin
,并将逼近方法设置为查找的详细信息,请参阅 Port_1。
示例
限制
仅当逼近方法设置为 CORDIC 或查找时,才可以使用定点输入信号。CORDIC 和查找逼近可用于
sin
、cos
、sincos
、cos + jsin
和atan2
函数。除
atan2
之外,此模块中的所有函数都支持复输入信号。当您将逼近方法设置为查找时,数据点的数量受到以下因素的限制:
smallEnoughNumDataPoints = 2(inputFractionLen-2)+1
bigEnoughFractionLen = log2(numberOfDataPoints - 1)+2
其中:
smallEnoughNumDataPoints 是由指定的输入小数长度 inputFractionLen 表示的最大数据点数。
bigEnoughFractionLen 是表示指定的数据点数 numberOfDataPoints 所需的最小小数长度。
当您将函数设置为
sin
、cos
、sincos
或cos + jsin
并将逼近方法设置为 CORDIC 时,模块具有以下限制:当您使用有符号定点类型时,输入角必须在 [–2π, 2π) 弧度范围内。
当您使用无符号定点类型时,输入角必须在 [0, 2π) 弧度范围内。
当您将函数设置为
atan2
且逼近方法设置为 CORDIC 时,模块具有以下限制:输入的大小必须相同,或者至少一个值必须是标量值。
两个输入必须具有相同的数据类型。
当您使用有符号定点类型时,字长必须等于或小于
126
。当您使用无符号定点类型时,字长必须等于或小于
125
。
当您将函数设置为
sin
、cos
、sincos
或cos + jsin
并将逼近方法设置为查找时,模块具有以下限制。当您使用有符号定点类型时,输入角必须在 [-2π,2π] 弧度范围内。
当您使用无符号定点类型时,输入角必须在 [0,2π) 弧度范围内。
当您将函数设置为
atan2
且逼近方法设置为查找时,模块具有以下限制:输入的大小必须相同,或者至少一个值必须是标量值。
两个输入必须具有相同的数据类型。
端口
输入
输出
参数
模块特性
详细信息
参考
[1] Volder, Jack E., “The CORDIC Trigonometric Computing Technique.” IRE Transactions on Electronic Computers EC-8 (1959); 330–334.
[2] Andraka, Ray “A Survey of CORDIC Algorithm for FPGA Based Computers.” Proceedings of the 1998 ACM/SIGDA Sixth International Symposium on Field Programmable Gate Arrays. Feb. 22–24 (1998): 191–200.
[3] Walther, J.S., “A Unified Algorithm for Elementary Functions,” Proceedings of the Spring Joint Computer Conference, May 18-20, 1971: 379–386.
[4] Schelin, Charles W., “Calculator Function Approximation,” The American Mathematical Monthly 90, no. 5 (1983): 317–325.
扩展功能
版本历史记录
在 R2006a 之前推出
另请参阅
模块
函数
cordicsin
(Fixed-Point Designer) |cordiccos
(Fixed-Point Designer) |cordicsincos
(Fixed-Point Designer)