积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> CPLD/FPGA >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
一种基于FPGA实现层析重建的加速方法
 
作者:朱彦华,刘仲寿,张志敏,常方飞   来源:《现代电子技术》    点击数:91   更新时间:2008-9-5
您可以添加到网摘 让更多人关注此文章:

    1 引 言

发射光谱层析技术(Emission,Spectral Tomography,EST)是结合发射光谱测量和光学层析技术(Optical Computed Tomography,OCT)的一种不干扰待测场分布的新型诊断测量技术,他在热物理量测试、等离子体诊断等领域具有广泛的应用前景,是机械、冶金、航空航天等领域不可缺少的检测技术。为了顺应工业技术的需求,现在层析技术在向实时化方向发展。然而,由于EST技术一直都是以密集的数字信号处理为基础的,其运算量是非常庞大,因此,让通用计算机来做三维流场重建工作是比较困难的。而FPGA(现场可编程辑程逻辑阵列)技术经过十几年的发展,正日趋成熟,目前在他与市场磨合的过程中,他的优势越来越明显,可以预测,在不久的将来他必将在工业技术上占据重要地位,并且他有个突出的优点就是可以实现并行处理,即速度快,效率高,用他来实现发射光谱层析技术,是向实时化迈进的一个有效方法。本文就基于FPGA实现SIRT算法展开讨论,首先对运算量进行估计,然后对数据进行分析,发现数据量庞大且均为浮点数,这给运算的实时性带来严峻的挑战,本文就此提出了一种加速FPGA实现实时层析的一种方法,该法将从数学的角度考虑数据的特点,同时考虑到FPGA所具有的特点,并将二者有机结合,达到加速运算的效果。整个设计在QuartusⅡ5.1软件平台上进行。

2 SIRT算法介绍

SIRT算法迭代格式:

其中P是测量数据,WT是投影矩阵W的转置,λ为松弛因子,F是重建量。由公式可见,SIRT算法迭代格式简单并且因为每个像素的校正值实际是通过该像素的所有射线和的误差值之累加,而不是只与一条射线有关,由于每一像素的校正值是所有过该像素射线的共同贡献,一些随机误差被平均掉了,这也是SIRT能有效地抑制测量数据中噪声的根本原因。

分析SIRT算法,估算进行一次迭代所需的计算量。如果三维图像精度是26×26 pels,对于一层图像的重建他要求采集系统送入4×26 pels的数据,这一组数据算法中称为测量矩阵p。另外算法中提及的投影矩阵W和WT维数分别为104×676和676×104,重建图像f为一个676×1的矩阵。共需要104×676+676×104+104×676+676即211 588次浮点乘法运算,103×676+675×104+103×676即209 456次浮点加法运算和104次浮点减法运算。

在此没有计算松弛因子的影响所带来的计算量,假设松弛驰因子为1,通过对运算量的估算,可以预见将产生相当庞大的数据量,这给运算的实时性带来严峻挑战。必须想办法来加速,才有可能实现实时处理。因为在迭代公式中,W,P,F均为矩阵,故可从数学运算的角度来改善运算速度。

3 矩阵分块原理

假设有下面两个矩阵a和b,需要完成a?b的操作。

按照前面的分块思想,a矩阵和b矩阵分块之后为如下子矩阵:

假设a?b的结果等于c,那么c用ax,ay,bx和by表示如下:

因此,原本需要求的a?b就可以变为求ax?bx和ay?by,在FPGA中ax?bx和ay?by是可以并行处理的而且之后求他们的和的运算也是可以并行处理的,所以矩阵分块之后系统的处理速度会成倍提高,在对更高处理速度需求的情况下还可以将矩阵分成更多的块以并行处理。

4 矩阵分块在实现SIRT算法中的应用

为此在实现两矩阵相乘运算的时候,我们为矩阵分块,分2路或4路或更多路数并行处理,加快运算速度。根据SIRT算法的特点和矩阵分块原理,显然分的路数越多,处理速度就越快,但由于分的路数越多,分配的硬件逻辑资源也将会越多,普通计算机在系统设计中会难以应付,因此这里打算将每个矩阵分成2路并行处理。分块为:

根据以上论述,即可把W,WT,F,P均存放于双口Ram中,在各自的地址控制器控制下,输出的两路数据同时参与运算。根据FPGA的并行运算优势,我们来估算一下速度的改善,假设F和W各有10个数据,若直接相乘并累加则需要10个时钟脉冲,若采用矩阵分块方法并结合FPGA的并行运算优势,每路各分5个数据,每路同时在第5个时钟脉冲结束就得出结果,最终结果为两路所得结果的和,这样还需1个时钟脉冲,在不考虑延时的情况下,只需6个时钟脉冲就可得出结果,这样速度将得到近一倍的提高。可以想到在数据量庞大的情况下,速度确实可以提高一倍。

对于WT,W,F和P的地址控制器,可以由Verilog编程生成。由于篇幅所限,在此不再赘述。

在此,只讨论W*F的实现以及所占用的资源问题,其他的矩阵相乘与此类似。

若直接相乘,流程如图1所示。

通过编译,占用资源情况如图2所示。

通过编译,分块法占用资源如图4所示。

由以上流程图及编译资源报告图可见,虽然矩阵分块使速度得到很大提高,但却多用了一个乘法器,一个加法器和一个累加器,这样就会在一定程度上增加硬件成本。但由于实时层析重建对速度要求很高,故可以牺牲一部分硬件资源来换取速度的提升,这也是“面积换速度”的具体体现,采用矩阵分块是提高运算速度的一个有效方法。

5 结 语

本文提出的分块矩阵在FPGA实现发射光谱层析重建上的应用,把矩阵分块理论的数学原理和FPGA的并行运算优势有机结合,使得像发射光谱层析这样密集的数字信号处理在FPGA上实现时,在硬件资源不变的情况下,有效提升运算速度,不仅使发射光谱层析(EST)技术向实时化更近了一步,同时也为在FPGA上实现其他数据量庞大的数字信号处理时速度的提升和资源的优化给出启示,即在硬件资源有限的情况下,可以充分利用数学理论并结合硬件资源现有的优势实现设计的目标。



相关文章
· 德国一处理器架构开发商指控赛灵思和安富利侵权[7]
· 低功耗、DFM及高速接口是65/40纳米设计重点[77]
· 采用FPGA实现视频和图像处理设计[265]
· 用FPGA构成液晶显示控制器[177]
· 基于FPGA的多路模拟数字采集与处理系统[175]
热门评论排行
·VHDL设计中电路简化问题的
·ARM嵌入式系统基础教程(N
·江苏嵌入式Linux教育培训
·ARM处理器应用开发4步骤
·锐极LINUX驱动培训班定于

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
台积电联电欲削减成本 强制
4G标准芯片受欢迎 多模W
全球芯片厂商集体削减开支 
德国一处理器架构开发商指控赛灵思和安
微型燃料电池2年商业化 续
陕西投资50亿元建立西安半导体产业园
富士通微电子推出同时支持MPEG-2
意法半导体(ST)与麻省理工学院微系
高效率 I2C 
新兴半导体技术催生绿色节能的大学校园
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
[原创]嵌入式凌动工控主板PV...
[转]教你如何进行电磁兼容设计...
[转]汽车和专业音响原厂设计原...
诺基亚,三星手机原厂图纸和PC...
电子元器件可靠性和失效分析经典...
[建议]FPGA设计技巧与实例...
Xilinx FPGA设计快速...
基于CPLD的各种设计实例和分...
教你如何学会MSP430单片机...
凌阳单片机教程(共8章)非常详...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网