0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于基于分段多项式近似的DDFS研究及FPGA实现

电子设计 来源:网络整理 作者:工程师吴畏 2018-06-22 14:55 次阅读

0 引言

感应式磁力仪基于法拉第电磁感应原理,用于探测近地空间的低频交变磁场[1],它通常自带标准信号源,用于在轨定标。高质量的定标检测信号,是保证感应式磁力仪探测到的变化磁场波形和频谱信息科学性的前提。直接数字频率合成技术[2](Direct Digital Frequency Synthesis,DDFS)于1971年被J.Tierney首次提出。DDFS采用数字技术,以相位为出发点进行频率的合成,具有高稳定性,高分辨率和较小的相位噪声,DDFS的性能指标远超传统频率合成技术,因此广泛应用于数字通信和精密仪器中。利用直接数字频率合成技术能为感应式磁力仪提供高精度的标准定标信号源。

DDFS输出信号的频率表示为:

关于基于分段多项式近似的DDFS研究及FPGA实现

其中FCW为频率控制字,传统方法的相幅映射结构基于查找表ROM。ROM容量随输出的位宽D成指数增长[3]。为了减少ROM容量,将相位累加器的位宽截断并保留高W位,作为相幅映射的输入位宽。由于相位截断,会使合成信号的无杂散动态范围(Spurious Free Dynamic Range,SFDR)有明显的下降。非量化输出的SFDR为所截断字长的线性函数[4],可近似为:

关于基于分段多项式近似的DDFS研究及FPGA实现

D为输出信号的位宽,SFDR应大于量化信噪比。利用三角函数四分之一象限对称性的象限压缩方法,能进一步减少查找表容量,节省75%的资源使用。

仅依赖对相位字的截断和象限压缩,无法可观地减小查找表容量。多种其他幅相映射方法被广泛研究,通常分为两大类:

ROM压缩算法的角分解法[6]和ROM-Less的幅相转换技术。ROM-Less型DDFS摆脱了大容量查找表的限制,利用逻辑运算,将相位转为幅度。如旋转角算法(CORDIC算法)[7],泰勒级数展开算法[8],分段线性插值[3]和分段多项式近似法[9]。

在分段多项式近似方法中,随分段多项式近似算法阶数和分段数的增加,在得到更小幅度误差和高SFDR同时,增加了硬件资源占用和功率消耗。因此平衡分段多项式近似算法的分段数与最高阶,是算法硬件实现平衡性能与资源占用的关键。

1 分段多项式近似算法方法研究

用不等分的两段四阶偶次幂多项式近似为目标函数,以区间压缩方法为前提,拟合余弦函数的前四分之一周期。相位分段点α将[0,π/2]分为两段,拟合目标函数表达式为:

关于基于分段多项式近似的DDFS研究及FPGA实现

pij(i=1,2,j=0,2,4)表示为第i段,j阶的系数。最大幅度误差MAE和SFDR是评价DDFS输出信号的两个重要指标,MAE降低到0时,理论上SFDR为无穷大。由于量化位宽和硬件资源的限制,在实际的硬件电路中无法实现。可通过减小MAE来增大SFDR。

α值固定时,通过最小均方MMSE得到对应目标函数最小误差的多项式系数:

关于基于分段多项式近似的DDFS研究及FPGA实现

在相位点为α=π/3处,取得最MMSE,最大绝对误差为2.1×10-4<2-12。表1为拟合结果多项式的系数。

关于基于分段多项式近似的DDFS研究及FPGA实现

f(x)的SFDR理论上限可通过傅里叶级数展开获得,由于所合成的余弦信号为偶对称信号,且有四分之一象限的对称性,因此只有奇数的余弦谐波系数非零。

关于基于分段多项式近似的DDFS研究及FPGA实现

关于基于分段多项式近似的DDFS研究及FPGA实现

图1为式(4)算法的傅里叶变换频谱图,图中所示理论上的SFDR上限为94.98 dBc。

关于基于分段多项式近似的DDFS研究及FPGA实现

基于单段四阶偶次幂多项式相幅映射输出的SFDR理论上限为74.352 dBc[9]。上述近似算法输出信号的SFDR大于该上限超过20 dBc。

2 基于定点数的相幅映射设计

用霍纳法则实现4阶偶次多项式可减少一个乘法器使用,降低运算复杂度。

关于基于分段多项式近似的DDFS研究及FPGA实现

本文所设计的DDFS结构理论上SFDR最大值为94.98 dBc,根据式(2)寻址位宽W应有W>94.98,取W=16,根据式(3)输出D为15位。上述DDFS结构图如图2所示。

关于基于分段多项式近似的DDFS研究及FPGA实现

2.1 固定系数乘法器优化

数字电路对于2的整数次幂运算能简化为逻辑左移或者右移,

关于基于分段多项式近似的DDFS研究及FPGA实现

式中,hik∈{-1,+1},dik∈{…,-2,-1,0,+1,+2,…}。M的最大值受被乘数的字长制约,应尽可能取小以降低结构的复杂性。图3所示为量化位宽为14的乘法器优化,其中虚线表示流水线级。

关于基于分段多项式近似的DDFS研究及FPGA实现

产生π/2弧度所需的固定系数乘法器如图4所示。

关于基于分段多项式近似的DDFS研究及FPGA实现

2.2 平方电路优化

平方运算优化分解为并行舍位运算,代替运算后的简单截取,降低电路的复杂性[10]。图2中所需的平方电路输入为15位,输出为16位。

关于基于分段多项式近似的DDFS研究及FPGA实现

改进4级流水线的平方电路如图5右所示。与直接截断相比仅有1 LSB的舍入误差,小于2-15。

关于基于分段多项式近似的DDFS研究及FPGA实现

量化误差对于SFDR的影响是非线性的,利用Nelder-Mead非线性单纯形法来重新计算式(12)中参数,优化后系数见表2。

关于基于分段多项式近似的DDFS研究及FPGA实现

图6为定点量化后输出信号的频谱,SFDR为约为93.03 dbc,与用浮点数计算下的理论SFDR最大值相差约2 dBc。因此本文的设计方法可在不明显增加硬件资源消耗的前提下,改善合成信号的SFDR。

关于基于分段多项式近似的DDFS研究及FPGA实现

3 FPGA仿真与结果分析

为了验证上述算法设计的结构DDFS的有效性,以ISE为开发平台,基于Xillinx spatan-6系列 XC6SLX16 FPGA进行系统仿真验证。

图7为FCW=127时将程序下载到FPGA中,利用虚拟逻辑分析仪chipscope在线采集到的波形数据。

关于基于分段多项式近似的DDFS研究及FPGA实现

表3列给出了本文设计方法与其他基于FPGA的DDFS实现的比较。

关于基于分段多项式近似的DDFS研究及FPGA实现

与文献[7]算法相比,本文方法在使用更少硬件资源的情况下,能得到输出误差更小,并有更大运算频率的输出信号。与文献[11]~文献[13]相比,在得到同等SFDR水平下,本文所用硬件资源有所减少,同时不影响最大运算频率。

4 结论

本文利用最小均方法得到的不等分的两段四阶偶次幂多项式为目标函数拟合的余弦函数,可产生大于单段情况下约20 dBc的无杂散动态范围。根据所得SFDR的上界,分析选择最优的相幅映射输入和输出位宽。优化了固定系数乘法器和平方器,通过Nelder-Mead非线性单纯形法来减少量化,舍入和截断所产生的误差。与理论上界差值仅为2 dBc,同时该DDFS结构在得到同等SFDR水平下,与其他设计方法比减少了资源使用,该设计方法为新一代天基星载感应式磁力仪的高精度定标信号源提供了新的设计思路。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1601

    文章

    21296

    浏览量

    593083
  • ddfs
    +关注

    关注

    0

    文章

    8

    浏览量

    10375
收藏 人收藏

    评论

    相关推荐

    一种新的记忆多项式预失真器

    一种新的记忆多项式预失真器摘要:提出了一种新的记忆多项式预失真器,对宽带功率放大器进行线性化.该方法主要利用非均匀时延来设计预失真器.软件仿真结果表明:当输入为宽带信号时,与传统的无记忆预失真技术
    发表于 08-08 09:52

    MATLAB多项式函数命令

    MATLAB多项式函数命令Roots 求多项式根 Poly 构造具有指定根的多项式 Polyvalm 带矩阵变量的多项式计算 Residue 部分分式展开(留数计算) Polyfit
    发表于 09-22 16:01

    分享一个MATLAB求多项式的系数

    MATLAB求多项式的系数:单变量:syms x yf1=x^4+2*x+1;f2=y^6+5*y^3+3;f3=x^5+2*x^3*y^4+x*y^2+4;c = sym2poly(f1)c
    发表于 10-02 13:41

    多项式线性拟合

    多项式线性拟合
    发表于 04-18 10:54

    如何用VHDL语言来实现特定本原多项式的M序列?

    `m序列的本原多项式f(x)=1+x^2+x^3+x^4+x^8。题目要求见图:`
    发表于 09-07 15:18

    labview怎么做二元多项式拟合?急!

    2.2 3.3 4.4 5.5 6.6 7.7 8.8],Z=[1 2 3 4 5 6 7 8 9],Z=f(x,y)。怎么利用labview编写实现二元多项式拟合?求出各个参数。labview中的多项式拟合,只能做一元的,不
    发表于 11-27 14:10

    Labview-多项式标定算法

    Labview-多项式标定算法
    发表于 08-19 12:23

    想用labview进行公式计算,请问是怎么实现上面是常数下面是多项式这种形式的多项式的运算?

    本帖最后由 一只耳朵怪 于 2018-5-21 11:23 编辑 想用labview进行如图所示的公式计算,我找到了多项式插件,但是没研究明白怎么实现上面是常数下面是多项式这种形
    发表于 05-21 11:03

    公式节点计算多项式出现错误,求助

    在引用一个公式节点计算多项式的值,出现定义错误,不知道出现了什么问题,没有输入的中间变量y我应该是要自己定义的吧
    发表于 09-23 22:27

    多项式回归的五个步骤

    多项式回归示例(sklearn实现
    发表于 05-20 06:42

    请问各位如何利用FPGA实现DDFS

    DDFS技术原理是什么?DDFSFPGA实现的参数怎样去计算?如何利用FPGA实现
    发表于 04-28 07:01

    多项式加减速控制方法研究

    多项式加减速控制方法研究,有需要的下来看看
    发表于 05-03 14:23 7次下载

    多项式插值算法框架

    多项式近似理论为图像的多项式插值算法提出一个统一的理论框架。密切多项式近似的理论框架包括采样点数目、密切阶数和导数
    发表于 01-05 13:55 0次下载

    关于分段多项式近似的DDFS研究FPGA实现的设计过程浅析

    频率合成技术 (Direct Digital Frequency Synthesis,DDFS)于1971年被J.Tierney首次提出。DDFS采用数字技术,以相位为出发点进行频率的合成,具有
    发表于 07-26 15:30 868次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>分段</b><b class='flag-5'>多项式</b><b class='flag-5'>近似的</b><b class='flag-5'>DDFS</b><b class='flag-5'>研究</b>及<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>的设计过程浅析

    有限域上置换多项式在密码学的应用

    AGW准则和分段方法是构造有限域上置换多项式的两种主要方法。介绍有限域上置换多项式在密码学和编码理论中的应用,总结利用AGW准则和分段方法构造有限域上置换
    发表于 06-08 14:36 7次下载