电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

并行识别系统范文

来源:火烈鸟作者:开心麻花2025-11-191

并行识别系统范文(精选8篇)

并行识别系统 第1篇

说话人识别方法主要包括矢量量化方法、概率统计方法、判别分类器方法等。任何单一方法即有优势也有局限。当前研究的热点趋于将不同方法结合在一起的混合识别方法。在众多方法中,矢量量化(VQ)和支持向量机(SVM)两种方法具有较强的互补性,因此二者混合进行说话人识别倍受青睐。目前VQ-SVM混合方法进行说话人识别[1,2],通常采用一种方法进行初次识别再用另一种方法对于不确定部分语料样本进行二次识别的所谓串行识别。不难发现这种串行识别方法的最大弱点是即占用机器资源又浪费识别时间。为了克服上述弱点,提出将VQ和SVM两种方法集中在同一个平台上实现并行识别处理,从而在提高整个系统的识别效果的前提下节省识别时间。

1 系统总体设计

按说话人识别系统构成原理,说话人识别主要包括训练和识别两个阶段。首先获取原始语音信号,再经过预处理得到干净的语音信号,然后提取语音特征参数之后再通过特定的方法实现说话人训练与识别。说话人模型通常采用数据库存储大量按特定算法处理后的语音特征样本,而待识别语音经过预处理和特征提取后与数据库中的样本集进行匹配计算后实现判别。上述各类运算通常都在MATLAB平台上实现的。为了实现VQ和SVM并行识别,鉴于LabVIEW可以实现多任务、多线程的特点,基于虚拟仪器技术并融合说话人识别技术,由LabVIEW管理和调用MATLAB来实现系统的并行处理,系统构成如图1所示。

2 说话人并行识别系统实现

说话人识别系统中的关键问题是语音特征参数的提取及说话人模型的建立。而解决此问题是以算法的优选和参数的优化为基础的。说话人识别中常用的语音特征参数有线性预测系数(LPC)、线性预测倒谱系数(LPCC)和美尔倒谱系数(MFCC)[3]。三种方法相比之下MFCC有较好的优越性。因此,本系统选用MFCC及其一阶差分作为识别的特征参数。通过在MATLAB7.0环境下编程实现特征参数的提取,具体参数设置为:帧长512,帧移256,滤波器的个数为12,采样频率44 100 Hz,并去除了首尾各两帧,从而得到了24维的语音特征向量。

本系统采用的算法之一是VQ,建立VQ模型方法有多种,最基本也最常用的方法是LBG算法[4],该算法通过训练矢量集和一定的迭代算法来实现最优码本的生成,其中涉及到核心公式参见式(2-1)、式(2-2)、式(2-3)。算法流程如图2所示。其初始码本采用分裂法,选取特征向量的质心作为初始码书。通过实验选取码本容量K=16,失真阈值δ=0.01,最大迭代次数L=lg2K。该算法在MATLAB7.0环境下通过编程实现,然后在LabVIEW中通过调用MATLAB节点来实现模型的建立及存储。

总失真:Dm=l=1kXSmd(X,Ylm-1)(2-1)

计算新码字:Ylm=1ΝlXSlmX(2-2)

相对失真改进量:δm=|Dm-1-Dm|Dm(2-3)

其中:Nl集合中矢量的个数,YlSl中所有矢量的质心。

本系统采用的另一算法是SVM,其关键是核函数选取及其参数的优化[5,6]。核函数的形式及其参数的确定决定了分类器类型和复杂程度,典型的有径向基核函数(RBF)和多项式核函数(Poly)参照式(2-4)、式(2-5)。

多项式核函数:

K(xi,xj)=[γ(xixj)+c]d, d为阶数 c≥0 (2-4)

径向基核函数:

K(xi,xj)=exp{-γxi-xj‖2} ,γ≥0 (2-5)

核函数参数是影响支持向量机分类器性能的一个重要因素,因而核函数参数优化至关重要[7]。鉴于前期实验基础且RBF核函数的参数比Poly核函数的参数少,综合选用径向基核函数建立说话人的模型。参数优化方法采用网格搜索法,利用libsvm工具箱下的python下的子目录下面的grid.py程序就可以实现参数C和γ的寻优,20人5帧数据的参数寻优截图如图3所示。

系统基于LabVIEW平台,将虚拟仪器技术与说话人识别技术融合,利用了模块化的思想实现G语言下的系统编程,即在虚拟仪器平台上通过子VI来实现,将程序中涉及到的调用MATLAB节点的程序部分都编写成各子VI,通过调用这些子VI来实现系统的构建,系统前面板和软件程序如图4、图5所示。

3 系统验证及结果分析

自建语料库是在普通实验室环境下,通过计算机自带语音采集系统将被采集者逐个录音。语料均为采样频率22 050 Hz,16位单声道的语音信号,文件类型为wav格式。系统总共选取了100人作为说话人,每人录20段语音(每段2 s~4 s)作为样本库,均与样本无关。前10段用于建立说话人模型,后10段用于测试。经过对随机抽取的20人和30人任意5次和10次语音的测试,得到的实验结果如表1所示。本系统的结果判定算法设定为当两种识别方法的结果不一致时,只要有一种方法能识别就把该方法的识别结果作为正确结果输出,识别用绿灯指示,不识别用红灯指示,参见图4。

4 结论

本文在虚拟仪器技术平台上将两种识别方法结合起来进行说话人并行识别。根据表1计算出系统的平均性能指标如表2所示。从中可以看出,在小样本的情况下,SVM方法优于VQ方法;随着样本的增多,SVM的识别性能呈下降趋势,而VQ方法的识别性能有上升趋势,理论和实践都充分证明二者之间具有互补性,而将二者结合实现VQ-SVM并行识别其识别率较单一的VQ和SVM方法分别提高了3.66%和1.16%,误识率较单一的VQ和SVM方法分别降低了6.01%和4.43%,识别时间较单一的VQ和SVM方法分别增加了0.19 s和0.13 s,由此可见,系统的整体性能得到了提高。鉴于实验样本数量所限,系统在大样本情况下的识别效果还有待进一步验证。

摘要:说话人识别混合方法是目前研究的热点。基于虚拟仪器技术并融合说话人识别技术,提出矢量量化和支持向量机方法结合,依托MATLAB实现运算,由LabVIEW以多任务管理和调用MATLAB来实现说话人并行识别处理。经自建小样本语料库仿真实验,结果表明:系统识别率98.54%、误识率5.28%、识别时间0.25 s,较单一矢量量化和支持向量机方法识别率分别提高了3.66%和1.16%,误识率分别降低了6.01%和4.43%。随着样本数的增多,矢量量化方法识别率呈上升趋势,而支持向量机方法识别率呈下降趋势。由此可见:两种方法优势互补实现并行识别可提高系统主体性能。

关键词:说话人识别,矢量量化,支持向量机,并行识别系统

参考文献

[1]展领,景新幸.基于VQ-MAP和SVM融合的说话人识别系统.计算机工程与应用,2011;47(13):136—138

[2]赵振东,胡喜梅,田景峰.基于VQ-SVM的说话人识别系统.华北电力大学学报,2009;9(5):73—76

[3]魏星,周萍.语音识别系统及其特征参数的提取研究.计算机与现代化,2009;9(9):167—172

[4]刘祥楼,余洋,姜继玉,等.基于添加小样本特征VQ算法的说话人识别.大庆石油学院学报,2009;8(4):92—94

[5] Keerthi S S,Lin C J.Asymptotic behaviors of support vector machineswith gaussian kernel.Neural Computation,2003;15:1 667—1 689

[6] Duan K B,Keerthi S S,Poo A N.Evaluation of simple performancemeasures for tuning SVM hyperparameters.Neurocomputing,2003;51:41—59

并行识别系统 第2篇

关键词:自动测试系统;并行测试;数据共享

中图分类号:TP274文献标识码:A文章编号:1007-9599 (2011) 06-0000-01

Design of Parallel Test Software on ATS

Hong Chenghua1,Cao Juan1,Zhao Xuyang1,Mi Wenpeng2

(1.Teaching and Research Section 103,the PLA Second Artillery Academy,Qingzhou262500,China;2.Teaching and Research Section 202,the PLA Second Artillery Academy,Qingzhou262500,China)

Abstract:First studies how to meet auto test system(ATS) hardware architecture demands of parallel test by improving test instruments and hardware interface.Then,it focuses on using multi-process/multi-thread software technique to fulfill parallel test of auto test system(ATS).Several techniques are presented to resolve test instruments and data sharing between multi-processes,such as memory mapping,message posting and DLL.Several application examples are given to demonstrate these techniques.In actual applications,these techniques can be used by one or combined.

Keywords:Auto test system(ATS);Parallel test;Data sharing

自动测试系统(ATS)在相同时间内对单个被测对象(UUT)进行多路激励以及测量的测试任务称为并行测试。当单个UUT有多个I/O,且每个I/O都必须被独立测试时,并行测试可减少操作人员的数量,减少测试程序(TP)的运行时间,减少CPU和测试装置的闲置时间,但同时这样也会增加ATS的总处理能力。在进行并行测试过程中,UUT功能和参数所用的测试时间会比使用传统的串行测试方法要少很多。因此在实现并行测试在结合硬件结构设计的同时,重点在于并行ATS的软件开发。[1]

一、软件实现

在测试资源以及硬件接口模式满足要求的条件下,以串行ATS的架构为基础,软件实现的过程是通过采用多进程/多线程技术来完成ATS的并行测试。并且,DLL、消息传递和内存映射等多种技术中的不同组合方式可用于解决多进程之间的测试资源以及数据共享问题。

(一)ATS软件平台。ATS软件平台主要包括四部分:测试程序、管理程序、服务程序和驱动程序。图1展示的是ATS软件构成:

1.测试程序:多个测试子程序共同组成,一个测试子程序承担一个被测对象的测试项目选择、加/断电、测试和测试结果实时报告等功能。

2.管理程序:调用、分配测试资源,调用测试程序,修改、保存、查阅、打印与删除测试结果的文件。

3.服务程序:在软件平台中,除其它程序以外测试资源的校准程序、故障诊断程序、可互换程序以及辅助文件等。

4.驱动程序:完成测试资源激励或测量被测对象。

(二)多进程与多线程。多进程或多线程技术应用于ATS上要完成并行测试时的软件开发。在相应的进程中创建线程,线程的整个寿命周期都在进程中,这是一个动态的概念。而进程是一个静态的概念,它没有任何操作,只是线程依存的地方多任务是指同一时间可以有多个程序在内存中运行。主线程是在进程创建时自动创立的,主线程本身又可生成新的线程。[2]

二、硬件结构设计

测试硬件接口模式以及测试软件运行模式的限制导致现在广泛使用的电子装备通用ATS虽然可以测试多种UUT,但大多沿用串行测试工作方式,不能同时对单个UUT的多路I/O和多个UUT同时完成测试。因此在串行ATS升级为并行ATS的过程中,首先必须进行系统硬件结构的改进设计。

(一)测试资源的选择。个别测试资源在工作模式上只能支持串行测试,因此,并行测试系统中应采用支持多通道同时并行测试的测试资源。

(二)接口模式的改进。串行ATS与UUT之间的连接方式是由单个UUT通过适配器实现与测试系统的相连,因此,ATS在相同时间内只能对单个UUT完成测试。

并行ATS与UUT之间的连接方式可采取多个UUT同时接到ATS上,来实现并行测试。

三、测试资源和数据共享技术

由于在多线程程序中,调试程序是一个固有的难题,所以如果单个UUT的测试流程的存在形式是多线程,那么测试流程的调试就会比较困难。调试程序又是编写完测试程序后的一个必要步骤。所以,建议测试程序的存在形式采用进程。

同时如果一个测试程序采用一个进程,那么多个测试程序之间的测试资源与数据的共享就是一个难题。运用以下几种技术可以解决这一难题。

(一)DLL。驱动程序支持了测试资源的运行。在并行自动测试系统中,一个测试资源的驱动程序有可能会在多个进程中得到应用,所以它应该是安全并可以重载的。

在并行测试的测试资源的调用过程中,应该分配好管理程序中的通道,禁止在同一时间不同的测试程序调用同一个通道。

(二)内存映射文件。为了方便管理程序和不同的测试程序查看与修改,在ATS中,可以在内存映射文件中存放测试资源的使用情况。如果需要在多个进程之间形成内存的共享,可以采用如下方法:在一个进程中创建一个文件并映射之,然后另一个进程可以通过打开和映射该件,这样就可以将它作为自己进程的内存来使用。[3]

(三)消息传递。用于一个进程发送数据到其它进程。程序对整个系统和资源的管理采用如下方法:在一个测试程序启动之后,给管理程序发送一个消息,告知管理程序哪一个测试程序启动了,且占用了哪些测试资源。

四、结论

各国的军事装备部门以及相关厂商对并行测试作为新一代自动测试系统的一个发展方向给予了相对的重视,也使之成为了一个学术界研究的热点。软件开发技术以及硬件测试资源被并行测试技术的研究推动发展。

参考文献:

[1]卓家靖,孟晨,方丹.并行自动测试系统硬件结构研究仁[J].计算机测量与控制,2009,17(5):820-821

[2]飞思科技产品研发中心.Delphi下深人Windows核心编程[M].北京:电子工业出版社,2003

[3]Jeffrey Richter.Windows核心编程[M].黄陇,李虎.北京:机械工业出版社,2008

并行识别系统 第3篇

关键词:射频识别,欠定盲分离,防碰撞,动态帧时隙,非负矩阵分解

0 引言

射频识别 (RFID) 是一种自动识别技术[1,2]。随着当今物联网技术应用的不断深入, RFID技术作为物联网的核心技术之一, 成为当今的研究热点[2]。

RFID系统根据其各个不同的关键技术可以分为很多种不同的类型。其中例如工作频率的选择问题, 安全协议问题, 各种不同的防碰撞问题以及是否标签含有电池等一系列问题[4]。

在RFID系统中, 按标签是否含有电池, 可将标签分为无源标签和有源标签。其中标签里含有电池的就是有源的, 因其能进行远距离通信, 主要应用在远距离检测等情况。而不含电池的标签, 称为无源标签, 一般由阅读器所发送的电磁波供应工作中所需要标签里的能量, 其工作距离较短, 这种无源标签通常应用在比较低端的RFID系统, 其成本较低。

RFID系统根据其工作频率的不同, 可以分为低频、中高频、超高频和微波这几种情况。在实际应用中, 工作频率的选取与其工作的场合有关, 而RFID系统的这几个频率各有各的优点, 应在实际的应用中合理的选择所需要的频率, 若选择频率不当会严重影响RFID系统的性能。RFID工作频段及特点如表一所示。

其中超高频无源RFID系统通信距离较远, 标签无需电池供电, 使用寿命长, 标签读写速度快, 因此超高频无源RFID系统的应用是未来RFID应用的主要发展趋势。

1 盲源分离的RFID系统

1.1 RFID系统通信机制

RFID系统主要由阅读器 (Readers) 、标签 (Tags) 和后台计算机应用系统 (Computer Application Systems) 三部分组成。在进行标签识别时, 阅读器先发送查询命令, 标签收到查询命令后发出响应, 最后通过计算机系统存储数据[5]。

在进行标签识别过程中会遇到标签碰撞的问题, 而传统的解决方法是基于ALOHA的随机性防碰撞算法和基于二进制数的确定性防碰撞算法[6]。近年来, 多标签识别技术不断发展, 成为比较新型的防碰撞算法。

盲源分离[7] (Blind Source Separation, 简称BSS) 是指仅从观测信号中分离出源信号的技术方法, 是20世纪80年代后期开始流行起来的, 它集信息理论、信号处理和神经网络于一体。针对欠定条件下 (标签数小于或等于天线数) 的标签盲源分离, 文献[8]提出的基于欠定盲分离的多标防碰撞算法, 实现了标签数大于天线数时的盲源分离, 但随着标签数量的增加, 此算法分离效果和标签识别率会大幅度降低。

非负矩阵分解是指在非负限制下将矩阵V=[v1, v2…, vN]∈Rm×N分解成W=[w1, w2…, wn]∈Rm×n和H=[h1, h2…, hN]∈Rn×N的两个矩阵非负矩阵的乘积, 使分解结果满足:

采用三重约束方法并结合最小重构误差的目标函数D (V|WH) , 优化函数F (V|WH) 如下:

更新规则[8]为:

式 (3) 、式 (4) 中, 为约束参数, 而ξ是一个足够小的正常数。当迭代到F (V|WH) 不大于某一很小的阈值, 可以判断算法收敛, 得到正确的W和H。H为源信号矩阵S的估计, 从而实现了RFID系统混合信号的盲源分离。

1.2 欠盲分离算法的吞吐量

设安装M根天线的阅读器, 标签数为N, RFID系统能够正确识别的标签数目为n, 则这个时隙中成功识别的标签数的均值为:

标签的到达过程服从泊松分布, 因此某一时隙内的吞吐量可表示为:

由式 (6) 可得, 当G=n时, RFID系统的吞吐量取得最大值。由图一可知, 当天线数为M=3时, 在标签数为6时取得吞吐量的最大值, 之后一直迅速下降。根据式 (6) 计算可知, 最大值为2.208。同理, 在天线数分别为M=4和M=5时, 其最大吞吐量分别为2.944和3.678, 然后就会迅速下降, 系统性能和分离效果也会迅速下降。

1.3 动态帧时隙ALOHA (DFSA) 算法

在帧时隙ALOHA算法 (FSA) 中定义帧的长度L, 即每一帧包含L个时隙, RFID系统进行标签识别时, 阅读器向识别范围内的标签发送查询命令, 标签接收到请求后, 随机从1~L中选择一个数作为其发送信息的时隙值。若某一时隙内只有一个标签发送信息, 则该标签被成功识别, 称为成功时隙。若某一时隙内同时有多个标签发送信息, 则发生碰撞, 这些标签将进入下一帧继续参与识别, 直至识别完所有标签。该算法虽然在一定程度内降低了标签碰撞的概率, 但由于帧长为固定值, 所以标签数和帧长会出现两种比较不好的状况: (1) 某一时隙中标签数远小于帧长。 (2) 某一时隙中标签数远大于帧长。

在第一种情况下, 由于标签数过少, 会造成时隙的大量浪费, 使RFID的效率特别低且成本较大;在第二种情况下, 由于标签数过多, 使得RFID系统在某一帧中会存在大量的碰撞, 使得标签很难顺利的识别, 导致整个RFID系统难以工作。

而动态帧时隙ALOHA算法是根据每一轮识别过程中剩余的待识别标签数目的大小而动态的调整帧的长度。也就是说在识别标签的过程中, 帧长是不断变化的值, 当待识别的标签数目越来越少时, 帧长也越来越小, 这很好的解决了帧时隙ALOHA算法中固定帧长导致的空闲时隙浪费的问题, 从而大大提高了吞吐率。这是动态帧时隙的优点。

2 算法实现步骤

设RFID系统有个天线, 天线周围有个标签, 算法执行过程如下:

步骤1:RFID系统的阅读器发送查询命令, 使识别范围内的标签准备就绪。

步骤2:标签响应RFID系统的查询命令。

步骤3:RFID系统中的阅读器开始识别标签, 并结合动态帧时隙算法动态调整一个时隙内标签的多少, 使得盲源分离单元能够快速的识别标签, 且能够使盲源分离效果和系统性能保持在较好状态, 并记录下已识别的标签。

步骤4:标签识别完毕, 算法结束。

3 算法分析

在欠定盲源分离系统中, 由于标签数过多而产生系统吞吐量下降时, 便可采用动态帧时隙方法动态调整帧的长度, 使得每一时隙的标签数保持在合适的状态, 使欠定盲源分离系统性能保持稳定。这种基于动态帧时隙的欠定盲源分离算法能够一次性识别若干个标签, 并使分离效果保持在较好状态, 具有快速高效的特点, 与传统的基于ALOHA算法和基于树的算法相比具有较大的优势。如帧时隙ALO-HA算法、Q算法、二叉树以及多叉树算法等一系列传统的算法。

欠定盲源分离的动态帧时隙算法的性能会随着天线数的增多而不断提高, 即阅读器一次性识别的标签数会大量增加, 识别时间会更短。当外部标签数量过多或者企业单位需要, 可以增加阅读器中的天线数来提高一次性识别标签的数量, 达到快速识别标签的目的。

4 结束语

本文提出基于动态帧时隙并行识别防碰撞算法, 使欠定盲分离的分离效果和系统性能在标签数目大量增加的情况下, 也保持在较好状态。本文算法成本和复杂度较低, 用较少天线数就能完成同时识别较多标签的效果, 具有较好的使用价值, 在现实的应用中具有很好借鉴性和良好的应用前景, 特别适合在大中型企业以及物流行业中。

参考文献

[1]Guo ZX, Ngai EWT, Yang C, et al.An RFID-based intelligent decision support system architecture for production monitoring and scheduling in a distributed manufacturing environment[J].International Journal of Production Economics, 2015, (159) :16-28.

[2]Zhang D, Wang X, Song X, et al.A Novel Approach to Mapped Correlation of ID for RFID Anti-Collision[J].Services Computing, IEEE Transactions on, 2014, 7 (04) :741-748.

[3]庞宇, 彭琦, 林金朝, 等.基于分组动态帧时隙的射频识别防碰撞算法[J].物理学报, 2013, 62 (14) :488-495.

[4]Li Z, Li J, He C.Artificial immune network-based anti-collision algorithm for dense RFID readers[J].Expert Systems with Applications, 2014, 41 (10) :4798-4810.

[5]Wu H, Zeng Y, Feng J, et al.Binary tree slotted ALOHA for passive RFID tag anticollision[J].Parallel and Distributed Systems, IEEE Transactions on, 2013, 24 (01) 19-31.

[6]王学军, 蔡文琦, 王锁萍.改进型自适应多叉树防碰撞算法研究[J].电子学报, 2012, 40 (01) :193-198.

[7]Sawada H, Araki S, Makino S.Underdetermined convolutive blind source separation via frequency bin-wise clustering and permutation alignment[J].Audio, Speech, and Language Processing, IEEE Transactions on, 2011, 19 (03) :516-527.

电力系统并行计算研究 第4篇

关键词:并行算法,PC机群,潮流计算

随着全国性联网工程的推进,已形成规模巨大的超高压、大机组和大电网的全国性互联电网。为了保证互联电网安全稳定运行,需要进行全网一体化仿真计算。传统的串行潮流计算方法在计算速度上已无法满足大电网模拟和实时控制的仿真要求,高性能PC计算机群以其巨大的存储容量和非常快的计算速度得到了人们的广泛重视,在PC计算机群上快速有效地计算电力系统潮流成了一个新课题。通过研究基于节点分割的网络分块法,结合PC机群环境的特点,提出基于网络数学分块的电力系统潮流分解协调算法,在分析原有串行牛顿-拉夫逊法潮流计算数学模型的基础上选取合理的数据元素作为协调变量,并在IEEEl4节点和IEEEll8节点系统对此算法进行仿真测试。

l网络分块方法的分类和分割原则

1.1按切割元素分类

网络分块方法,按切割元素分为2种:支路切割法,即在子网络之间的联络线处加入电流源以代替各子网络之间状态变量的耦合影响,电流源矢量作为此方法的协调变量;节点分割法,即将原网络分割为子网络后在分割处加入电压源以代替各子网络之间状态变量的耦合影响,电压源矢量作为此方法的协调变量。

1.2按物理意义分类

网络分块法,按物理意义也分为2种:物理分块法,即将整个互联网络人为地强行分割为几个部分,分割之后再通过各个网络的分割处协调变量进行交换迭代,此方法在一定程度上破坏了整个网络的整体性;数学分块法,此方法其实并不是真正的分割,主要通过将表征网络特点的系数矩阵分解为通过协调部分互连的多个子矩阵,各个子矩阵能独立求解,从而开发潮流求解的并行性。

网络的物理分块方法破坏了整个网络的关联性,造成网络的迭代收敛速度变慢,特别是边界协调部分非常慢,更有时若是分割方法不恰当,会造成最后不收敛。而网络的数学分块方法延续了电网的整体性,并没有破坏原始的数学结构,只是尽量开发数学计算上的并行性,所以它的收敛效果和精度与原有串行程序几乎一样,但是它的并行度可开发性需要进一步研究。

网络分块方法和并行算法的基本意义都在于降低潮流计算中雅可比矩阵的阶数以缩短计算时间。并行算法还能通过其它技术方法来达到缩短计算时间的目的。

1.3分割原则

网络分块方法都必须遵循以下基本原则:

(1)切割支路或者分割节点的规模应尽可能小。因为各个计算节点(处理器)间的必需数据通信量与之息息相关,减少协调变量的数目,能减少计算节点之间的交互通信量,降低网络通信时间对计算速度的影响。

(2)各个子网络规模大小要尽量一致,即各个子网络节点数、支路数尽量接近,保证各计算节点的计算负载相对平衡,因为计算时间与导纳元素成比例,所以网络的规模由节点数和支路数共同衡量。

另外,通过并行所获得的效率常常会被分块所引起的非零注入元抵消一部分,所以应尽量减少非零注入元。

采用基于节点分割的网络数学分块方法。

2 分解协调并行计算模型

2.1 线性方程组分解并行计算模型

通过节点优化和因子路径树方法确定网络的分割节点,而其它节点则按优化后排序依次排列,分割节点排在节点编号末尾。通过这一步的前期工作,导纳矩阵和雅可比矩阵的系数方程变换成:

按照潮流计算的功率注入模型分析可知,要着重分析的是雅可比系数矩阵。

经过合理的节点优化和分块之后,修正方程转变为对角块加边形式BBDF,即:

式中,A11,,Ai1是子系统的稀疏矩阵;Ac是协调系统矩阵。

式(1)中第1~k个子系统矩阵块所对应的该行的方程组能化成:

而协调块矩阵所对应行的方程组为:

消去xi,保留xc,得到协调系统方程组:

其中:

2.2 网络协调与分解

基于BBDF模型的潮流网络分解与协调计算分解如图1所示。

每一个子系统的对角元及下边和右边的边界协调元再加上右端向量被分在一个处理单元,而右下角的边界协调元和它对应的右端向量被分配于协调处理单元。

3 潮流并行算法数学模型和流程

3.1 潮流三角分解协调数学模型

在以上基础上进一步运用雅可比矩阵的因子表进行网络分块计算:

在每一个子系统(即分解图中虚框内的部分)中能同时进行并行分解计算,即:

将式(6)分别代入式(5)中即可得

在分解过程中能用消去法求出Li1、Di1、Ui1、Lci和Uic,并且在消去的同时进行前代运算求出Wi=Lii-1b1,即可运用矩阵简单乘法运算求出需要进行通信的Ai和Δb,其中:

在直角坐标下,由牛顿-拉夫逊法求解潮流的修正方程式中PQ节点所对应的雅可比矩阵元素和右端向量H、N、M、L、△P、△Q的表达式可知:非对角元素仅和节点各自的互导纳和节点自身电压有关,而对角元素则和节点各自互导纳和与节点通过支路互连的所有节点电压有关。而右端向量求取表达式中△P和△Q都同对角元素一样和节点各自互导纳和与节点通过支路互连的所有节点电压有关。即修正方程雅可比矩阵的对角元素与右端向量通过ai、bi产生联系:

因为ai和bi与整个网络都有关联,难以分割,所以在程序实现时,必须采取一定的策略。

对于各个子系统(子网络),一般采取的策略是对每一个分块加上相应的边界块,在求取该部分导纳矩阵时,直接求取每一行的ai和bi进行单独存储。在每一个分块子系统中,因为任何两个子系统之间无联系(不计及切割节点),因而ai和bi易于求取。

但是在协调系统(协调网络)中求取则不一样,先分开求取ai和bi,然后再进行块的累加求取最终值。即:

对于PV节点,因为节点电压已知,经过分析可知雅可比元素R、s与右端向量△U2没有关联。

在每个子系统中进行分解计算之后,要得到Ai、△bi、a1i、b1i的值传送至协调系统。

在协调系统,需要通过输入协调系统的信息获得协调系统雅可比矩阵Ac。根据各个子系统传送来的数据计算∑Ai、∑△bi和bc,对式(4)进行分解计算:

求解t并将它传送至各个子系统,在各个子系统中同时进行各个xi的求解,即:

将式(6)代入式(10)即可求解xi。

通过这一整个过程,即完成一次迭代,判断收敛性即可进入下一次迭代。

3.2 潮流分解计算流程

整个潮流分解计算的流程如图2所示。

4 通信

在算法数学模型中,一次迭代所需要的传输数据量与分割节点数目N有关,为(2N+1)2个数据。因为在分割中所选择的分割方案充分考虑了分割节点数尽量小这一关键问题,所以传输数据总量也相对比较小。

5 算例分析

5.1 测试结果

因为网络规模限制,运行时间非常短,为了便于比较,所测时间都是程序连续运行30次后的时间,单位为s。

对于IEEEl4节点系统,按照合理的分区方案,把标准系统原始节点号为5和9的节点作为分割节点,网络分为上、下两个子网来测试运行时间,其测试结果见表1。

对于IEEEll8节点系统,按照合理的分区方案,将标准系统原始节点号为17、19、30、37、49、65、69、77、80和100的10个节点作为分割节点,将整个网络经过分裂和整合成5个子网,其测试结果见表2。

5.2 结果分析

通过测试可以看出,对于IEEEl4节点系统,所用的并行算法效果并不显著,甚至有时速度会更慢;而对于IEEEll8节点系统,有显著的并行效率。

其原因分析:IEEEl4节点系统中,系统规模小,节点数和支路数也非常少,所以在串行程序中能获得非常快的速度,而在并行程序中,因为应用分割网络的方法,程序中多了一些分解协调的计算,另外数据的读写也比较费时;在IEEEll8节电系统中,因为网络的规模已大到一定程度,完全足以抵消上述多花费的时间,因而取得了可观的加速比。由此可见,随着网络规模的逐渐扩大,并行程序的加速比将获得提升,并行效率也将提高。

6 结语

研究了基于PC机群的电力系统粗粒度并行潮流计算方法,提出了一种适用于PC机群计算环境的基于网络分割的电力系统潮流分解协调并行算法。对IEEE标准系统的测试结果表明,此算法计算精度与普通串行牛顿-拉夫逊法一样高,并且具有客观的加速度。

参考文献

[1]Chan KW.Efficient heuristic partitioning algorithm for parallel processing of large power systems network equations[J].1EE Proceedings:Generation,Transmission and Distribution,2005,142(6):625-630

[2]沈明.求解大型稀疏线性方程组的一种并行算法及其在并行潮流计算中的应用[J].武汉水利电力大学学报,20010,33(4):29-34

基于GPU的并行集群系统的发展 第5篇

GPU集群的高性能主要归功于其大规模并行多核结构、多线程浮点算术中的高吞吐量, 以及使用大型片上缓存显著减少了大量数据移动的时间。我们可以这样说:GPU集群比传统的CPU集群具有更好的成本效益。GPU集群不仅在速度性能上有巨大飞跃, 而且显著降低了对空间、能源和冷却的要求。基于GPU的并行集群系统的各类产品遍布我国的生产, 生活。本文将介绍GPU的并行集群的技术和其在我国的发展状况。

二、GPU集群

图形处理器GPU善于处理大规模密集型数据和并行数据, 通用并行架构CUDA让GPU在通用计算领域越来越普及。基于GPGPU的高性能计算主要应用与云计算吧, 企业对成本以及效率的要求越来越高, 随着产品的不断升级, 越发的对横向和纵向都提出了更高的要求, 横向要求平台化流程化自动化, 纵向要求产品自身性能高端。服务器的稳定非常重要, 一旦出现崩溃等重大异常, 将对企业的应用生产和交付产生巨大的影响。管理GPU集群有助于实现最高的GPU利用率以及帮助用户获得最佳性能。GPU集群的构建采用了大量的GPU芯片。在一些Top500系统中, GPU集群已经证实能够达到Pflops级别的性能。大多数GPU集群由同构GPU构建, 这些GPU具有相同的硬件类型、制造和模型。GPU集群的软件包括操作系统、GPU驱动和集群化API, 如MPI。由于GPU集群的高性价比, 高性能计算领域中GPU集群的使用越来越普遍。

GPU集群相较于CPU集群, 能够在使用较少操作系统镜像的情况下正常工作。在电力、环境和管理复杂性方面的降低使得GPU集群在未来高性能计算应用中非常有吸引力由于GPU集群的高性价比, 高性能计算领域中GPU集群的使用越来越普遍, 但GPU集群并行编程并没有一个标准的通信模型, 绝大多数集群应用采取CUDA+MPI的方法实现, 而CUDA和MPI编程都非常困难, 需要程序员了解GPU硬件架构和MPI消息传递机制, 显式控制内存与显存、节点与节点间的数据传输。因此, 对编程人员来说, GPU集群并行编程仍是一个复杂的问题。

三、GPU的并行集群

目前很成功的产品出现在市场上, 如:

1、Platform HPC由Platform Computing公司开发, 旨在让技术应用程序的用户能够轻松利用GPU高性能计算集群的处理能力和扩展能力。

2、Bright Cluster Manager是一款完全集成的解决方案, 用于部署、测试、提供 (provisioning) 、监控以及管理GPU集群。凭借Bright Cluster Manager, 集群管理员能够同时轻松安装和管理多个集群。

3、PBS Professional是Altair公司的EAL3+安全认证商用级高性能计算工作负荷管理解决方案。PBS Professional是所有PBS Works解决方案的基础, 让开发者能够轻松创建智能政策, 以管理分布式多厂商计算资产。

4、Bright Cluster Manager是一款完全集成的解决方案, 用于部署、测试、提供 (provisioning) 、监控以及管理GPU集群。凭借Bright Cluster Manager, 集群管理员能够同时轻松安装和管理多个集群。

5、Ganglia 是一款开源可扩展分布式监控系统, 用于集群与网格 (Grid) 等高性能计算系统。该系统经过了精心的工程设计, 可让每个节点实现极低的系统总开销以及极高的并发性。Ganglia目前已运用在全球数以千计的集群当中, 该系统可以扩展, 能够处理具备数千个节点的集群。

6、吉浦迅科技与英伟达 (NVidia) 、惠普 (HP) 共同合作推出的HP GPU Starter Kit超算集群测试环境, 提供最高四节点/8-GPU/4096核, 浮点计算能力高达10万亿次的测试环境, 针对国内高校、科研单位能够快速体验超强的运算速度。

四、结束语

GPU集群比传统的CPU集群具有更好的成本效益。GPU集群不仅在速度性能上有巨大飞跃, 而且显著降低了对空间、能源和冷却的要求。搭建CPU-GPU集群并行计算平台, 集群中每个计算节点都以CPU为主处理器GPU为协处理器, 将并行数值计算部分由GPU完成, 其余操作由CPU完成。这种技术已经当前行业的必然发展方向, 高性能计算领域中GPU集群的会越来越普遍, 为我们的生产, 生活带来更好的方向。

参考文献

[1]龙柏.并行计算平台上的数据索引技术研究[D].中国科学技术大学.2011年

[2]Buyya, Rajkumar;Chee Shin Yeo, Srikumar Venugopal.MarketOriented Cloud Computing:Vision, Hype, and Reality for Delivering IT Services as Computing Utilities (PDF) .Department of Computer Science and Software Engineering, The University of Melbourne, Australia.9.[2008-07-31]

[3]吴超;信息检索中top-k问题的并行算法及优化研究[D].中国科学技术大学;2011年

[4]Danielson, Krissi.Distinguishing Cloud Computing from Utility Computing.Ebizq.net.2008-03-26[2010-08-22]

一种高速并行信号处理系统设计 第6篇

随着信息技术的飞速发展, 现代嵌入式系统应用越来越广泛, 需求也越来越高, 主要体现在信号处理运算量急剧增加, 实时性要求不断提高, 其典型的应用领域包括数字化医疗、图像处理以及军事应用等等[1]。数字信号处理器 (DSP) 和可编程逻辑门阵列 (FPGA) 作为信号处理的核心部件, 自面世以来, 处理能力不断增强, 尤其是VLSI技术的发展使DSP和FPGA芯片的性能有了很大的提高, 但是面对信号处理实际需求的不断提高, 以单DSP或FPGA为核心的单处理器系统仍然难以满足实际需求, 因此, 通过多处理器构建并行处理体系结构已经成为了解决这一问题的必然趋势。

本文设计并实现了一种基于多DSP+FPGA的高速并行信号处理系统, 该系统具有集成度高、运算能力强、结构灵活、可扩展性好等特点, 可以广泛应用于宽带数字通信、软件无线电、雷达成像信号处理等领域。

1 并行处理体系结构介绍

并行处理系统将多个处理单元以一定的拓扑结构连结在一起, 通过一定的方法可以将一个任务分成若干个子任务, 分别由各处理单元完成, 其目的是采用多个处理单元同时对同一任务进行处理而减少整个任务的执行时间, 如何能以最短的时间完成任务是并行处理系统设计者最关心的问题[2]。

决定并行处理系统性能的三个要素是:处理单元、并行处理拓扑结构、并行处理任务分配[2]。在系统设计阶段选择合适的处理器是基础, 而制定合理的并行拓扑结构, 又是充分合理利用系统资源的关键。

并行处理系统各处理单元之间的拓扑结构大致可分为两类:一种是共享总线或共享存储器系统, 一般称之为紧耦合式并行系统[3];另一种是各处理单元有各自独立的数据存储器而通过通信口相连的分布式并行系统, 一般称之为松耦合式并行系统[3]。

共享总线系统使多个处理单元共同使用一套数据总线, 比较典型的应用是基于大型工业标准, 如VME、CPCI、PCIE标准等, 这种结构的优点是简单, 当处理器数目较少 (一般少于6 个) 时, 可以获得较高的并行处理性能, 但当处理单元个数较多时, 共享总线可能会造成频繁的总线等待甚至冲突, 引起各处理单元等待总线令牌的时间大大增加, 不利于并行处理效率的提高。

松耦合式并行系统由于不依赖特定的总线或者共享存储器, 因而较为灵活, 其各处理单元的连结方式很多, 一般有线形、树形、星形、网孔形、超立方体结构等, 各种连结方式有各自的特点, 其应用场合也不一样, 比较典型的应用有基于链路口 (LINK) 的多处理器并行系统、基于同步串口 (SPORT) 的多处理器并行系统、基于HPI/IDMA的多处理器并行系统、基于数据交换的多处理器并行系统等[4]。

2 多DSP+FPGA并行处理系统设计

2.1 系统原理框图

本设计以DSP和FPGA为核心处理单元, 结合上述两种并行处理体系结构的特点, 构建了高速实时并行处理系统, 系统硬件组成原理框图如图1 所示。

由图1 可以看出, 该并行处理系统由两个独立的并行处理通道构成, 分别命名为A通道和B通道, 两个通道对称分布, 原理图完全一样, 实现并行处理。

该并行处理系统在方案构建过程中, 充分考虑DSP和FPGA在信号处理领域的特点, DSP处理灵活性强, FPGA规模大、处理并行度高, 所以该系统综合了二者的优势, 采用DSP+FPGA构成核心处理单元的工作模式, 每个处理通道由两片DSP和一片FPGA组成, 整个并行处理系统由四片DSP和两片FPGA组成, 两个处理通道之间通过FPGA的高速串行总线接口Rocket IO实现互连, 实现高速数据交换, 整个并行处理系统通过Rocket IO接口、LVDS接口以及若干独立IO管脚实现与外部的互连。

2.2 核心处理器选型

2.2.1 DSP选型

本系统选择的DSP是TI公司的TMS320C6713B, 它是一款性能非常优良的单核32 位浮点DSP芯片, 采用0.13 μm CMOS工艺, 3.3 V的IO电压, 1.2 V的内核电压, 非常有利于芯片功耗的降低;它采用超长指令字 (VLIW) 结构的TMS320C67x DSP核, 最高时钟频率可达300 MHz, 专门的ALUs和浮点乘法器可提供高效率的浮点运算处理, 每个时钟周期可以并行执行8条32位指令, 每秒最大的处理能力为2 400 MIPS或者1 800 MFLOPS (单精度) ;增强型直接存储器访问 (EDMA) 控制器提供高效的数据传输能力, 可控制16 个独立通道完成不受CPU干预的数据传输;它采用两级缓冲 (Cache) 机制, 第一级Cache中程序和数据空间各有4 KB, 第二级Cache中提供总计256 KB的程序和数据空间;32 b的EMIF接口支持与SDRAM、SBSRAM、SRAM、FLASH等的无缝接口, 片外最大可寻址空间达512 MB;其具有丰富的外设接口包括16 b HPI接口、MCASP接口、MCBSP接口、I2C接口、SPI接口等[5]。

2.2.2 FPGA选型

本系统选择的FPGA是Xilinx公司Virtex-5系列产品V5SX240T, Virtex-5系列FPGA是Xilinx公司于2009年新推出的高性能信号处理器, 它采用65 nm Cooper CMOS工艺, 内核电压仅为1.0 V, 其中SXT系列FPGA由于其丰富的存储器和乘法器 (DSP48E) 资源而非常适用于高性能数字信号处理领域, V5SX240T是其中性能最强的一款, 具有如下特点[6]:片内工作时钟可达500 MHz;37 440 个Slices资源;516 个36 Kb block RAM/FIFOs资源, 可灵活配置为18 b、36 b、72 b宽度的RAM/FIFOs;1 056 个高性能DSP48E乘法器资源:可实现25×18 的复数乘法;24 个高速串行总线接口Rocket IO GTP:最高接口速率可达3.75 Gb/s;6 个高性能时钟管理模块 (CMT) :每个CMT包含两个DCM和一个PLL;丰富的IO资源:为用户提供960 个可灵活配置的通用IO管脚;丰富的外设资源:提供PCIE接口以及以太网接口。

2.3并行处理通道设计

2.3.1存储器容量扩展

在高速并行处理系统中, 为了达到实时性要求, 海量数据的吞吐是必不可少的, 为了增强该并行处理系统的实时处理能力, 对每个并行处理通道均进行了存储资源的扩展。

FPGA除了上电引导配置PROM外, 还外接了2 片16 B位宽的DDRII存储器MT47H64M16HR, 两片存储器可独立使用, 也可以拼合作为32 b宽度并行使用, 总存储容量为2 Gb, 接口工作时钟可达266 MHz, 其总线带宽最高可达:533 MHz×32 B=16.65 Gb。另外, FPGA还外接了1 片32 B位宽的同步静态存储器, 存储容量为128 Mb。

DSP除了上电引导程序FLASH外, 还外接了2 片16 b位宽的SDRAM存储器MT48LC32M16A2T, 两片存储器总存储容量为1 Gb, 接口工作时钟可达133 MHz, 其总线带宽最高可达:133 MHz×32 b=4.15 Gb。另外, 为了增强两片DSP之间的数据交换能力, 其间还设计了一片双端口存储器IDT70T3509M, 容量为128 Mb, 接口工作时钟可达133 MHz。

通过以上存储资源的扩展, 极大缓解了海量数据处理过程中FPGA和DSP片内存储资源的压力, 有效增强了该并行处理系统的实时处理能力。

2.3.2 DSP乒乓操作

根据本系统中DSP和FPGA器件的特点, 在实际处理过程中, 可以进行处理功能的划分, TMS320C6713B负责完成浮点运算处理, 达到尽可能保留处理过程中数据精度的目的, V5SX240T负责完成定点运算处理, 充分利用FPGA可重构的优势, 提高运算效率。

从处理器综合性能来看, 由于V5SX240T相比于TMS320C6713B的处理能力来说更为强大, 为了不使TMS320C6713B的处理能力成为系统的瓶颈, 可以通过扩展TMS320C6713B的处理能力来解决这一问题, 本系统的每个处理通道中, 均采用两片TMS320C6713B实现并行处理, 实现了整个数据处理链路性能的均衡, 最大限度发挥了系统并行处理能力。

在每个并行处理通道中, 两片TMS320C6713B并行完成浮点运算处理, 然后交替地向V5SX240T传送处理结果, V5SX240T根据收到的数据继续进行后续的处理运算。假设运算过程中两片TMS320C6713B的处理周期均为PRT, 则V5SX240T的处理周期为TMS320C6713B的一半, 即PRT1=PRT/2, 详细的并行处理时序图如图2所示。

2.4 接口设计

2.4.1 Rocket IO接口

Rocket IO是Xilinx FPGA内嵌的可编程高速串行收发器, 在使用时不占用FPGA其他逻辑与片上存储资源, 在Virtex-5 SXT系列FPGA中称作GTP, 其内建的CDR电路、8B/10B编解码电路以及CML信号模式使其线速率最高可达10 Gb/s以上。一个完整的GTP收发器主要包括PMA和PCS两个子层, 每两个GTP共用一个PLL, 组成一个GTP_Dual[7], 其结构框图如图3 所示。

Rocket IO收发器具有如下特征:具有可配置终端、电压摆幅与耦合的电流模逻辑串行驱动或缓冲器;可编程发送预加重和接收均衡, 以实现最优信号完整性;最多支持24 个通道的绑定 (多通道同步工作) 应用, 总线带宽可达90 Gb;传输速率在100~500 Mb/s区间时具有可选的5 倍过采样功能;可选的嵌入式PCS功能, 例如8 B/10 B编码、逗号对齐、通道绑定以及时钟校正;最小化的确定性数据通道延迟。

从应用上讲, Rocket IO处于数据传输协议的物理层, 用以实现最基本的数据通信环境。其主要功能可以概括为:将输入的并行数据经过编码, 转化为高速的差分串行信号。目前已为Rocket IO推出了多种协议标准, 如Aurora、Serial Rapid IO、PCIExpress等, 其中Aurora是Xilinx公司为Rocket IO开发的链路层协议[8], 另外, 用户也可根据应用需求自定义协议。

在本并行处理系统的物理连接方式上, A通道和B通道之间采用8 组GTP互连, 其总线带宽可达30 Gb, A通道和B通道分别通过8组GTP实现与外界的互联, 设计过程中, 采用专用接插件, 其总线带宽同样可达30 Gb。在应用通信协议设计上, 除了物理上Rocket IO接口连接测试验证满足要求之外, 还针对实际应用建立了自定义协议, 提高了该并行系统接口传输的灵活性。

2.4.2 HPI接口

HPI接口[9]是TMS320C6000 提供的一个16/32 b宽度的并行端口, 主机 (上位机) 可以通过它直接访问CPU的存储空间, HPI与CPU存储空间的互联是通过DMA控制器实现的。

TMS320C6713B的HPI接口信号与其他功能模块信号是复用的, 在设计过程中, 通过对HPI_EN管脚进行上拉处理, 使能HPI接口, 该接口信号包括:数据信号HD[15:0]、中断信号HINT、控制信号HCS、HR/W、HCNTL等, 主机按照如下时序完成对HPI的访问:初始化HPIC寄存器;初始化HPIA寄存器;从HPID寄存器读取/写入数据, 由于HPI口数据宽度为16 b, 因此对于一个32 b数据需要进行两次halfword的存取。

本并行处理系统设计过程中, HPI接口具有两种工作模式:HPI boot模式和HPI数据传输模式。由于HPI接口所有信号均接入FPGA (XC3S1400A) 中, 因此可以灵活配置HD[4:3]的上拉/下拉状态, 当配置HD[4:3]=00时, 即TMS320C6713B工作在HPI boot模式下, 此时, 外部将程序数据传输至XC3S1400A内部, 然后由XC3S1400A产生HPI写时序, 将程序数据写入TMS320C6713B片内程序存储区, 最后发送HPI中断, 实现DSP程序的bootload。当TMS320C6713B工作在HPI数据传输模式时, 可以完全自主地产生HPI接口时序信号实现读写操作, 通过FPGA产生HPI时序实现了对该HPI接口速率的灵活配置, 为实际应用提供了方便。

2.4.3 LVDS接口

LVDS接口又称RS644 总线接口[10], 即低电压差分信号接口, 这种技术的核心是采用极低的电压摆幅高速差动传输数据, 具有低功耗、低误码率、低串扰和低辐射等特点, LVDS采用平衡电缆传输, 速率可达几百Mbps, LVDS在对信号完整性、低抖动及共模特性要求较高的系统中得到了越来越广泛的应用。

本并行处理系统充分运用Xilinx公司FPGA在IO端口集成的LVDS收发器, 即差分输入缓冲模块IBUFDS和差分输出缓冲模块OBUFDS, 对FPGA的IO端口进行配置, 将LVDS驱动器映射到IO端口上。本系统中共计提供了22 对LVDS信号, 用户可根据实际需要进行灵活定义和配置。

2.4.4 其他接口信号

本并行处理系统的XC3S1400A还提供了若干独立IO接口信号, 用户可以根据实际需要进行配置使用, 例如可以用作硬件中断信号, 或者是板间需要同步处理的脉冲信号等。

3 应用验证

由于本并行处理系统具有通用化、可扩展、可重构的特点, 因此可根据不同的应用需求, 通过增减并行处理通道来改变处理能力, 达到适应不同算法需求的目的。下面以基于该并行处理平台构建的某算法评估系统来验证系统的实际处理能力, 该评估系统原理框图如图4 所示。

在图4 中, 外部输入的四路模拟信号经过A/D采样之后, 送入FPGA进行预处理, FPGA处理之后的数据按照处理节拍分时发送至A、B、C、D四个处理通道, 实现四个处理通道并行运算, 运算完成之后, 四个处理通道将处理结果回传至预处理FPGA, 进行最后的融合数据, 整个处理过程中, DSP通过外部通信接口实现与外部的接口通信, 并与预处理FPGA进行数据交互。

本算法评估系统采用多通道并行处理思路, 实现算法的评估, 根据实际不同算法不同的运算量需求, 本系统可以灵活增减处理通道, 达到系统性能的最优化。

4 结论

本文在研究现代嵌入式系统两种典型的并行处理体系结构的基础上, 设计并实现了一种基于多DSP+FP GA的高速并行处理系统架构, 该系统兼顾DSP和FPGA的性能优势, 采用二者协同处理, 满足高速实时信号处理的应用需求, 该并行处理系统采用通用化、标准化设计思路, 具有集成度高、运算能力强、结构灵活、可扩展性好等特点, 以此为基础构建的某算法评估系统, 经过实际验证, 处理性能良好, 为信号处理领域大规模通用硬件电路设计提供了有力参考与借鉴。

摘要:现代嵌入式系统的广泛应用对信号处理运算量以及实时性都提出了更高的要求, 通过多处理器构建并行处理体系结构已经成为了解决这一问题的必然趋势。在研究并行处理体系结构的基础上, 设计并实现了一种基于多DSP+FPGA的高速并行信号处理系统, 该系统具有集成度高、运算能力强、通用性好、可扩展性好等特点, 满足大规模实时信号处理的实际应用需求。

关键词:信号处理,高速,并行,DSP,FPGA

参考文献

[1]潘昉晟, 赵峰.基于FPGA和多DSP的并行信号处理系统的实现[J].计算机工程, 2006, 32 (23) :247-249.

[2]廖晓群, 蔺丽华.DSP并行处理系统设计中的几个关键问题[J].西安科技学院学报, 2001, 21 (3) :227-230.

[3]郭宇, 葛临东.多DSP并行处理板设计及其在软件无线电中的应用[J].信息工程大学学报, 2007, 8 (2) :198-201.

[4]杜金榜, 钟小鹏.多DSP并行处理系统的设计与开发[J].计算机测量与控制, 2006, 14 (5) :658-661.

[5]Texas Instruments.TMS320C6713 Floating-point digital signal processor:complete datasheet[M].USA:Texas Instruments, 2001.

[6]Xilinx.Application note:Virtex-5 platform FPGA handbook[M].USA:Xilinx, 2009.

[7]陈长林, 邱兆坤.RocketIO及其在高速数据传输中的应用[J].技术纵横, 2010 (11) :25-28.

[8]武荣伟, 苏涛.RocketIO在高速数据通信中的应用[J].通信技术, 2010, 43 (11) :9-11.

[9]任丽香, 马淑芬.TMS320C6000系列DSPs的原理与应用[M].北京:电子工业出版社, 2000.

一种并行多通道数据获取系统设计 第7篇

近20年里无损检测技术在我国得到了迅速的发展, 其若干单项技术在研制和运用水平上都已经进入了国际先进行列, 并在航空航天、武器制造、汽车制造以及海关检查等工农业生产和生活中得到广泛应用。通过多次技术合作和攻关, 已制定了回弹法、超声回弹综合法、取芯法、拔出法等一系列无损检测的规程。伴随着无损检测技术的发展和日益完善, 除了常用的超声波外, 红外成像技术、雷达技术、波动分析技术、电磁、激光等技术也逐渐被应用。随着配套开发和研制的检测设备发展到智能化时代, 相位信息已在无损检测领域广泛应用[1,2,3]。与此同时, 激振检振技术在工程应用中更是无损检测研究的一个重要的方向[4,5]。

传统的数据获取系统, 多采用异步多路数据采集模式, 此类系统仅能获取模拟信号的频率幅度信息, 本文根据激振检振技术相位信息运用需求, 介绍了一种多通道同步数据获取系统, 此系统不但能够采集到模拟信号的频率幅度信息, 同时能够保持不同模拟信号之间的相位信息[6]。

1 系统设计方案

多通道数据获取系统总体框图如图1所示。系统提供8通道模拟信号输入通道, 多路模拟开关应用于系统的扩展, 以增加模拟通道的路数;传感器模拟输出信号常夹杂高频噪声, 由调理电路完成对高频噪声的滤除, 同时为提高A/D转换器模拟输入的动态范围, 调理电路还需对模拟信号进行放大;A/D转换模块采用8通道同步模拟转换器, 以完成8路模拟信号的同步采样;控制单元主要完成A/D转换器的驱动、多路模拟开关的导通控制、信号调理模块的相应控制及与硬件系统和上位机间的通信。

2 分系统设计

根据总体设计方案, 该系统包括调理模块、多路模拟开关、A/D转换器、通信接口及控制单元等。

2.1 调理电路

信号调理模块包括低通滤波和信号放大两个部分。

2.1.1 滤波电路

传感器输出的模拟信号常含有高频噪声, 需设计一低通滤波电路将高频噪声进行滤除。常用的低通滤波电路有两种[7]: (1) 运放加阻容元件; (2) 采用集成滤波芯片。集成滤波芯片具有精度高、体积小的特点, 本系统采用集成低通滤波芯片[8]MAX291。

MAX291具有外部时钟和内部时钟两种工作方式, 根据其工作原理, 本系统采用内部时钟方式, 电路较为简单, 使用方便。当使用内部时钟时, 其时钟频率f (kHz) 由CLK引脚与地之间跨接的一电容C确定, 具体关系如下:

其中:C为CLK与地之间跨接的电容, pF。

MAX291的截止频率为时钟频率的1/100, 根据工程需要, 本系统时钟驱动电容C取值为20pF。为保持各路相位信息的一致性, 系统采用一片电容驱动各路滤波芯片内部时钟。低通滤波电路如图2所示。

2.1.2 放大电路

由于输入模拟信号的动态范围无法满足A/D转换器的模拟输入要求, 为使输入信号与采样信号匹配, 在滤波电路之后加一程控运算放大电路, 如图3所示。

程控放大电路为一同相输入运算电路, 由高速高精度运算放大器和数字电位器构成。通过控制数字电位器的阻值实现电路放大倍数的控制。高速运算放大器选用OP37, 该运放具有噪声低、失调电压小、温漂小等特点, 增益带宽积达到63 MHz。数字电位器选用MAX5484, 该电位器具有非易失、线性变换的特性[9], 有1 024个抽头, 最大电阻为50kΩ。

2.2 采集模块设计

信号采集电路采用MAXIM公司生产的MAX1308, 其具有独立8通道模拟输入端口, 独立的采样保持电路为每个通道提供同时采样, 提供5V的模拟信号电压输入范围, 采样精度为12位, 采样频率达到每通道456ks/s。为了保证ADC芯片的12位采样精度, 在每个模拟输入通道之前设计了一个由OP37构成的电压跟随器, 作为输入缓冲模块。

根据MAX1308的工作原理, 系统使用其内部参考时钟, 因为ADC芯片的8个通道在电路使用中均一直处于工作状态, 所以在电路设计中放弃关断模式和通道关断模式, 将芯片的SHDN管脚置为低电平, CHSHDN置为高电平;其余的控制管脚与控制器FP-GA相连, 12位数字总线与FPGA的IO口连接, 并行输出转换后的12位数字信号, 同时D0~D7端口作为配置信息输入端口。ADC芯片连接示意图见图4。

2.3 辅助电路设计

辅助电路包括系统电源及通信接口设计两个部分。ADC芯片的供电电压为±5V, 采用LM7805和LM7905进行供电, 控制器EP3C10E144C8N的供电电压为3.3V、1.5V和1.2V, 采用LM1117系列芯片进行供电。为方便与上位机相连, 通信接口选用RS232-USB通信方式[10], 转换芯片选用Prolific公司生产的PL2303, 该芯片仅需外接几只电容便可实现USB信号与RS232信号的转换, 实现上、下位机的双向通信。

2.4 控制模块设计

完成信号调理及ADC模块硬件设计之后, 最重要的便是其ADC转换逻辑、程控放大自动增益控制以及整个系统的时序控制。系统选用ALTERA公司生产的FPGA芯片EP3C10E144C8N, 完成与上位机之间的通信和对ADC芯片的驱动及程控放大的控制。下位机软件采用分层模块化设计, 运用VHDL语言及集成开发工具定制文件实现。下位机软件大致可以分为3个部分, 即系统总体控制程序、ADC驱动控制程序及程控运放控制程序。

程控运放程序主要完成信号调理中运放的自增益设置。首先从控制器RAM中读取数控电位器控制数据, 若数据有效便将数据写入数控电位器, 若无效则初始化后写入, 启动一次ADC, 并根据采集回的数据进行运放电阻调制, 直至将测量电压调制在4.5 V~-4.5V附近, 最后将电位器控制参数写入控制器RAM, 具体流程如图5 (a) 所示。

ADC控制程序主要完成ADC芯片的驱动控制。首先通过数据总线D0~D7对ADC芯片进行配置, 使模拟8通道均处于使用状态。配置完毕后, 启动ADC芯片, 等待所有通道均转换完毕后, 对各通道数据进行依次读取, 具体流程如图5 (b) 所示。

下位机主控制程序负责下位机整体时序的控制。程控运放增益倍数调制合适后, 将数字电位器控制参数发送回上位机, 启动ADC芯片进行数据采集, 并将采回的数据发给上位机。若系统为连续采集, 则重新启动ADC芯片重复上述步骤;如非连续采集, 则结束此次数据采集。主程序流程如图5 (c) 所示。

3 实验结果

完成系统的硬件设计以后, 运用分层模块化的方式, 对ADC控制软件进行了实现, 并进行了在线仿真, 通过信号convt对ADC进行启动控制, 当各通道数据全部转换完毕后 (eolc0和eolc1均为低电平) , 通过连续的8个rd信号, 完成8通道采集数据的读取, 具体仿真结果如图6所示。

4 结语

本文根据激振检振工程运用需求, 介绍了一种基于MAX1308的并行数据采集系统方案, 可以完成8通道模拟数据的同时采集, 能够很好地保持各通道数据间的相位信息, 并利用VHDL语言及集成开发工具定制文件, 通过分层模块化的方式, 很好地完成了在电压范围内的采样, 实现了对ADC控制软件的设计和仿真。

摘要:针对无损检测技术中激振检振技术对相位信息应用的工程需求, 基于MAX1308设计了一种8通道并行数据获取系统, 数据完整地保持了各通道间的相位信息。并根据工程需求设计了调理电路, 系统可以完成电压±5V之间的信号采样, 每通道的采样速率达到456ks/s。

关键词:数据采集,激振检振,信号调理,多通道

参考文献

[1]刘颖韬, 郭广平, 杨党纲.脉冲相位法用于复合材料层析检测的研究[J].激光与红外, 2009, 39 (4) :390-392.

[2]张娟, 沙爱民, 孙朝云, 等.基于相位编组法的路面裂缝自动识别[J].中国公路学报, 2008, 21 (2) :39-42.

[3]赵莹莹, 田裕鹏.脉冲相位光热辐射测量中的数据拟合处理方法[J].无损检测, 2007, 29 (11) :637-640.

[4]梅志远, 罗忠, 周欣, 等.夹心复合材料基座激振[J].振动与冲击, 2009, 28 (1) :152-165.

[5]王晓, 张朝晖, 蓝金辉, 等.基于振动能量分析的管道裂痕诊断[J].仪器仪表学报, 2005, 26 (s2) :606-607.

[6]陈子为, 邓芳.基于ADS8364的多通道高速数据采集处理系统[J].数据采集与处理, 2006, 21 (12) :226-231.

[7]李志强.12电极ECT传感器和数据采集系统的研究[D].哈尔滨:哈尔滨理工大学, 2009:3.

[8]刘国营, 刘俊, 李杰.基于ADS8364和DSP的高速数据采集系统设计[J].微计算机信息, 2007, 23 (8) :190-191.

[9]周建会, 韩焱, 王鉴.考场防作弊干扰器的设计[J].传感技术学报, 2010, 23 (1) :43-46.

并行识别系统 第8篇

关键词:数据采集,PXI,并行,多通道,卫星,导弹

0 引言

在导弹测试和卫星测试等航天领域,需要处理的信号非常多,经常要用到高速的数据传输技术。数据传输技术可以分为串行和并行传输2种机制。

串行传输是指按位串行的发送数据,在当前的技术水平下,可以达到每秒几百兆至几十万兆字位的传输速率。高速的(几十万兆级)传输是基于Rocket IO来实现的。Rocket IO工作的基本原理是把输入的并行数据先进行8b/10b编码,经串行化后再利用高速差分方式来发送出去[1]。接收端收到该高速的串行差分数据后,把它恢复成并行数据,再经过8b/10b解码后,把数据送给下一级数据处理模块(如D/A)进行后续处理。整个流程控制起来较为复杂,并且成本极高,对普通的需要做高速传输和并行处理的场合,并不是最佳选择。

并行传输是指同时传送多位数据,在相同的单路传输速率的情况下,它比串行传输有更高的速率。目前的并行传输技术多数是基于A/D+D S P或者是A/D+F P G A的构架来实现的[2,3]。前者的基本思想是利用DSP高速的分时去取得各个A/D模块的输出值,一旦信号数量较大或者是速率较快,D S P需要花费较多时间与每个A/D芯片进行数据交互,无法满足并行的获取数据的要求。F P G A是并行的处理结构,可以同时获得多路信号。但它获取到数据后,需要将其存到R A M中供后续设备取走。一旦信号路数增多,信号量增大,就会对存储区域容量和取数控制提出更高要求。

鉴于在深圳航天东方红海特卫星有限公司的某卫星数传系统地面测试设备研究项目中,需要进行并行数据采集,提出了一种基于PXI 6562板卡的并行数据采集解决方案。针对输入的多路并行数据,它可以很方便地进行采集、存储和取数,控制方法简单。

1 数据采集原理

PXI6562是NI公司推出的一款数字波形产生/分析仪,可用于产生和采集数据,支持并行的输入输出模式。在单数据速率模式下,支持200Mbps的数据速率,在双数据速率模式下,数据速率可达400Mbps。该板卡具有1 6个通道,每个通道的方向可以设定,并且根据板卡的配置不同,每个通道均有2 M、1 6 M或1 2 8 M的产生数据和采集数据的板载存储器,板载时钟范围为48Hz~200MHz。每个通道采用低压差分信号(LVDS)标准,这使得信号在传输时,不仅可以达到较高的速率,而且抗干扰性能好。板卡上还有4路可编程接口(P F I)和3路时钟接口,可以方便地与其他外设交互[4]。

PXI6562可以利用多种方式的触发来执行数据产生或采集任务,分别有电平触发、沿触发、匹配触发和软触发。根据不同的应用场合,可以选用相应的触发模式,一般用的较多的是后3种。沿触发是指在参考信号的上升沿或下降沿到来时启动任务,匹配触发是指在各个通道的状态满足一定条件时才触发任务,软触发是在程序内部实现任务触发。本方案设计基于的是匹配触发。

匹配触发下,可为每个通道设定触发条件,条件可为0、1、F、R、X,分别代表低电平、高电平、下降沿、上升沿和任意状态。当所有通道的条件均满足时,即可触发,启动采集任务。因此,可以利用这种方式来实现带协议的数据采集任务。

本方案中,利用内部时钟作为采样时钟,在上升沿时开始数据采集。采样原理图如图1所示。

采样时,需要设定采样的点数和采用记录(Record)个数。采集一个N bit位的数据信息,每位采样M次,则设定采样点数为MN即可。每次采样时,P X I一次性地去读16个(或8个)通道状态,每个状态为0或1,占一个bit位,按15至0通道的顺序组合各个通道的状态,可以得到一个2字节的数据,作为本次采用的结果存储到板载存储器中。取数时,每5个采样点中取第3个点或者中间3个点作为决定某位取值的依据。由于PXI6562的对外接口板采用的是LVDS标准,进入PXI的信号质量很好,可以保证此种方法不会读错。在Labwindows/CVI中编程设计取数方法,调用read或者fetch函数,即可获得每个被采样的数据信息[5]。

2 数据采集系统方案设计

进行数据采集时,由于每个通道的电平标准是LVDS,因此在信号进入到6562之前,需要进行信号电平转换。设计中采用了NS公司的D S 9 1 C 1 7 6芯片,该芯片支持最大650Mbps的传输速率,通过该芯片即可实现从单端信号到LVDS的变换。数据源是经过A/D变换得到的多路数据信号,FPGA读到A/D送来的多路信号后,无需做存储处理,直接并行地发给PXI6562板卡即可。其结构图如图2所示。

在一个任务中,可以设定多个Record以进行大量数据采集。采样得到的数据信息,以Record的形式并存到板载的存储空间中。通过调用相应的处理函数,即可设定每次需要读出的Record的数目,提取出每个Record中的数据信息。只要R e c o r d的数量足够大,待预定Record采完后,设计合理的取数周期,就不必担心读空或者是数据溢出的情况。与基于D S P或F P G A构架的方式相比,它解决了通道过多无法实现并行的麻烦,也使得从存储器中取数变得更为简单,无须复杂的访问控制,因此,此方案可以高效地实现并行数据采集任务,控制流程更为简捷。在该卫星测试设备研制项目中,数据并行传输,由于读回的值是按通道权重得到的十六进制数,只需选取不同时刻的采样值,即可读出全部收到的数据。数据采集的流程图如图3所示。

3 数据采集结果分析

该公司正在进行的某型号卫星的地面测试系统的研制项目中,需要采集来自FPGA的以EB开头的数据帧,每帧数据包含2 4个字节,每个字节不含起始位和停止,只占8个bit位,字节之间无间隔。数据传输的方式是并行传输,每通道的速率为2 0 M b p s。要采集这样的数据,可以利用匹配触发模式来实现。设置采样时钟为100MHz,每位采样5次,每个Record中需要采样2485共960个采样点,共采样4个Record。在Labwindows/CVI中,可以得到如图4所示的采样结果。

通过图4可以发现,系统成功地采集到了预定的数据信号。为了验证更高速率下的采集情况,以4 0 M b p s的速率在各通道上发数,5倍采样,实验证明,也能采集到正确的数。

4 总结及展望

基于PXI6562的高速并行数据采集可以实现高速数据采集任务,采集的数据量大,信号质量好。在1 6通道同时采集的情况下,最大支持1640即640Mbps,通过多个6 5 6 2板卡联合使用,可以实现更多通道的数据采集任务,支持的采集数据量将更大,可广泛应用于导弹测试等需要大量并行处理的测试场合,易于操作控制,具有很强的实用性。

参考文献

[1]李江涛.RocketIO高速串行传输原理与实现[J].雷达与对抗,2004,3:48-50

[2]邹勇,等.一种多通道高速并行数据采集系统的设计与实现[J].电子元器件应用,2006,8(10):32-34

[3]王文武,等.基于FPGA和DSP的并行数据采集系统设计[J].微计算机信息,2004,20(11):68-69

[4]NI公司.NI Digital Waveform Generator/Analyzer Help.2006

并行识别系统范文

并行识别系统范文(精选8篇)并行识别系统 第1篇说话人识别方法主要包括矢量量化方法、概率统计方法、判别分类器方法等。任何单一方法即有...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部