基于查找表的正弦波生成的研究

本文原文为;《A Study on Look-up TableBased Sine Wave Generation》

Abstract

正弦波发生器广泛应用于通信、控制、生物医学电子和音乐合成等领域,基于查找表(LUT)的正弦波发生器由于其结构简单而成为一种常见的实现方式。此外,LUT是一种通用的功能逻辑器件,可以很好地适应可编程逻辑场景,这是因为它们与FPGA的多个方面交织在一起。本文旨在探讨LUT正弦波的实现,包括线性和三次插值的变化,特别是考虑到ROM大小变化的影响。文中还给出了与数字谐振器、CORDIC(坐标旋转数字计算机,Coordinate Rotation Digital Computer)等其他正弦波产生技术的比较,包括THD(Total Harmonic Distortion,总谐波失真)、SNR(SIGNAL NOISE RATIO,信噪比)、ENOB(信纳比)等与信号相关的元素,以及资源和功耗等硬件实现因素。这些源代码是用Verilog编写的,并且是为FPGA Spartan-3E开发板和Synopsis实施的,而无需考虑模拟重建。

1 Introduction

可测性测试和可测性设计(DFT)已经成为大多数电子设计的一个重要方面,而且考虑到现代封装技术涉及的结构复杂性。知识产权(IP)内核,混合技术和混合信号系统带来了许多挑战,这些挑战主导了测试以及开发时间和成本。在过去几十年的数字技术革命中传统的方法,如参数表征或特定于硬件的测试系统,远远不能提供自动测试设备(automatic testing equipment,ATE)和内建自测试( built in self testin,BIST)所达到的成本稳定效果。在考虑远程或现场监控解决方案的场景时,这一点尤其值得关注,因为远程或现场监控解决方案需要持续不断的自诊断和自校准策略。此外,现代设计中混合模拟和数字(MAD)信号集成的持续趋势催生了新的测试解决方案,以适应新的测试解决方案,特别是在时钟频率由于信号完整性问题而将模拟和数字信号推向同一领域的时代。
局部刺激产生是开发可行的BIST(内建自测试( built in self testin,BIST))方案的强制性和关键性要求之一。像MAD-BIST这样的策略[1],似乎是朝着正确方向迈出的一步,对任意波形发生器都有至关重要的作用。基于查找表(LUT)的正弦发生器具有许多优点,如简单、瞬时频率和跳相,这些优点与数字-模拟(DAC)策略相结合(例如Δ-∑调制器,提供了一种完整的数字信号产生解决方案)。LUT一直被用于解决数字系统中的各种问题,并且它们在现场可编程门阵列(FPGA)中的存在已广为人知。基于这样的原因,可以理解基于LUTS的正弦发生器、它们的问题和替代方案。
本文提出的工作旨在比较在不同计算算法中实现的查找表的行为性能。作为品质因数,评估了以下参数:THD、ENOB、SNR、FPGA资源消耗以及不同时钟频率下的ASIC面积和功耗。第二节描述了基于查找表的实现背后的原理和使用的内插策略。第三节给出了仿真和软件级实现的结果。第三节和第四节分别对所获得的数据和结论进行了讨论。

2 Look-up table method

在数字环境下,利用LUTS产生正弦波具有编程简单、速度快等优点,是一种广为人知的首选方法。直接查找表(DLUT),或者有时被称为数控振荡器(NCO)或直接数字频率合成(DDFS),基本上应用相位到幅度转换策略,其中预先计算的正弦/余弦波的系数存储在表中,并通过使用相位累加器来访问。存在多种可变压缩率的LUT方法,其中一些已在[2][3]中进行了解释。当没有应用压缩时,对于整个波周期,该表-或者在涉及数字结构时称为ROM-包含N个均匀间隔的系数(coefficients)。然后,相位累加器可用于通过由增量(∆)调谐的连续迭代(i)来调节对N个预存储角度的访问。
下面的公式(1)表示每次迭代的波系数 ( W c o e f f W_{coeff} Wcoeff),当量,而(2)表示基于向下取整函数的余数函数。
基于查找表的正弦波生成的研究_第1张图片
如在(1)上所观察到的,该序列在步长超过N的迭代时间处重新设置,从而有效地产生了环绕。 基于迭代或采样频率(fs)的生成波的频率如下(3)所示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200309153711915.pn
无需数学计算,该方法具有强大的性能优势,其中信号纯度取决于表的字长、步长和迭代速率。 由于[4]中所述的多种原因,可能会导致各种类型的失真。为了改善面积/资源消耗,以及由于小数寻址而造成的失真,多年来已经提出了许多策略,其中四分之一波表压缩和内插似乎已经成为常见的开始策略

A 四分之一波压缩

该压缩策略利用正弦/余弦波的对称性,并且仅基于单位圆的第一象限即从0到 π / 2 \pi/2 π/2的角度来存储系数。在数字实现中,两个最高有效位可用于识别角度(或更准确地说是地址)的象限; 因此,可以按照(4)进行补偿,其中 θ \theta θ代表与迭代相关的角度。
基于查找表的正弦波生成的研究_第2张图片
在四分之一波压缩下用DLUT产生正弦波的过程中,三角波和锯齿波同时产生(由于ROM寻址),这可以证明它在BIST等各种场景中的应用。

B 插值 Interpolation

插值策略通常用于从图像处理、通信到计算机图形学的许多应用中,以补偿丢失的数据、缺乏点密度等。简单地说,插值引入了已知点之间的附加数据,从而改善了过渡。最基本的插值是线性插值,它基本上是根据权重因子 α \alpha α求两点的平均值,如(5)中所示。其中0< α \alpha α<1.
在这里插入图片描述
具有更无缝结果的策略,同时又保持实现简便性的是三次插值,它利用了集合中的两个附加点(从目标插值的每一侧再增加一个点)。式(6)给出了基本的结果计算, (7)和(8)定义了相关系数。
基于查找表的正弦波生成的研究_第3张图片

3 结果

在Verilog上实现了多种基于CoreLUT的正弦波发生器,它们具有不同的表大小和策略。 使用ModelSim PE Student Edition 6.6b Rev. 2010.05进行功能验证和矢量生成。 Xilinx的ISE 10.1.03用于Spartan 3E xc3s500e-4-fg320目标的文件生成。此外,Synopsis采用0.35μm技术,没有对面积或功率进行优化,以获得不同时钟频率的总动态功率和面积消耗(参见稍后的图2至4)。线性和立方插值实现均使用0.5,而立方实现使用(9)和(10)中的系数。系数用向下垂直递增的m和从左到右递减的字母(即d、c、b和a)表示,其中(9)表示基本的实现友好集,(10)称为Catmull-Rom样条[5]。
基于查找表的正弦波生成的研究_第4张图片
以下是实施和相应结果的列表。还实施了其他策略,如二阶数字谐振器[[5]、CORDIC、Hutchison,以便深入了解LUT特性。
表1. FPGA资源使用情况比较。Table 1. FPGA resource usage comparison.
基于查找表的正弦波生成的研究_第5张图片
PPC:每周期点数;FF:触发器;LUT:4输入LUT;QC:四分之一周期;LI:线性;CI:立方I;C II:立方II;H:哈钦森;CC:CORDIC

基于查找表的正弦波生成的研究_第6张图片
图1.生成的正弦波频谱:a)二阶数字谐振器〜每个周期256点 b)四分之一波LUT 256点 ROMc)三次插值32 pts ROM

基于查找表的正弦波生成的研究_第7张图片
图2.不同ROM大小的四分之一波LUT比较
基于查找表的正弦波生成的研究_第8张图片
图3. 20 ns时钟的各种策略比较a)总动态功率b).QC面积:四分之一波长压缩。 QC / Hutch。/ CORDIC 1:4K; 2:1K; 3:256 线性/立方1:256; 2:64; 3:8; pts per ROM或循环。

表2.各种正弦波发生器实现的信号参数化
基于查找表的正弦波生成的研究_第9张图片

4 讨论

虽然基于LUT的正弦波发生器具有许多积极的属性,但是在图1上可以观察到,产生的信号的频谱表示呈现出不一定被理解的特征。虽然基于LUT的正弦波发生器具有许多正属性,但是可以在图1上观察到,所生成信号的频谱表示呈现不一定被理解的特性。当与诸如二阶数字谐振器之类的策略相比时,该策略在每个象限甚至每个周期中不呈现相同的点,很明显,谐波的贡献甚至对于补偿策略(如三次插值)也很重要。应该注意的是,DAC引入的自然效应通常会将生成的LUT策略信号转换为具有改进频谱的信号。表2提供了对这种方式的更多了解如果二阶谐振器的总谐波失真(THD)明显比基于LUT的策略的总谐波失真(THD)要低,但是一旦应用插值,差异就不那么明显了,并且从有效比特数(ENOB)和信噪比(SNR)的频谱插值可以发挥优势。
从图2 a)中,我们观察到4K,1K和256ROM大小的四分之一波压缩实现的摘要实现的总动态功率的预期行为,其中功率随时钟频率和ROM大小的增加而增加。 同时,在图2b)和c)中,与基于LUT的策略相比,诸如CORDIC之类的策略在面积和功耗上都非常昂贵。 即使使用两个俯仰LUT方法的Hutchison方法也可以更具优势,甚至可以与面积上的三次插值相媲美,尽管其功耗通常仍优于插值。 再次表1说明了在考虑资源时基于LUT的策略的优势。 理论上,三次插值的系数I更易于设计,因为只有2和0的幂。有趣的是,对于三次插值I和三次插值II来说,它们在资源利用方面的作用与它们在大纲实现方面的作用是相反的,这让我们可以更深入地了解fpga环境与ASIC设计之间的继承差异。

5 结论

LUT代表了数字电子工具箱的关键要素,其功能灵活性使其成为众多策略和设计的关键组成部分。当考虑MAD信号场景时,尤其是对于自诊断方案,基于LUT的正弦波发生器作为BIST场景的有效替代方案就不足为奇了。此外,从信号和实现的角度比较它们的性能,可以改进在考虑设计时的决策位置。结果表明,就面积和总动态功耗而言,1/4周期的LUT实现是可取的,但如果不采用诸如内插等策略,信号纯度就会受到一定程度的影响。在未来的工作中,预计会对更多的元素和实现进行更深入的分析。

你可能感兴趣的:(LUT查找表)