发明名称 一种基于FPGA的LM算法实现方法
摘要 本发明涉及一种基于FPGA的LM算法实现方法,特别涉及一种用于高斯曲线拟合的LM算法的FPGA实现技术,属于数据处理技术领域。首先对输入的串行数据流进行串并转换并进行归一化处理,之后进行LM算法迭代循环,循环中首先计算拟合变量,然后进行指数查找,进而计算迭代系数,迭代系数计算后利用延时子模块实现同步各个参数到达功能模块的时间,通过并行判断子模块对迭代系数进行修正,进而修正拟合变量。本发明提高了LM算法的处理速度,在满足高精度测量的同时,还能达到高速实时的需求,该算法模块既能计算线性模型参数,又能计算非线性模型参数,同时具有低功耗、小型化、高速等特点,可应用于实时高精度的信号处理领域。
申请公布号 CN102650982B 申请公布日期 2014.10.08
申请号 CN201210085501.5 申请日期 2012.03.28
申请人 中国航空工业集团公司北京长城计量测试技术研究所 发明人 胡春艳;申雅峰;何彦璋
分类号 G06F17/10(2006.01)I 主分类号 G06F17/10(2006.01)I
代理机构 代理人
主权项 一种基于FPGA的LM算法实现方法,其实现平台为FPGA,采用硬件描述语言实现,模块输入为采用串行数据流方式的外部测量数据,其特征在于,LM算法模块包括以下子模块:串并转换子模块、归一化处理子模块、拟合变量计算子模块、指数计算子模块、迭代系数计算A子模块、延时A子模块、迭代系数计算B子模块、延时B子模块和并行判断子模块;所述一种基于FPGA的LM算法实现方法,其步骤如下:1)通过串并转换子模块将本算法模块外部输入串行数据流转换为并行数据流送入归一化处理子模块;2)归一化处理子模块对步骤1)生成的并行数据进行归一化处理后送入拟合变量计算子模块;3)拟合变量计算子模块根据步骤2)归一化处理后的数据计算拟合变量及拟合变量的初值,并将该拟合变量及拟合变量初值送入指数计算子模块;4)指数计算子模块对步骤3)的拟合变量进行指数查找,并将指数计算值送入迭代系数计算A子模块;5)迭代系数计算A子模块对步骤4)产生的指数计算值进行计算,计算得到迭代过程中所需要修正的迭代参数,并将各迭代参数送入延时A子模块;6)利用延时A子模块同步步骤5)产生的各个迭代参数到达并行判断子模块的时间,并将处理结果送入并行判断子模块;7)通过并行判断子模块对经步骤6)处理的各迭代参数进行修正,得出当前情况下的拟合变量值Xi;8)对拟合变量值Xi再通过迭代系数计算B子模块和延时B子模块进一步对拟合变量进行处理;9)将经过步骤8)处理后的拟合变量送入步骤3),计算拟合变量初值,并将当前拟合变量及拟合变量初值送入步骤4),重复步骤4)~步骤9)进行LM算法迭代直到达到预先设定的迭代次数或者算法收敛。
地址 100095 北京市海淀区温泉镇环山村