更全的杂志信息网

用Vivado HLS实现粒子滤波算法的硬件加速

更新时间:2009-03-28

粒子滤波算法(particle filter, PF)[1]发展于20世纪90年代,是一种蒙特卡洛方法和递推贝叶斯估计相结合的新型估计算法.在处理非线性、非高斯系统的状态估计方面具有明显优势,有效地克服了扩展卡尔曼滤波等方法的局限性.粒子滤波算法自提出至今,在理论上取得了显著成果,但很多研究还停留在理论仿真阶段,如何简化算法复杂度,提高运算速度,将粒子滤波算法用硬件实现,并应用于更多的领域,是当前粒子滤波的研究热点.硬件实现粒子滤波,为达到更高的滤波精度,往往需要更多的粒子数量,就意味着需要更大的计算量.PF算法引入了重采样步骤,削弱了粒子滤波可以进行并行处理的优势,重采样成为了PF算法实时性处理的瓶颈.GPF(Gaussiam particle filter)算法[2]是PF算法的改进算法,用重要性采样方法更新状态的均值和方差,免去了重采样步骤,使PF算法的并行运行成为可能.同时GPF算法无需存储每次迭代得到的所有粒子的状态和权重,减少了对存储空间的要求.因此在硬件实现方面,GPF算法比PF算法更具优势[3].所以文中选择GPF算法作为硬件实现的目标算法,并将其运用到一个典型的二维纯方位跟踪(2 dimensional bearing-only tracking,2-D BOT)非线性系统中.

4.追责制度不落实。国企“一把手”对违规违纪肆无忌惮,有恃无恐,深究其重要原因就是现行的责任追究制度落不到实处。一是责任追究制度可操作性差。制度条款侧重原则性,很笼统,硬性条款少,不利于准确鉴定责任追究范畴,执行起来有难度;二是追究责任存在袒护心理。在追究责任时从保护领导干部的角度出发,口头批评的多,严格按照追责制度执行的少,甚至出想尽办法为其推脱责任,降低处罚等级,规避实质性制裁,发挥不出惩戒作用。追责制度落不到实处,违规违纪的“成本”过低,助长了其弄权腐化的气焰,不利于反腐工作的开展。

为满足实时性要求,运用现场可编程门列(field-programmable gate array,FPGA),实现硬件并行流水线计算是一种有效方法.已经有很多学者对PF算法的硬件实现进行了研究,并都取得了一定成果.为了更利于PF算法的硬件实现,文献[4]中简化了PF算法,着重对重采样方法进行了改进,并根据算法给出了合理的FPGA实现方案.文献[5]中研究了拟蒙特卡洛-高斯粒子滤波算法的并行结构,并在此算法的基础上给出了FPGA硬件实现方案.文献[6]中给出了基于System Generator的PF算法硬件实现方案,首先根据算法搭建Simulink模型,然后转换为RTL代码.以上的PF算法硬件实现过程,是对具体算法具体分析,给出具体硬件结构,因而得到的硬件模块都具有比较高的性能和资源效率.从总的开发流程来看,以上粒子滤波IP核各实现过程可概括为算法从软件到硬件的转换过程.但由于在开发过程中不但要考虑算法的可行性,还要充分考虑硬件的可实现性,需要关注硬件设计的每个环节,开发效率并不是很高,属于传统的FPGA开发过程.

文中针对传统FPGA开发流程实现PF算法过程中出现的问题,提出了基于Vivado HLS 的GPF算法的硬件实现方法.该方法根据特定的综合优化策略,直接将C语言算法综合为具有期望结构的FPGA硬件模块.可以用少量的时间开发出具有同样高性能的硬件模块,因而具有比较高的开发效率,同时也具有较强的开发灵活性[7-8]

1 Vivado HLS设计介绍

Vivado HLS是Xilinx公司推出的最新一代FPGA设计工具,该工具可以把用C标准语言(C、C++或SystemC)描述的算法模块编译并综合成寄存器传输级(RTL)硬件IP模型,产生实现硬件加速所需要的HDL代码,直接用于在FPGA中实现.在硬件开发过程中,开发者只需专注于算法规格、算法C语言实现以及算法宏观架构,Vivado HLS工具会自动考虑FPGA的微观架构.

用C标准语言设计出算法模块,辅以相应的约束文件和优化策略,同时给出测试模块行为和功能的C测试文件(C Test Bench).经过验证算法的正确性后,就可以进行RTL级综合生成,得到RTL代码.使用Vivado HLS内置仿真工具XSIM或者第三方仿真工具Modelsim进行功能仿真,进一步验证设计的架构行为和功能.得到的RTL代码可直接用于Xilinx设计开发环境,做系统集成、仿真以及生成bit文件.

Vivado HLS主要根据3种参数来描述模块的性能[9]:数据初始化间隔(Initiation Interval, II)、数据延迟(Latency)和面积(Area).其中II代表模块接收相邻两次新的输入数据之间的时钟间隔,更小的II意味着更大的数据吞吐量;Latency指模块从输入新的数据到给出所有输出数据的延迟时钟数,更小的Latency表示更快的计算速度;Area指模块所占用的逻辑资源.HLS默认以IILatencyArea为优先级顺序,对C算法进行综合实现.

2 基于GPF算法的纯方位跟踪

BOT模型常用于被动跟踪系统中,由于其隐蔽性好,抗干扰性强,历来是研究的热点和难点.目前对BOT问题研究大多基于扩展卡尔曼滤波器及其各种变形来进行.实际上由于系统本身的弱观测性和状态空间模型的强非线性,这些传统方法在精度方面往往不能满足要求.GPF算法处理BOT问题有很好表现.文中只研究在高斯背景下的纯方位跟踪问题[4],其系统噪声和量测噪声都是高斯白噪声.

在直角坐标系下,BOT模型的系统状态方程和观测方程分别为:

(1)

inline优化策略消除子模块与上层模块的层次边界,免去子模块的频繁读写调用,能使上层模块获得更好的性能.本设计中,把该策略用于运算操作比较少而调用很频繁的函数,如sqrtf(),atan2f(),expf()等.resource优化策略能为数组、运算操作符和函数接口等分配特定的资源类型,从而获得更高的资源效率和运算性能.例如,对某些乘法操作指定为DSP48乘法宏单元,对某些数组变量指定为双端口块RAM(RAM-2P-BRAM),以增加并行度.主要使用的综合优化策略如表3.

设粒子数量为Ns,以先验概率密度函数作为重要性密度函数,GPF算法在2-D BOT模型中实现滤波的步骤:

(1) 初始化.k=0时刻初始化目标状均值x(0)=[xp(0),xv(0),yp(0),yv(0)]T;初始化状态方差Σ(0)=[Σx(0),Σvx(0),Σy(0),Σvy(0)]T

(2) 产生粒子集合.从N(xk-1,Σk-1)抽样获得粒子集即:

xi(k-1)~N[x(k-1),Σ(k-1)]

(2)

(3) 采样.根据状态方程,采样得到k时刻粒子集为

xi(k)=Φxi(k-1)+Γw(k-1)

(3)

[ 4 ] 洪少华, 史治国, 陈抗生. 用于纯方位跟踪的简化粒子滤波算法及其硬件实现[J]. 电子与信息学报, 2009, 31(1): 96-100.

 

(4)

(4) 权值归一化.得到每一个粒子的权值后,再对所有权值归一化:

 

(5)

(5) 计算估计值.

 

(6)

(6) 计算k时刻的协方差.

 

(7)

(7) 返回到第(2)步进行迭代计算.

Ns数量较大时,单步迭代计算将耗费大量时间.为了缩短计算时间以及减少硬件资源的利用,获得更高的性能,文中从以下几个方面对算法进行简化与改进:① 预先计算步骤(3)中的常数项,把结果直接代入算法中;② 去掉权值归一化步骤,将除法运算转变为乘法运算,再把步骤(3)和步骤(5)的循环合并为一个大循环;③ 将以上算法关于矩阵的计算变为标量计算,以降低计算的复杂度;④ 尽量减少算法内部数组和顶层模块端口的读写操作,可以通过设定内部缓存解决这样的问题;⑤ 使用Vivado HLS任意精度数据类型[9],根据实际需要合理设定变量位宽,从而获得更快的计算速度和更少的资源占用;⑥ 尽量使用Vivado HLS提供的针对硬件优化的C库函数,在以上算法中,有乘法、除法、指数运算和反正切运算等,这些运算可直接从Vivado HLS数学运算库中调用.

设定目标初始状态均值x(0)=[1, 0.3, 3, 0.3]T;初始状态方差Σ(0)=[0.01, 0.002, 0.01, 0.002]T;系统噪声的方差Σw=[0.004, 0.004]T;量测噪声的方差Σv=0.000 5;T=1 s;量测点位于原点,仿真时间为50 s.对以上算法进行多次Matlab仿真,仿真结果表明该算法具有良好的跟踪效果.图1给出了其中某次仿真结果.

  

图1 2-D BOT模型的GPF算法Matlab仿真结果Fig.1 Matlab simulation results of GPF 2-D BOT

3 设计实现

GPF算法的单次滤波流程如图2.整个算法流程划分为5个任务步骤:任务1对端口数据预处理;任务2是一个循环,用于对粒子状态和计算粒子权重进行累加;任务3计算权重和的倒数并给出最终的状态估计;任务4也是一个循环,用于计算粒子状态方差的累加和;任务5计算最终的状态方差.文中以C++为描述语言,根据图2,给出基于GPF算法的2-D BOT模型的软件实现.

  

图2 2-D BOT模型的GPF算法流程Fig.2 Flowchart of implementation of GPF 2-D BOT

3.1 顶层模块设计

设计的顶层模块为State gpf-hls(ObsvType ZObserve, State Previous-state),其中输入参数ZObserve为当前时刻的观测值,Previous-state为前一时刻的状态,State为结构体类型:

typedef struct{

(3)积极创新融合发展新模式新业态 制造业、互联网、物流、金融等领域企业应面向变革生产模式、创新交易方式、破解融资难题等制造业关键领域,积极开展网络化协同研发制造、大规模个性化定制、服务型制造等“制造业+互联网”新模式的应用,并围绕工业电子商务、产融结合等重点方向积极创新融合发展新模式,促进我国制造业价值链全面升级,从而实现经济高质量发展。

StateType Position-state[4];

StateSigmaType Sigma-state[4];

分别于入院或体检时取清晨空腹静脉血检测血清PCT、hs-CRP及D-Dimer水平,分析老年肺炎患者的病情与 PCT、hs-CRP及 D-Dimer的关系。采用电化学发光法检测血清PCT水平,免疫比浊法检测血清hs-CRP及D-Dimer水平,所有操作均严格按说明书要求执行。

}State;

为了进一步研究低温下水树的生长速率变化,统计3组样本中的水树平均长度。测量水树长度时是以针尖为起点,以针尖正前方最长水树枝末端为终点。水树长度统计结果如图4所示。

其中成员数组Position-state[4]用于存放状态均值,Sigma-state[4]用于存放状态的方差.函数的返回值是State类型,返回同样的信息.设计中将粒子数定义为宏变量,以便于方便修改粒子数量.

3.2 高斯随机数生成

基于GPF算法的2-D BOT模型需要同时产生6路均值为0、方差为1的高斯随机数.在FPGA中产生的高斯随机数通常都由均匀随机数转换得到.根据文献[11],首先运用m序列法产生均匀随机数,然后再运用Box-Muller方法结合非均匀量化查表法得到高斯随机数.

高斯随机数子函数为:

void awgn-generator(

ap-int< NOISE-WIDTH> &noise0,

ap-int< NOISE-WIDTH> & noise1,

ap-int< NOISE-WIDTH> & noise2,

由于制图数据来源较为广泛,数据的表述方式和记录方法各有差异,因此,为了在绘编过程中能够统一协调这些数据,需要将不同数据的独立数据坐标转换为地理坐标,并将其在地图上呈现出来,运用Mapinfo进行编辑之后,在导入Coreldraw进行制版,然后就能够出图印刷了。流程如图2。

ap-int< NOISE-WIDTH> & noise3,

建议对外观异常的膀胱黏膜进行选择性活检。当尿细胞学检查阳性,或存在高风险外生性(非乳头状)肿瘤时,建议对外观正常的膀胱黏膜进行随机多点活检,活检部位包括膀胱三角区、膀胱顶以及膀胱各壁。若条件允许,建议在荧光膀胱镜或NBI引导下完成多点活检。

ap-int< NOISE-WIDTH> & noise4,

果.按照仿真初始值设定模块的初始状态state-estimated[0].在调用仿真之前,通过C++文件操作,把观测值从文件test-Z.txt中读入到数组Z[T]中.在仿真结束后,再把state_estimated[T]内容写入到文件中,用于分析校验.

该函数以参数引用的方式返回6路高斯随机数,数据类型是位宽为NOISE-WIDTH的有符号整形,通过设定小数点位置,就可以得到不同的幅度值.通过C/RTL协同仿真,波形如图3:

  

图3 6路高斯随机数波形Fig.3 Waves of 6-way Gaussian white noise generator

3.3 综合实现

当开发者没有添加任何综合优化策略时,Vivado HLS采用自带的默认策略进行综合实现[11].例如,C算法中的循环(Loop)默认不展开,每一次循环计算在同一个硬件单元实现,具有完全一样的状态.然而当算法的时序很复杂、计算量很大时,这些默认策略的综合结果往往不能满足设计要求.设计中首先选择目标器件xc7z020clg484,粒子数Ns分别为512,1 024,2 048,仅采用Vivado HLS的默认策略进行综合,得到表1数据延迟报告和表2资源利用报告.

本书为“含章文库”品牌系列之一,精选沈从文先生写给妻子张兆和的书信数十篇及五篇以爱情为主题的短篇小说,以纯真质朴的笔触抒写爱情的各种滋味,篇目经典,编校精当,集中体现了一代文人的浪漫情怀,使读者充分领略沈从文文字的独特魅力。本书为精装,特别收录原创中国传统彩墨插图三十幅,图文相得益彰,湘西风情跃然纸上。

 

表1 Vivado HLS默认策略综合的数据延迟报告Table 1 Summary of Latency with default directives

  

NsLatency时钟数II时钟数最小值最大值最小值最大值5122069102560622069112560631024413758512062413759512063204882745410240628274551024063

 

表2 Vivado HLS默认策略的资源利用报告Table 2 Summary of utilization with default directives

  

粒子数量Ns资源类型(总)BRAM-18K(280)DSP48E(220)FF(106400)LUT(53200)512116010979159111024166010984162992048441781700124490

state-estimated[i]=

Vivado HLS提供丰富的综合优化策略,用户可以使用不同的策略来调整和控制内部逻辑和I/O行为,以充分利用硬件并行优势,获得更高的性能.在图2的算法流程图中,数据从任务1依次传递到任务5,且后一个任务仅对前一个任务有数据依赖关系,所以在任务层面可以采用数据流-流水线策略.图4显示了模块在任务层面上的流水线运行方式.

  

图4 任务层面上的流水线处理Fig.4 Pipeline structure on the task hierarchy

pipeline优化策略实现任务内部流水线操作,能实现子任务(函数、循环)最大化并行运行,最大程度降低IILatency.在本设计中,将该策略运用到任务2的循环中,这样单次循环中的各项运算都将以并行方式运行,如果再对循环中的某些运算辅以其他策略,如inline,resource等,进入相邻两次循环的时间间隔就可以降低到1个时钟周期,即Loop II=1.最终的流水线效果如图5,其中Ns代表循环次数,整个任务的初始化间隔Function II=Ns

  

图5 循环的流水线操作Fig.5 Pipeline structure on the loop hierarchy

然而在某些情况下,例如在单次循环中存在对存储器读操作时,因为读存储器需要多出一个时钟来提供地址,pipeline策略就不能把Loop II降为1,而最低只能降到2,此时该任务的Function II为2Ns,可能就成为整个模块数据吞吐量和运算速度的瓶颈.这时为了抵消这样的读操作瓶颈,除了采用Pipeline策略外,还要对该循环采用部分展开(partially unroll)策略,并设定展开因子(unroll factor)为2,这样总的循环次数减半,单次循环内并行的运算操作加倍.同时把循环内的要读的数组指定为双端口RAM,以满足单次循环2路并行读操作,这样就可以把Function II降低为Ns.本设计中的任务4就采用这样的策略,总体结构前后对比如图6.

绿衣女子的尸体被安放在殿中,他对她有着极大的好奇。他想去看一看,看看自己命中的煞星,到底有哪些非同寻常的地方。

  

图6 任务4采用partially unroll策略的结构转变示意Fig.6 Changes of the structure with partiallyunroll directive of task four

式中: 为状态转移矩阵; 为系统噪声驱动矩阵;k时刻系统噪声,文中假设为零均值高斯白噪声.T为采样时间间隔.状态向量x(k)=[xp(k),xv(k),yp(k),yv(k)]T,其中xp(k),yp(k)为目标在k时刻坐标位置;xv(k),xy(k)为目标速度在x, y方向的分量;v(k)为量测噪声,文中假设为0均值高斯白噪声;观测站的方位为(xz,yz).

 

表3 本设计主要使用的优化策略Table 3 Main specified directives of this design

  

主要策略描述顶层模块dataflowdata-pack使模块形成流水线结构,并将结构体类型的输入参数重组为一个长字,为并行读取提供可能任务1inline将该策略运用到sqrtf()函数上,提高运算速度,但需要更多的资源任务2pipelineresource降低循环1的FunctionII,将某些变量指定为内部运算宏单元任务3inlineresource同上任务4pipelineunrollresource因为有存储器读操作,需要额外运用unroll策略,以达到降低FunctionII的目的任务5resource同上

选择目标器件为xc7z020clg484,并且将粒子数Ns分别设定为512,1 024,2 048,根据表3中的策略,综合得到如表4、5.

生活是很复杂的,又是很简单的。复杂的是,你总感觉一天到晚有那么多忙不完的事情;简单的是,你可以在某一时刻只专注于某一件事。时间是有限的,精力是有限的,如果懒懒散散、浑浑噩噩,一天天过去,什么进步和变化也没有。但是,如果每做一件事,都全身心地投入,耐心加恒心,就会创造出让人惊讶的成绩。“专注”和“耐心”是我认为必须要教会孩子的事情之一。正好有网友妈妈问到我,孩子的注意力不集中怎么办?应该如何培养孩子的专注力?所以,我今天专门写一篇,总结一下我的观点,以及我在日常生活中帮助笑笑学会专心的场景和方法。

 

表4 使用优化策略综合后的数据延迟报告Table 4 Summary of Latency with specified directives

  

NsLatencyII最小值最大值最小值最大值5128598605125121024162716281024102420483163316420482048

 

表5 使用优化策略综合后的资源利用报告Table 5 Summary of utilization with specified directives

  

粒子数量Ns资源类型(总)BRAM_18K(280)DSP48E(220)FF(106400)LUT(53200)51234164162732444510243416416289244652048441641629324490

根据表4中的LatencyII的关系,可推断该模块能以并行流水线方式运行.表1、4同时说明,当粒子数量成倍增长时,LatencyII也大致成倍增长.但由于流水线结构的原因,表4中LatencyII增加的相对幅度小于2倍.进一步比较表1、4可知,当使用自定义优化策略后,系统的LatencyII大幅度下降,运算速率的数据吞吐量得到极大地提高.表2、5说明,更快的速度占用更多的资源.当系统时钟为100 MHz,粒子数量为2 048时,滤波速率约为48.8 kHz,数据延迟约为31.6 us,是同等条件下文献[4]中最好情况32 kHz的1.5倍.

应该说,“首都餐饮业品质提升工作”是北京市餐饮业以习近平总书记关于食品安全系列讲话精神为指导,全面实施国家市场监管总局提出的《餐饮服务食品安全操作规范》的自律表现,是继北京餐饮业实现“明厨亮灶”、“阳光餐饮”后的一次全面提升,是为迎接2022年冬奥会打造餐饮业的首都标准、北京品牌,使北京餐饮业成为彰显首都文化魅力、良好生态环境、和谐文明社会、安定富裕生活的载体,成为体现首都城市内在品质的亮丽名片,在全国餐饮行业中做出了表率。下一步,中国烹饪协会将在北京市市场监督管理局的指导下,继续深入落实“首都餐饮业品质提升工作”,力争取得更大的成效,惠及更多的企业和消费者。

3.4 C/RTL协同仿真

在Vivado HLS Test Bench目录下创建测试文件,在该文件中编写main()函数,以反馈调用的方式调用顶层函数:

for (i=1;i

4.1 气候条件:番茄不耐高温、强光、雨涝,露地栽培病害主要发生在高温多雨季节,暴风雨会给植株造成伤口,有利于病菌侵入,高温高湿是病害发生的重要条件,特别是风雨过后,遇上几天高温天气,更利于病害发生流行,造成该病的严重危害。温度在15℃以上和相对湿度在80%以上的条件有利于发病。

{

由于表1中的LatencyII在同一种粒子数量下都近似相等,可以推断综合出来的模块并不能以并行流水线方式执行.而且根据表1中的数据,当系统时钟频率为100 MHz,粒子数为512时,滤波(采样)速率约为109 Hz,数据延迟约为2.3 ms,这样的速率低于DSP处理速率[12],失去了用FPGA硬件实现PF算法的优势.所以必须采用合理的综合优化策略,以获得更高的数据吞吐量和运算速度.

gpf-hls(Z[i],state-estimated[i-1]);

}

函数中:T为仿真时间;数组Z[T]中存放观测值;数组state_estimated[T]中存放每次迭代的估计结

ap-int< NOISE-WIDTH> & noise5)

根据Vivado HLS 开发流程,在创建完算法的C++语言描述文件和测试文件后,先后执行C simulation命令和C/RTL Cosimulation命令,分别从软件层面和硬件层面对算法进行验证.当粒子数量为1 024时,根据式(8)计算算法估计的均方根误差(root mean squared error, RMSE)

(8)

式中:M为蒙特卡洛仿真次数,设为为第j次仿真的第i时刻真实值和估计值,得到的仿真结果如表6.

 

表6 算法在不同仿真平台上跟踪性能仿真结果比较Table 6 Comparison of tracking performances of different simulation platforms

  

仿真平台x方向RMSEy方向RMSE位置/mv/(m·s-1)位置/mv/(m·s-1)Matlab2.7653850.1897143.9054300.250497VivadoHLSCsimulation2.8134860.1931053.8930910.241584VivadoHLSRTLsimulation2.8134860.1931053.8930910.241584

表6中,Vivado HLS C simulation和Vivado HLS RTL simulation仿真平台的仿真结果和Matlab的仿真结果很接近,说明在HLS工具中用C++语言描述的GPF算法及其综合得到的RTL模块功能的正确性.进一步观察可发现,C simulation和RTL simulation的仿真结果完全一致,这是因为产生伪随机数的RTL硬件模块是由C函数直接综合得到的,而两者采用相同的随机数种子,所以得到伪随机数序列是完全一样的,因而滤波过程中得到的数据完全一致.

图7为RTL仿真波形,在0.135 2 us时刻模块启动,开始从端口Previous-state读入数据.在17.255 us时刻,从输出端口输出结果.

  

图7 RTL仿真波形Fig.7 Waves of RTL simulation

在10.585 2 us时刻,模块从输入端口读入新的数据,并在27.695 us时刻输出结果.在每次迭代计算结束之前,就从输入端口读入新的数据,由此可见文中设计的模块以流水线方式运行.图8为C/RTL协同仿真结果,C仿真估计轨迹和RTL硬件仿真估计轨迹完全重合,这说明最终得到的RTL模块功能与软件仿真一致,能够实现对目标的跟踪.

  

图8 2-D BOT模型的GPF算法C/RTL协同仿真结果Fig.8 C/RTL cosimulation results of GPF 2-D BOT

3.5 开发效率比较

按照图1中的开发流程来对GPF算法进行实现,主要有HLD代码编写、代码修改优化和仿真校验3个步骤.本设计中运用HLS工具进行开发也同样有这3个步骤.表7为二者在开发周期上的比较.

 

表7 两种方法在开发周期上的比较Table 7 Simple comparison between two methodson development cycles

  

开发流程基于RTL开发基于HLS开发代码编写时间1d到1w<6h代码修改优化1d<1h仿真校验1d<1h获得最终设计1w1d

从表7可以看出,用HLS方法对PF算法进行硬件实现能显著加快开发进程,使开发者能有更多的时间和精力研究原型算法的改进.

4 结论

(1) 运用Vivado HLS工具实现GPF算法的关键是灵活运用多种综合优化策略.根据实际需要,不同的综合策略能得到不同硬件结构.运用pipeline策略及其辅助策略实现的并行流水线结构,能很好地满足PF算法实时性要求.

(2) 文中实现的GPF算法硬件结构在保证运算准确的前提下,达到了较高的数据吞吐量和较快的数据运算速度.

(3) 文中运用Vivado HLS工具实现GPF算法,大部分时间和精力放在了算法的合理性以及宏观的硬件架构上,只有少部分放在了微观的硬件实现细节上,因而具有较高的开发效率.

(4) 文中提出的实现方法对其他复杂软件算法的硬件化加速具有重要的指导意义.

由以上研究可看出异丁醇萃取3种酶解产物的上清液均具有一定的苦味,这与仲丁醇萃取鳕鱼肉酶解液上清液具有明显苦味值的结果一致。据此分析,异丁醇萃取物中含有大量疏水性的苦味肽。

参考文献(References)

[ 1 ] ARULAMPALAM M S, MASKELL S, GORDON N, et al. A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking[J]. IEEE Transactions on Signal Processing, 2002, 50(2): 174-188. DOI:10.1109/78.978374.

[ 2 ] KOTECHA J H, DJURIC P M. Gaussian particle filtering[J]. IEEE Transactions on Signal Processing, 2003, 51(10): 2592-2601. DOI:10.1109/tsp.2003.816758.

M, ATHALYE A, HONG S, et al. Study of algorithmic and architectural characteristics of Gaussian particle filters[J]. Journal of Signal Processing Systems, 2009, 61(2): 205-218. DOI:10.1007/s11265-009-0434-4.

计算权重:

HONG Shaohua,SHI Zhiguo,CHEN Kangsheng. Simplified algorithm and hardware implementation for particle filter applied to bearings-only tracking [J]. Journal of Electronics and Information Technology, 2009, 31(1):96-100.(in Chinese)

[ 5 ] 李倩, 姬红兵, 郭辉. 拟蒙特卡罗-高斯粒子滤波算法研究及其硬件实现[J]. 电子与信息学报, 2010, 32(7): 1737-1741.

LI Qian, JI Hongbing, GUO Hui. Reasearch and hardware implementation of Quasi-Monte-Carlo Gaussian particle filter[J]. Journal of Electronics and Information Technology, 2010, 32(7):1737-1741. (in Chinese)

[ 6 ] 毛丽民, 卢振利, 浦宇欢, 等. 基于FPGA实现粒子滤波算法的实时细胞跟踪系统设计[J]. 红外技术, 2014, 36(5): 389-393.

击鼓、击镲、敲锣者服饰相同,均头扎黄头巾、系箍。身穿黄色对襟上衣、蓝或黑色灯笼裤,腰系紫或黑色四喜带,也可系一条红绸子,脚穿白球鞋或黑圆口布鞋。

MAO Limin, LU Zhenli, PU Yuhuan, et al. Design of a real-time cell tracking system by implementation of particle filter algorithm with FPGA[J]. Infrared Technology, 2014, 36(5):389-393. (in Chinese)

[ 7 ] COUSSY P, CHAVET C, BOMEL P, et al. High level synthesis from algorithm to digital circuits [M]. [S.l.]: Springer, 2008.

[ 8 ] XILINX Inc. Introduction to fpga design with vivado high-level synthesis [EB/OL]. (2013-07-02) [2016-03-20].http://www.xilinx.com/support/documentation/sw_manuals/ug998-vivado-intro-fpga-design-hls.pdf.

[ 9 ] XILINX Inc. Vivado design suite user guide high-level synthesis [EB/OL]. (2015-02-24) [2016-03-20].http://www.xilinx.com/support/documentation/sw_manuals/xilinx2015-2/ug902-vivado-high-level-synthesis.pdf.

[10] 陈鹏, 钱徽, 朱淼良. 一种快速高斯粒子滤波算法[J]. 华中科技大学学报(自然科学版), 2008, 36(s1): 291-294.

CHEN Peng, QIAN Hui, ZHU Miaoliang. A fast Gaussian particle filtering algorithm [J]. Journal of Huazhong University of Science and Technology (Natural Science Edition), 2008, 36(s1): 291-294.(in Chinese)

[11] GHAZEL A, BOUTILLON E, DANGER J L, et al. Design and performance analysis of a high speed AWGN communication channel emulator[J]. IEEE Pacific Rim Conference on Communications, Computers and Signal Processing,2001:374-377. DOI:10.1109/pacrim.2001.953647.

[12] 余纯. 基于硬件实现的粒子滤波改进算法研究[D]. 北京: 北京交通大学, 2008.

 
高国栋,林明
《江苏科技大学学报(自然科学版)》2018年第02期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号