Sine 和 Cosine 模块
通过利用象限波对称性的查找表方法实现定点正弦或余弦波
库:
Simulink /
Lookup Tables
描述
Sine 和 Cosine 模块通过利用象限波对称性的查找表方法来实现定点正弦和/或余弦波。模块可以输出输入信号的以下函数,具体取决于您为输出公式参数选择的设置:
sin(2πu)
cos(2πu)
exp(j2πu)
sin(2πu) and cos(2πu)
请在查找表的数据点数参数中定义查找表点数。当您将查找表数据点指定为 (2^n)+1
(其中 n 是整数)时,模块实现最有效。
使用输出字长参数指定定点输出数据类型的字长。输出的小数长度等于输出字长减去 2。
示例
端口
输入
u — 要实现为定点正弦波或余弦波的输入信号
实数值信号
输入信号 u,指定为实数值标量、向量或矩阵。
提示
要获得有意义的模块输出,模块输入值应位于 [0, 1) 的范围内。对于不在此范围内的输入值,它们将被转换为无符号数据类型,发生溢出时将进行绕回。对于这些超出范围的输入,模块输出可能没有意义。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
输出
sin(2*pi*u) — 定点正弦波
实数值定点信号
定点正弦波,使用查找表方法实现。
依存关系
当输出公式设置为 sin(2*pi*u) 或 sin(2*pi*u) and cos(2*pi*u) 时,此端口启用。
数据类型: fixed point
cos(2*pi*u) — 定点余弦波
实数值定点信号
定点余弦波,使用查找表方法实现。
依存关系
当输出公式设置为 cos(2*pi*u) 或 sin(2*pi*u) and cos(2*pi*u) 时,此端口启用。
数据类型: fixed point
exp(j*2*pi*u) — exp(j*2*pi*u)
复数值定点信号
exp(j*2*pi*u),使用查找表方法实现。
依存关系
当输出公式设置为 exp(j*2*pi*u) 时,此端口启用。
数据类型: fixed point
参数
输出公式 — 选择要输出的信号
cos(2*pi*u)
| sin(2*pi*u)
| exp(j*2*pi*u)
| sin(2*pi*u) and cos(2*pi*u)
编程用法
模块参数:Formula |
值:'sin(2*pi*u)' | 'cos(2*pi*u)' | 'exp(j*2*pi*u)' | 'sin(2*pi*u) and cos(2*pi*u)' |
查找表的数据点数 — 指定要从查找表中检索的数据点数量
(2^5)+1
(默认) | 整数,大于或等于 2
当您将查找表的数据点指定为 (2^n)+1
(其中 n 是整数)时,实现的效率最高。为了与输出字长参数兼容,查找表的数据点数必须小于或等于 (2^(Output word length-2)+1)。
编程用法
模块参数:NumDataPoints |
类型:标量 |
值:integer >= 2 |
默认值:'(2^5)+1' |
输出字长 — 指定输出信号的定点数据类型的字长
16
(默认) | 从 2 到 53 的整数
输出的小数长度等于输出字长减去 2。为了与查找表的数据点数参数兼容,(2^(Output word length - 2) +1) 必须大于或等于查找表的数据点数。
注意
模块使用双精度浮点值来构造查找表。因此,输出中可以实现的最大精度为 53 位。将字长值设置为大于 53 位并不会提高输出的精度。
编程用法
模块参数:OutputWordLength |
类型:标量 |
值:integer from 2 to 53 |
默认值:'16' |
查找表的内部规则优先级 — 指定进行中间计算的内部规则
速度 (默认) | 精度
选择速度可以提高计算速度。但这样可能会损失精度,通常最多 2 位。
编程用法
模块参数:InternalRulePriority |
值:'Speed' | 'Precision' |
默认值:'Speed' |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
HDL 代码通过使用您在 Simulink 模块参数中指定的四分之一波查找表来实现 Cosine 和 Sine 模块。
要避免在 HDL 代码中生成除法运算符 (/
),对于查找表的数据点数,请输入 (2^
。n
)+1n
是整数。
ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
如果您使用 Intel® MAX 10 设备,要将查找表映射到 RAM,请当在 Quartus 工具中创建工程时添加以下 Tcl 命令:
set_global_assignment -name INTERNAL_FLASH_UPDATE_MODE "SINGLE IMAGE WITH ERAM"
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)