dsphdl.NCO
生成真实的或复杂的正弦信号
描述
甲系统对象™生成真实的或复杂的正弦信号,同时提供hardware-friendly控制信号。数控振荡器(NCO)积累阶段增加和使用的量化输出蓄电池作为索引来查找表包含正弦波值。定点的环绕蓄电池和量化器的数据类型提供周期性的正弦波,并量化减少必要的表的大小对于一个给定的频率分辨率。
例如如何使用这个系统对象,生成一个正弦波设计一个HDL-Compatible NCO来源。有关配置和实现的更多信息,请参考算法部分。
甲系统对象提供了这些功能。
可选的框架输出。
一个查找表压缩选项减少查找表的大小。这种压缩结果小于1 LSB损失精度。看到查找表的压缩为更多的信息。
一个可选的输入参数为外部发抖。
一个可选的重置认为重置相位累加器的初始值。
一个可选的输出参数为当前NCO阶段。
生成真实的或复杂的正弦信号:
创建
dsphdl.NCO
对象并设置其属性。调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?
创建
语法
描述
创建一个数控振荡器(NCO)系统对象,hdlnco
= dsphdl.NCOhdlnco
,生成一个真实的或复杂的正弦信号。生成的信号的振幅总是1。
设置使用一个或多个属性名称-值对。在单引号附上每个属性的名字。例如,hdlnco
= dsphdl.NCO (名称,值
)
hdlnco = dsphdl.NCO (“NumQuantizerAccumulatorBits”,12,…“AccumulatorWL”, 16);
创建一个区域的hdlnco
= dsphdl.NCO (公司
、“PhaseIncrementSource”、“房地产”)PhaseIncrement
属性设置为公司
,一个整数标量。使用PhaseIncrement属性,设置PhaseIncrementSource财产“属性”
。您可以添加其他名称,值
对之前或之后PhaseIncrementSource
。
属性
使用
语法
描述
对象返回的波形值,Y
作为一个正弦值,一个余弦值,复指数的值,或正弦、余弦
)的值,根据波形财产。
(
返回一个波形,Y
,ValidOut
)= hdlnco (ValidIn
)Y
使用波形参数属性,而不是输入参数。
使用这个语法,设置PhaseIncrementSource,PhaseOffsetSource,DitherSource属性“属性”
。这些属性是相互独立的。例如:
hdlnco = dsphdl.NCO (“PhaseIncrementSource”,“属性”,…“PhaseIncrement”phIncr,…“PhaseOffset”phOffset,…“NumDitherBits”4)
(
返回一个波形,Y
,ValidOut
)= hdlnco (公司
,抵消
,高频振动
,ValidIn
)Y
相位增量,公司
相抵消,抵消
优柔寡断,高频振动
。
这个语法适用于当你设置PhaseIncrementSource,PhaseOffsetSource,DitherSource属性输入端口的
。这些属性是相互独立的。你可以混合和匹配的激活这些参数。PhaseIncrementSource
是输入端口的
默认情况下。例如:
hdlnco = dsphdl.NCO (“PhaseOffsetSource”,输入端口的,…“DitherSource”,输入端口的)为k = 1:1 / Ts y (k) = hdlnco (phIncr, phOffset ditherBits,真的);结束
(___)= hdlnco (___,
重置累加器的值,但没有复位输出样本的管道。如果ResetAccum
,ValidIn
)ValidIn
是真正的
,那么对象继续生成输出波形从重置累加值。
使用这个语法,设置ResetAction财产1
(真正的
)。这个语法可以包括任何从其他语法的参数。
输入参数
输出参数
对象的功能
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
例子
算法
引用
[1]Cordesses, L。,"Direct Digital Synthesis: A Tool for Periodic Wave Generation (Part 1)."IEEE信号处理杂志。问题4卷21日,2004年7月,页50 - 54。