主要内容

NCO HDL优化

生成真实或复杂的正弦信号-为HDL代码生成优化

  • 库:
  • DSP系统工具箱HDL支持/信号操作金宝app

    DSP系统工具箱HDL支持/来源金宝app

  • NCO HDL优化块

描述

NCO HDL优化块产生真实或复杂的正弦信号,同时提供硬件友好的控制信号。

数字控制振荡器(NCO)累加一个相位增量,并使用累加器的量化输出作为包含正弦波值的查找表的索引。定点累加器和量化器数据类型的环绕提供了正弦波的周期性,量化减少了给定频率分辨率所需的表大小。

有关如何使用NCO HDL优化块生成正弦波的示例,请参见生成正弦波.有关配置和实现的更多信息,请参阅算法部分。

block还提供以下功能:

  • 可选的框架输出。

  • 查找表压缩选项,用于减少查找表的大小。这种压缩在精度上造成的LSB损失小于一个。看到查找表的压缩为更多的信息。

  • 外部抖动的可选输入端口。

  • 一个可选的复位端口,将相位累加器复位为初始值。

  • 一个可选的输出端口,为当前的NCO阶段。

港口

请注意

  • 这个块出现在来源库与相位增量来源参数设置为财产.唯一的输入端口是有效的

  • 这个块出现在信号操作库与相位增量来源参数设置为输入端口.这个配置显示了可选的输入端口公司

该图标显示的是设备的可选端口NCO HDL优化块。

输入

全部展开

相位增量,指定为标量整数。块强制转换该值以匹配累加器的字长。

模拟支持数据类型,但不支持HD金宝appL代码生成。

依赖关系

要启用该端口,请设置相位增量来源参数输入端口

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fixdt ([], N, 0)

相位偏移,指定为标量整数。

模拟支持数据类型,但不支持HD金宝appL代码生成。

依赖关系

要启用该端口,请设置相抵消源参数输入端口

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fixdt ([], N, 0)

抖动,指定为整数或整数列向量。向量的长度必须等于样品每帧参数值。

模拟支持数据类型,但不支持HD金宝appL代码生成。

依赖关系

要启用该端口,请设置高频振动源参数输入端口

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fixdt ([], N, 0)

允许NCO操作的控制信号,指定为布尔标量。当这个信号1,块增加相位并捕获任何输入值。当这个信号0,该块保存相位累加器并忽略任何输入值。

样品每帧参数大于1,此值允许处理样品每帧样本。

数据类型:布尔

重置累加器的控制信号,指定为布尔标量。当这个信号1,块将累加器重置为初始值。这个信号不会重置管道中的输出样本。

依赖关系

要启用该端口,请选择使能累加器复位输入端口参数。

数据类型:布尔

输出

全部展开

生成的波形,以标量或长度等于的列向量返回样品每帧参数值。输出可以是返回的单个端口因为值,返回的单个端口经验值价值观代表余弦+ j *正弦,或两个返回端口因为值,分别。当所有输入值都是定点类型或所有输入端口被禁用时,块使用输出数据类型参数。当任何输入值都是浮点类型时,块将忽略输出数据类型参数。在这种情况下,块以浮点值的形式返回波形。

浮点数据类型支持用于模拟,但不支持用于HDL代码生成。金宝app

依赖关系

默认情况下,这个输出端口是正弦波,.端口标签和格式会根据实际情况发生变化输出信号类型参数。

NCO的当前阶段,作为标量或作为长度等于的列向量返回样品每帧参数值。相位是量子化累加器加上偏移和增量的输出。如果量化被禁用,该端口返回应用偏移和增量的累加器的输出。

这些值是类型的fixdt (1, N, 0),在那里N量化器累加器比特数参数值。如果量化是禁用的,那么N蓄电池字长参数值。如果任何输入值是浮点类型,则块返回阶段作为浮点值。

浮点数据类型支持用于模拟,但不支持用于HDL代码生成。金宝app

依赖关系

要启用该端口,请选择使阶段港口参数。

数据类型:||fixdt (1, N, 0)

指示输出数据有效性的控制信号,返回为布尔标量。当输出有效的1,上面的值因为经验值,阶段港口是有效的。当输出有效的0,输出端口上的值无效。

样品每帧参数大于1,这个信号表示输出向量中所有元素的有效性。

数据类型:布尔

参数

全部展开

主要

请注意

此块支持金宝app输入用于模拟,而不是用于HDL代码生成。当所有输入值都是定点类型或所有输入端口被禁用时,块使用输出数据类型参数。当任何输入值都是浮点类型时,块将忽略输出数据类型参数。在这种情况下,块返回可选的波形阶段作为浮点值。

要使用定点设计器™数据类型覆盖特性,您可以获取通过应用输出值输入数据到一个可选端口。

您可以通过输入端口或为参数输入值来设置阶段增量。如果您选择财产,相位增量参数出现,以便输入值。如果您选择输入端口,公司端口出现在块上。

所产生的波形的相位增量,指定为整数。块强制转换该值以匹配累加器的字长。

依赖关系

要启用该参数,请设置相位增量来源参数财产

数据类型:||int8|int16|int32|uint8|uint16|uint32|fixdt ([], N, 0)

您可以通过输入端口或为参数输入值来设置相位偏移。如果您选择财产,相抵消参数出现,以便输入值。如果您选择输入端口,抵消端口出现在块上。

产生的波形的相位偏移,指定为整数。

依赖关系

要启用该参数,请设置相抵消源参数财产

数据类型:||int8|int16|int32|uint8|uint16|uint32|fixdt ([], N, 0)

您可以从输入端口或参数设置抖动。如果您选择财产,抖动位数参数出现。如果您选择输入端口时,一个端口出现在块上。如果您选择没有一个,块不添加抖动。

抖动位的数目,指定为正整数。

依赖关系

要启用该参数,请设置高频振动源参数财产

当您将此值设置为1,块具有标量输入和输出。当该值大于1,高频振动Port需要一个长度的列向量样品每帧因为经验值,阶段Ports返回长度的列向量样品每帧

默认情况下,该块实现一个非压缩查找表,并且该块的输出与以区域块。当您启用此选项时,块将实现一个压缩的查找表。Sunderland压缩方法减少了查找表的大小,损失的精度不到一个LSB。根据经验,伪自由动态范围(SFDR)比非压缩情况下低1-3 dB。压缩查找表的硬件节省允许通过增加累加器的字长和量化位的数目来提高性能。有关压缩方法的详细信息,请参见算法

选择此参数启用重置accum端口。当重置accum1,块将累加器重置为初始值。

如果您选择正弦余弦,块显示适用的端口,因为.如果您选择复指数,则输出为该形式余弦+ j *正弦港口也有标记经验值.如果您选择正弦和余弦,块显示两个端口,因为

上的当前NCO相位阶段端口。相位是量子化累加器的输出,外加偏移和增量。如果量化被禁用,该端口返回累加器的输出,并应用偏移和增量。

数据类型

舍入模式为定点操作。舍入模式具有值的只读参数地板上

溢出模式为定点操作。溢出模式是只读参数。定点数字在溢出时绕圈。

累加器数据类型说明。该参数为只读,有值二进制扩展点.类定义定点数据类型蓄电池签署蓄电池字长,蓄电池部分的长度参数。

该参数为只读。所有输出都是签名格式。

单位是位。该值必须包含符号位。

如果你通过了数字转换阶段参数,那么蓄电池字长确定LUT大小。对于HDL代码生成,LUT大小必须在2到2之间17条目。当您选择启用查找表压缩方法,取值范围为[5,21]。当你清楚启用查找表压缩方法,取值范围为[3,19]。有关此参数如何影响LUT大小的更多信息,请参见算法部分。

当你选择数字转换阶段参数时,不限制蓄电池字长参数值。

该参数为只读。累加器分数长度为零位。

累加器对整数进行操作。如果相位增量为fixdt如果输入小数部分,则块将返回错误。

当您选择数字转换阶段,该块将相位累加器的结果量化到一个固定的位宽。块使用这个量化值从查找表中选择一个波形值。量化相位累加器的输出使您能够在不降低频率分辨率的情况下减少查找表的大小。方法选择查找表的大小量化器累加器比特数参数。

当你清楚数字转换阶段,块使用完整的累加器值作为查找表的地址。

量化器累加器位的数目,指定为小于累加器字长的整数标量。对于HDL代码生成,此参数值必须导致LUT大小介于2和2之间17条目。当您选择启用查找表压缩方法,取值范围为[5,21]。当你清楚启用查找表压缩方法,取值范围为[3,19]。有关此参数如何影响LUT大小的更多信息,请参见算法部分。

依赖关系

要启用该参数,请选择数字转换阶段参数。

的数据类型因为,经验值港口。如果任何输入都是浮点类型,则忽略此参数。在这种情况下,输出数据类型是浮点数。

如果您选择二进制扩展点的块定义定点数据类型输出了输出字长,输出部分的长度参数。

该参数为只读。所有输出都是签名格式。

单位是位。该值必须包含符号位。

单位是位。

算法

全部展开

正弦波的频率分辨率取决于累加器的大小。给定一个样本时间,T年代,以及所需的输出频率分辨率Δf,计算必要的累加器字长,N

N 装天花板 日志 2 1 T 年代 Δ f

为所需的输出频率Fo,计算相位增量

p h 一个 年代 e n c r e e n t F 0 T 年代 2 N

量化相位累加器的输出使您能够在不降低频率分辨率的情况下减少查找表的大小。计算量化的字长以达到理想的伪自由动态范围(SFDR).

装天花板 年代 F D R 12 6

相位偏移和抖动可选地添加在累加器阶段。对于输出波形所需的相位偏移(以弧度为单位),计算相抵消块在累加器中添加的值。

p h 一个 年代 e o f f 年代 e t 2 N d e 年代 r e d p h 一个 年代 e o f f 年代 e t 2 π

NCO实现取决于您是否选择启用查找表压缩方法

在没有查找表压缩的情况下,块使用与以区域块。LUT的大小为2-2×W位,量化器累加器比特数W输出字长

块强制转换相位增量值以匹配累加器的字长。

如果不启用数字转换阶段,然后N,在那里N蓄电池字长.当您选择这些参数时,请考虑对模拟器内存和硬件资源的影响。

有关如何使用NCO HDL优化块生成正弦波的示例,请参见生成正弦波

兼容性的考虑

全部展开

行为在R2020a中改变

行为在R2020a中改变

行为在R2020a中改变

参考文献

[1] Cordesses, L.,“直接数字合成:周期波生成工具(第1部分)”。IEEE信号处理杂志.第21卷第4期,2004年7月,50-54页。

扩展功能

另请参阅

对象

介绍了R2013a