CN116594783B - 针对高速核脉冲信号的多核实时并行处理方法 - Google Patents
针对高速核脉冲信号的多核实时并行处理方法 Download PDFInfo
- Publication number
- CN116594783B CN116594783B CN202310872156.8A CN202310872156A CN116594783B CN 116594783 B CN116594783 B CN 116594783B CN 202310872156 A CN202310872156 A CN 202310872156A CN 116594783 B CN116594783 B CN 116594783B
- Authority
- CN
- China
- Prior art keywords
- nuclear
- core
- pulse signal
- data
- pulse
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000013075 data extraction Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims abstract description 9
- 239000013078 crystal Substances 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 9
- 230000003750 conditioning effect Effects 0.000 claims description 8
- 238000001228 spectrum Methods 0.000 claims description 6
- 238000007405 data analysis Methods 0.000 claims description 5
- 230000007717 exclusion Effects 0.000 claims description 5
- 230000005855 radiation Effects 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 5
- 229910014323 Lanthanum(III) bromide Inorganic materials 0.000 claims description 3
- 230000003321 amplification Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- XKUYOJZZLGFZTC-UHFFFAOYSA-K lanthanum(iii) bromide Chemical compound Br[La](Br)Br XKUYOJZZLGFZTC-UHFFFAOYSA-K 0.000 claims description 3
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 3
- KRIJWFBRWPCESA-UHFFFAOYSA-L strontium iodide Chemical compound [Sr+2].[I-].[I-] KRIJWFBRWPCESA-UHFFFAOYSA-L 0.000 claims description 3
- 229910001643 strontium iodide Inorganic materials 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 11
- 230000007547 defect Effects 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000012887 quadratic function Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01T—MEASUREMENT OF NUCLEAR OR X-RADIATION
- G01T1/00—Measuring X-radiation, gamma radiation, corpuscular radiation, or cosmic radiation
- G01T1/36—Measuring spectral distribution of X-rays or of nuclear radiation spectrometry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- High Energy & Nuclear Physics (AREA)
- Molecular Biology (AREA)
- Nuclear Medicine (AREA)
Abstract
本发明公开了一种针对高速核脉冲信号的多核实时并行处理方法,包括确定高速核脉冲信号处理的任务、为每个任务创建对应线程、为每个线程指定核集、创建线程间的数据通讯变量;经DMA传输方式直接将核脉冲信号数据传输到核脉冲信号处理端内存中;执行核脉冲窗数据提取任务提取多个单核脉冲信号;协调执行多个核脉冲信号处理任务得到核事件数据;采用多核高频处理器对高速核脉冲信号进行实时并行处理,从而克服现有技术中采用PFGA进行核脉冲信号处理而导致的调试麻烦、开发速度慢、迭代慢等缺陷,本发明更具有通用性和快速迭代开发能力、能显著降低开发成本。
Description
技术领域
本发明涉及一种核脉冲信号处理方法,尤其涉及一种针对高速核脉冲信号的多核实时并行处理方法。
背景技术
伽马能谱仪主要涉及探测器、核信号数字化采集、数字信号处理和分析软件三个重要组成部分,其中核信号数字化采集,在80年代采用分立元件;其系统电路复杂,死时间长,处理速度慢;随着新器件和新技术的发展,尤其是高速ADC和各种数字化器件的不断发展,使得数字化能谱仪技术成为重要的发展方向。目前国内多采FPGA对ADC采样的核脉冲信号进行数字信号处理。
但FPGA存在芯片价格高昂,在开发过程中,还存在调试麻烦、开发速度慢、迭代慢等缺陷。
发明内容
本发明的目的就在于提供一种解决上述问题,相较于FPGA方式更具有通用性和快速迭代开发能力、能显著降低开发成本的,针对高速核脉冲信号的多核实时并行处理方法。
为了实现上述目的,本发明采用的技术方案是这样的:一种针对高速核脉冲信号的多核实时并行处理方法,用于在核脉冲信号处理端对高速核脉冲信号进行处理,所述核脉冲信号处理端采用多核高频处理器,包括以下步骤;
(1)确定高速核脉冲信号处理的任务,所述任务包括1个核脉冲窗数据提取任务、N-1个核脉冲信号处理任务和1个核事件数据处理任务;
为每个任务创建对应线程,并为每个线程指定运行的核集;
创建线程间的数据通讯变量,包括信号量、单核脉冲窗数据队列和核事件数据队列;
(2)获取核脉冲信号数据,经DMA传输方式直接传输到核脉冲信号处理端内存中;
(3)执行核脉冲窗数据提取任任务,采用核脉冲窗数据提取方法从核脉冲信号数据中提取出多个单核脉冲信号;
对每个单核脉冲信号,获取其提取时的当前时间戳,作为该单核脉冲信号的发生时间戳,将单核脉冲信号与对应的发生时间戳组成单核脉冲窗数据;
将单核脉冲窗数据加入单核脉冲窗数据队列,每加入一个,释放一次信号量,所述信号量用于单核脉冲窗数据在核脉冲窗数据提取线程和核脉冲信号处理线程间同步;
(4)协调执行核脉冲信号处理任务,N-1个核脉冲信号处理任务对应N-1个线程,其中一个线程的处理流程为:
(41)获取信号量;
(42)使用互斥锁从单核脉冲窗数据队列中提取一个单核脉冲窗数据;
(43)对单核脉冲窗数据进行核脉冲信号处理,输出核脉冲事件幅值;
(44)将单核脉冲窗数据的发生时间戳与核脉冲事件幅值组成核事件数据,再使用互斥锁将核事件数据加入核事件数据队列;
(5)将核事件数据入队核事件数据队列送入核事件数据处理任务对应的线程中进行能谱数据分析。
作为优选:步骤(1)中为每个线程指定运行的核集,具体是为每个线程绑定所运行的处理器核心的集合;
核脉冲窗数据提取任务对应核脉冲窗数据提取线程,运行核集的大小为1,核集值自定义;
每个核脉冲信号处理任务对应一核脉冲信号处理线程,所有核脉冲信号处理线程共用一个核集,其中核集大小为N-1,核集值自定义;
核事件数据处理任务对应核事件数据处理线程,运行核集的大小为1,核集值自定义。
作为优选:步骤(2)中核脉冲信号数据通过核脉冲信号采集单元传输给核脉冲信号处理端,所述核脉冲信号采集单元包括探测器、信号调理电路和数据采集卡;
所述探测器用于对核辐射射线进行探测,包括晶体和光电倍增管,其中晶体为NaI晶体、LaBr3晶体、SrI2晶体、CsI晶体或BGO晶体;
所述信号调理电路用于探测器输出的信号经信号放大、滤波和反向处理后,输出核脉冲模拟信号;
所述数据采集卡采用PCIE高速ADC数据采集卡,用于将核脉冲模拟信号转化为离散有序的核脉冲信号数,并经DMA传输方式与核脉冲信号处理端进行数据传输。
作为优选:所述步骤(3)所述的核脉冲窗数据提取方法为;
(31)设定信号阈值Td、前偏差值FF、后偏差值FB、基线波动阈值Tb;
(32)按顺序读取核脉冲信号数据并获取核脉冲信号数据上每个位置的幅值,当检测到幅值大于Td,记录当前幅值位置为F1,继续按顺序获取幅值,直到幅值小于Td,记录当前幅值位置为B1;
(33)从F1向前读取核脉冲信号数据,并记录读取过程中幅值的前极小值Fmin、前极大值Fmax,当Fmax-Fmin>Tb,停止读取并记录当前幅值位置为F2;
(34)从B1向后读取核脉冲信号数据,并记录读取过程中幅值的后极小值Bmin、后极大值Bmax,当Bmax-Bmin>Tb,停止读取并记录当前幅值位置为B2;
(35)计算前端值F=F2-FF、后端值B=B2+FB,提取[F,B]区域内的核脉冲信号数据,作为单核脉冲信号;
(36)重复步骤(32)-(35),依次得到多个单核脉冲信号。
作为优选:所述步骤(43)中,对单核脉冲窗数据进行核脉冲信号处理,具体为,对单核脉冲窗数据通过堆积识别、堆积分离、尖顶成形和幅值提取,得到幅值,作为核脉冲事件幅值。
与现有技术相比,本发明的优点在于:
本发明基于多核高频处理器对高速核脉冲信号提出了一种多核实时并行处理方法,能实现了高速核脉冲信号的实时并行处理。从而克服现有技术中采用PFGA进行核脉冲信号处理而导致的调试麻烦、开发速度慢、迭代慢等缺陷。更具有通用性和快速迭代开发能力、能显著降低开发成本。
采用多核高频处理器,并为每个任务创建对应线程,同时对每个线程指定核集,则每个任务均在所指定核集的线程中运行,具有高效利用多核处理器、高速响应核脉冲信号、负载均衡的优点。
同时,基于本发明任务划分及核脉冲信号的特点,提出了一种核脉冲窗数据提取方法,快速的从离散有序的核脉冲信号数据中提取出多个有效的单核脉冲信号,送入核脉冲信号处理线程中并行处理。该方法能根据核脉冲信号数据内容适配不同单核脉冲数据提取窗宽,通过设置偏差值,便于后端实时微调单核脉冲数据提取窗宽。
附图说明
图1为本发明高速核脉冲信号实时并行处理任务及线程划分图;
图2为线程的核集配置图;
图3为本发明调度示意图;
图4为核脉冲窗数据提取线程执行流程图;
图5为核脉冲信号处理线程执行流程图;
图6为对单核脉冲窗数据进行核脉冲处理的流程图;
图7为核脉冲信号处理信号流示意图。
实施方式
下面将结合附图对本发明作进一步说明。
实施例1:参见图1-图4,一种针对高速核脉冲信号的多核实时并行处理方法,用于在核脉冲信号处理端对高速核脉冲信号进行处理,所述核脉冲信号处理端采用多核高频处理器,包括以下步骤;
(1)确定高速核脉冲信号处理的任务,所述任务包括1个核脉冲窗数据提取任务、N-1个核脉冲信号处理任务和1个核事件数据处理任务;
为每个任务创建对应线程,并为每个线程指定运行的核集;
创建线程间的数据通讯变量,包括信号量、单核脉冲窗数据队列和核事件数据队列;
(2)获取核脉冲信号数据,经DMA传输方式直接传输到核脉冲信号处理端内存中;
(3)执行核脉冲窗数据提取任任务,采用核脉冲窗数据提取方法从核脉冲信号数据中提取出多个单核脉冲信号;
对每个单核脉冲信号,获取其提取时的当前时间戳,作为该单核脉冲信号的发生时间戳,将单核脉冲信号与对应的发生时间戳组成单核脉冲窗数据;
将单核脉冲窗数据加入单核脉冲窗数据队列,每加入一个,释放一次信号量,所述信号量用于单核脉冲窗数据在核脉冲窗数据提取线程和核脉冲信号处理线程间同步;
(4)协调执行核脉冲信号处理任务,N-1个核脉冲信号处理任务对应N-1个线程,其中一个线程的处理流程为:
(41)获取信号量;
(42)使用互斥锁从单核脉冲窗数据队列中提取一个单核脉冲窗数据;
(43)对单核脉冲窗数据进行核脉冲信号处理,输出核脉冲事件幅值;
(44)将单核脉冲窗数据的发生时间戳与核脉冲事件幅值组成核事件数据,再使用互斥锁将核事件数据加入核事件数据队列;
(5)将核事件数据入队核事件数据队列送入核事件数据处理任务对应的线程中进行能谱数据分析。
步骤(1)中为每个线程指定运行的核集大小,具体是为每个线程绑定所运行的处理器核心的集合;
核集值自定义;
每个核脉冲信号处理任务对应一核脉冲信号处理线程,所有核脉冲信号处理线程共用一个核集,其中核集大小为N-1,核集值自定义;
核事件数据处理任务对应核事件数据处理线程,运行核集的大小为1,核集值自定义。
步骤(2)中核脉冲信号数据通过核脉冲信号采集单元传输给核脉冲信号处理端,所述核脉冲信号采集单元包括探测器、信号调理电路和数据采集卡;
所述探测器用于对核辐射射线进行探测,包括晶体和光电倍增管,其中晶体为NaI晶体、LaBr3晶体、SrI2晶体、CsI晶体或BGO晶体;
所述信号调理电路用于探测器输出的信号经信号放大、滤波和反向处理后,输出核脉冲模拟信号;
所述数据采集卡采用PCIE高速ADC数据采集卡,用于将核脉冲模拟信号转化为离散有序的核脉冲信号数,并经DMA传输方式与核脉冲信号处理端进行数据传输。
步骤(3)所述的核脉冲窗数据提取方法为;
(31)设定信号阈值Td、前偏差值FF、后偏差值FB、基线波动阈值Tb;
(32)按顺序读取核脉冲信号数据并获取核脉冲信号数据上每个位置的幅值,当检测到幅值大于Td,记录当前幅值位置为F1,继续按顺序获取幅值,直到幅值小于Td,记录当前幅值位置为B1;
(33)从F1向前读取核脉冲信号数据,并记录读取过程中幅值的前极小值Fmin、前极大值Fmax,当Fmax-Fmin>Tb,停止读取并记录当前幅值位置为F2;
(34)从B1向后读取核脉冲信号数据,并记录读取过程中幅值的后极小值Bmin、后极大值Bmax,当Bmax-Bmin>Tb,停止读取并记录当前幅值位置为B2;
(35)计算前端值F=F2-FF、后端值B=B2+FB,提取[F,B]区域内的核脉冲信号数据,作为单核脉冲信号;
(36)重复步骤(32)-(35),依次得到多个单核脉冲信号。
步骤(43)中,对单核脉冲窗数据进行核脉冲信号处理,具体为,对单核脉冲窗数据通过堆积识别、堆积分离、尖顶成形和幅值提取,得到幅值,作为核脉冲事件幅值。
参见图1,本发明包括三个实时并行处理的过程:
一、核脉冲窗数据提取过程,对应一个核脉冲窗数据提取任务,在一个核脉冲窗数据提取线程上执行。
二、核脉冲信号处理过程,对应N-1个核脉冲信号处理任务,在N-1个核脉冲信号处理线程上完成,为了区分各个线程,图1中分别标记为核脉冲信号处理线程1、核脉冲信号处理线程2到核脉冲信号处理线程N-1。N-1个核脉冲信号处理任务对应N-1个线程,所有核脉冲信号处理线程共用一个核集,这将充分利用多核处理器来提高核脉冲信号处理任务执行的吞吐量,从而达到负载均衡。
三、核事件数据处理过程,对应一核事件数据处理任务,在一个核事件数据处理线程上执行。
参见图2,本发明为每个任务分配了线程,并为每个线程绑定运行核集。由于本发明核脉冲窗数据提取线程的核集大小为1,我们指定核集[0]为该线程运行的核集,该核集对应的核为Core0,核脉冲信号处理线程的核集为核集[1,N-1],对应的N-1个核分别是Core1、Core2……CoreN-1,核脉冲窗数据提取线程运行的核集为核集[N],对应的核为CoreN。实际操作中,核集值可自定义,只需要核集大小对应即可。
参见图3,给出了图3为本发明调度示意图。当执行核脉冲窗数据提取任务时,通过核脉冲窗数据提取线程,得到多个单核脉冲信号,由于本发明中,核脉冲信号处理线程为N-1个,所以最多可同时处理N-1个单核脉冲信号。在运行多个核脉冲信号处理线程时,需要对线程进行调度,也就是协调,为不同的线程分配不同的核来运行,最终,每个核脉冲信号处理线程运算处一个核事件数据。由于核事件数据由单核脉冲窗数据的发生时间戳与核脉冲事件幅值组成,故图3中用(t i ,A i )来表示,其中t i 表示第i个单核脉冲窗数据的发生时间戳,A i 表示第i个单核脉冲窗数据的核脉冲事件幅值。
本发明基于本发明任务划分及核脉冲信号的特点,提出的核脉冲窗数据提取方法,不仅能完整快速提取单核脉冲信号数据、还能根据核脉冲信号数据内容适配不同单核脉冲数据提取窗宽,还设置了偏差值,便于后端实时微调单核脉冲数据提取窗宽。
实施例2:参见图1-图7,在实施例1的基础上,我们进一步给出具体的操作如实施例2。
步骤(1)中,在实际操作中,除了确定任务、创建线程、为线程指定核集外,我们还需要配置PCIE模块和DMA、并初始化线程间数据通讯变量。本实施例中,为了便于描述,线程间数据通讯变量除了实施例(1)中提到的信号量、单核脉冲窗数据队列、核事件数据队列外,还包括单核脉冲窗数据队列互斥锁、核事件数据队列互斥锁,两种互斥锁用于在对应队列操作时的锁定、解锁操作。
步骤(2)中,获取核脉冲信号数据需要用到核脉冲信号采集单元。
其中,探测器对核辐射射线进行探测,能够输出有效的核脉冲信号;不同能量的核辐射射线,其输出的核脉冲信号的幅度也不同,能量与核脉冲幅度成正相关。
探测器之后还需用信号调理电路进行处理。本实施例中,信号调理电路包括依次设置的前置放大电路、主放大电路、信号反向电路。探测器输出的信号经前置放大器进行滤波放大、再经主放大电路进一步滤波放大,并且井信号反向电路进行进行反向,从而输出原始的核脉冲模拟信号,用于后级核脉冲信号处理与分析。
数据采集卡采用PCIE高速ADC数据采集卡,用于将核脉冲模拟信号转化为转化为离散有序的核脉冲信号数,并经DMA传输方式与核脉冲信号处理端进行数据传输。DMA为Direct Memory Access,也称为直接内存访问技术,这种技术用于在数据采集卡与核脉冲信号处理端间直接交换数据,核脉冲信号处理端内的CPU不参与其数据传送,极大缩减了CPU的负担,能间接CPU的任务处理速度。工作原理为:PCIE驱动程序在启动时进行DMA配置初始化,初始化好后,PCIE高速ADC数据采集卡上报数据时,DMA控制器直接进行数据搬移数据至核脉冲信号处理端上主存储DMA目标地址中,当搬移数据量达到一次DMA控制器传输长度后,DMA控制器向CPU发出中断申请并停止数据搬移,此时DMA控制器完成一次数据搬移。
步骤(3)中,本发明提出了一种新的核脉冲窗数据提取方法,实现从离散有序的核脉冲信号数据中提取出多个有效的单核脉冲信号,用于后续核脉冲信号处理任务中。
而在步骤(4)执行核脉冲信号处理任务时,N-1个核脉冲信号处理任务对应N-1个线程,所有核脉冲信号处理线程共用一个核集,将充分利用多核处理器来提高核脉冲信号处理任务执行的吞吐量,从而达到负载均衡。
图5给出了一个核脉冲信号处理线程的处理流程,包括本发明步骤(41)-(44)。
(41)获取信号量;
(42)使用互斥锁从单核脉冲窗数据队列中提取一个单核脉冲窗数据,包括步骤(42-1)-(42-4);
(42-1)获取单核脉冲窗数据队列互斥锁;
(42-2)单核脉冲窗数据队列出队,也就是将单核脉冲窗数据从队列里提出来;
(42-3)释放单核脉冲窗数据队列互斥锁;
(42-4)判断单核脉冲窗数据是否为空,若不为空,执行步骤(43),否则跳至步骤(44-4);
(43)对单核脉冲窗数据进行核脉冲信号处理,输出核脉冲事件幅值;
(44)将单核脉冲窗数据的发生时间戳与核脉冲事件幅值组成核事件数据,再使用互斥锁将核事件数据加入核事件数据队列,包括步骤(44-1)-(44-4)
(44-1)获取核事件数据队列互斥锁;
(44-2)将单核脉冲窗数据的发生时间戳与核脉冲事件幅值组成核事件数据;
(44-3)核事件数据加入核事件数据队列中;
(44-4)释放核事件数据队列互斥锁。
关于步骤(5)将核事件数据入队核事件数据队列送入核事件数据处理任务对应的线程中进行能谱数据分析,所述能谱数据分析包括但不限于能谱光滑、寻峰、重峰分解、核素识别、活度计算。
本发明中,核脉冲窗数据提取线程与核脉冲信号处理线程间是相互协调的,我们给出一个具体例子。例如:假设某时刻单核脉冲窗数据的信号量计数为2,此时核脉冲窗数据提取线程提取出1个单核脉冲信号,则该信号量计数加1。某核脉冲信号处理线程处理完成一个单核脉冲窗数据后将继续以阻塞方式获取单核脉冲窗数据的信号量,而此时信号量计数为3,故当前线程获取到单核脉冲窗数据的信号量,同时该信号量计数减1,即信号量计数为2。然后该线程使用互斥锁从单核脉冲窗数据队列中提取一个单核脉冲窗数据。如果在信号量计数为3时,同时有两个核脉冲信号处理线程去获取单核脉冲窗数据的信号量,因使用互斥锁方式提取单核脉冲窗数据队列,这两个核脉冲信号处理线程将按照先后顺序依次提取一个单核脉冲窗数据。
核脉冲信号处理包括堆积识别、堆积分离、尖顶成形和幅值提取四个过程,但不限于以上方式,只要能从单核脉冲窗数据中得到幅值即可。
核脉冲信号处理包括涉及堆积识别、堆积分离、尖顶成形、幅值提取,其处理的流程图及信号流示意图,参见图6和图7。
堆积识别:针对核脉冲信号的堆积识别,我们可以根据核脉冲信号长度设定一个阈值,例如信号长度的一半,并获取峰位间隔时间。若峰位间隔时间小于阈值,则可以判定存在脉冲堆积。这种方法可以有效地检测核脉冲信号的堆积情况,为后续的信号处理提供重要的依据。需要注意的是,阈值的设置应该根据具体情况进行调整,以达到更好的检测效果。
堆积分离:在识别出堆积核脉冲信号后,利用核脉冲信号的指数衰减特点,求出其未堆积下的脉冲下降沿部分数据;然后基于叠加原理,依次将堆积后端的核脉冲信号扣除前端核脉冲信号未堆积下的信号数据;最后对处理后的核脉冲信号再进行尖顶成形。
尖顶成型:尖顶成形函数由左右两个对称的二次函数组成,通过多次差分和转化最终得到有限宽尖顶成形算法。
幅值提取:在对成形后核脉冲幅度提取中,采用一阶导数法,对成形后的核脉冲序列进行递归查询,找出某位置处的幅度值,呈现在其前递增,其后递减规律,从而确定该位置处的幅度值为该对核脉冲事件幅度值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种针对高速核脉冲信号的多核实时并行处理方法,用于在核脉冲信号处理端对高速核脉冲信号进行处理,所述核脉冲信号处理端采用多核高频处理器,其特征在于:包括以下步骤;
(1)确定高速核脉冲信号处理的任务,所述任务包括1个核脉冲窗数据提取任务、N-1个核脉冲信号处理任务和1个核事件数据处理任务;
为每个任务创建对应线程,并为每个线程指定运行的核集;
创建线程间的数据通讯变量,包括信号量、单核脉冲窗数据队列和核事件数据队列;
(2)获取核脉冲信号数据,经DMA传输方式直接传输到核脉冲信号处理端内存中;
(3)执行核脉冲窗数据提取任务,采用核脉冲窗数据提取方法从核脉冲信号数据中提取出多个单核脉冲信号;
对每个单核脉冲信号,获取其提取时的当前时间戳,作为该单核脉冲信号的发生时间戳,将单核脉冲信号与对应的发生时间戳组成单核脉冲窗数据;
将单核脉冲窗数据加入单核脉冲窗数据队列,每加入一个,释放一次信号量,所述信号量用于单核脉冲窗数据在核脉冲窗数据提取线程和核脉冲信号处理线程间同步;
(4)协调执行核脉冲信号处理任务,N-1个核脉冲信号处理任务对应N-1个线程,其中一个线程的处理流程为:
(41)获取信号量;
(42)使用互斥锁从单核脉冲窗数据队列中提取一个单核脉冲窗数据;
(43)对单核脉冲窗数据进行核脉冲信号处理,输出核脉冲事件幅值;
(44)将单核脉冲窗数据的发生时间戳与核脉冲事件幅值组成核事件数据,再使用互斥锁将核事件数据加入核事件数据队列;
(5)将核事件数据入队核事件数据队列送入核事件数据处理任务对应的线程中进行能谱数据分析;
所述步骤(3)所述的核脉冲窗数据提取方法为;
(31)设定信号阈值Td、前偏差值FF、后偏差值FB、基线波动阈值Tb;
(32)按顺序读取核脉冲信号数据并获取核脉冲信号数据上每个位置的幅值,当检测到幅值大于Td,记录当前幅值位置为F1,继续按顺序获取幅值,直到幅值小于Td,记录当前幅值位置为B1;
(33)从F1向前读取核脉冲信号数据,并记录读取过程中幅值的前极小值Fmin、前极大值Fmax,当Fmax-Fmin>Tb,停止读取并记录当前幅值位置为F2;
(34)从B1向后读取核脉冲信号数据,并记录读取过程中幅值的后极小值Bmin、后极大值Bmax,当Bmax-Bmin>Tb,停止读取并记录当前幅值位置为B2;
(35)计算前端值F=F2-FF、后端值B=B2+FB,提取[F,B]区域内的核脉冲信号数据,作为单核脉冲信号;
(36)重复步骤(32)-(35),依次得到多个单核脉冲信号。
2.根据权利要求1所述的针对高速核脉冲信号的多核实时并行处理方法,其特征在于:步骤(1)中为每个线程指定运行的核集,具体是为每个线程绑定所运行的处理器核心的集合;
核脉冲窗数据提取任务对应核脉冲窗数据提取线程,运行核集的大小为1,核集值自定义;
每个核脉冲信号处理任务对应一核脉冲信号处理线程,所有核脉冲信号处理线程共用一个核集,其中核集大小为N-1,核集值自定义;
核事件数据处理任务对应核事件数据处理线程,运行核集的大小为1,核集值自定义。
3.根据权利要求1所述的针对高速核脉冲信号的多核实时并行处理方法,其特征在于:步骤(2)中核脉冲信号数据通过核脉冲信号采集单元传输给核脉冲信号处理端,所述核脉冲信号采集单元包括探测器、信号调理电路和数据采集卡;
所述探测器用于对核辐射射线进行探测,包括晶体和光电倍增管,其中晶体为NaI晶体、LaBr3晶体、SrI2晶体、CsI晶体或BGO晶体;
所述信号调理电路用于探测器输出的信号经信号放大、滤波和反向处理后,输出核脉冲模拟信号;
所述数据采集卡采用PCIE高速ADC数据采集卡,用于将核脉冲模拟信号转化为离散有序的核脉冲信号数,并经DMA传输方式与核脉冲信号处理端进行数据传输。
4.根据权利要求1所述的针对高速核脉冲信号的多核实时并行处理方法,其特征在于:所述步骤(43)中,对单核脉冲窗数据进行核脉冲信号处理,具体为,对单核脉冲窗数据通过堆积识别、堆积分离、尖顶成形和幅值提取,得到幅值,作为核脉冲事件幅值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310872156.8A CN116594783B (zh) | 2023-07-17 | 2023-07-17 | 针对高速核脉冲信号的多核实时并行处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310872156.8A CN116594783B (zh) | 2023-07-17 | 2023-07-17 | 针对高速核脉冲信号的多核实时并行处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116594783A CN116594783A (zh) | 2023-08-15 |
CN116594783B true CN116594783B (zh) | 2023-09-12 |
Family
ID=87604768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310872156.8A Active CN116594783B (zh) | 2023-07-17 | 2023-07-17 | 针对高速核脉冲信号的多核实时并行处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116594783B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009017044A (ja) * | 2007-07-02 | 2009-01-22 | Toshiba Corp | パルス分析装置及びパルス分析方法 |
CN101419291A (zh) * | 2008-11-03 | 2009-04-29 | 重庆大学 | 一种基于超高速数据采集卡的多适性核信号处理系统 |
WO2012170214A2 (en) * | 2011-06-10 | 2012-12-13 | Qualcomm Incorporated | System and apparatus for modeling processor workloads using virtual pulse chains |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN108802697A (zh) * | 2017-12-29 | 2018-11-13 | 西安电子科技大学 | 一种脉冲多普勒雷达信号的混合并行处理方法 |
CN114218977A (zh) * | 2021-10-29 | 2022-03-22 | 中国人民解放军军事科学院防化研究院 | 核脉冲信号处理方法、电子设备、存储介质及程序产品 |
WO2022174153A1 (en) * | 2021-02-12 | 2022-08-18 | The Regents Of The University Of California | System and method for concurrent x-nuclei and h-nuclei magnetic resonance imaging |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11452870B2 (en) * | 2019-12-18 | 2022-09-27 | Pulse Biosciences, Inc. | Nanosecond pulsed power sources having multi-core transformers |
-
2023
- 2023-07-17 CN CN202310872156.8A patent/CN116594783B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009017044A (ja) * | 2007-07-02 | 2009-01-22 | Toshiba Corp | パルス分析装置及びパルス分析方法 |
CN101419291A (zh) * | 2008-11-03 | 2009-04-29 | 重庆大学 | 一种基于超高速数据采集卡的多适性核信号处理系统 |
WO2012170214A2 (en) * | 2011-06-10 | 2012-12-13 | Qualcomm Incorporated | System and apparatus for modeling processor workloads using virtual pulse chains |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN108802697A (zh) * | 2017-12-29 | 2018-11-13 | 西安电子科技大学 | 一种脉冲多普勒雷达信号的混合并行处理方法 |
WO2022174153A1 (en) * | 2021-02-12 | 2022-08-18 | The Regents Of The University Of California | System and method for concurrent x-nuclei and h-nuclei magnetic resonance imaging |
CN114218977A (zh) * | 2021-10-29 | 2022-03-22 | 中国人民解放军军事科学院防化研究院 | 核脉冲信号处理方法、电子设备、存储介质及程序产品 |
Non-Patent Citations (1)
Title |
---|
基于高性能计算的雷达信号处理研究综述;耿昭谦 等;《电子科技》;第34卷(第9期);1-6 * |
Also Published As
Publication number | Publication date |
---|---|
CN116594783A (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2092369B1 (en) | Apparatus and method for counting x-ray photons | |
CN105212954B (zh) | 一种脉冲堆积事件实时处理方法与系统 | |
US10149657B2 (en) | On-line energy coincidence method and system for all-digital PET system | |
WO2012088781A1 (zh) | 一种数字化pileup波形处理方法及系统 | |
CN107693010A (zh) | 基于可编程逻辑平台fpga的qrs波检测系统 | |
CN101419291A (zh) | 一种基于超高速数据采集卡的多适性核信号处理系统 | |
CN104639123B (zh) | 闪烁脉冲越过阈值的时间点获取方法及装置 | |
EP3392767B1 (en) | A method for real time processing of fast analogue signals and a system for application thereof | |
CN108964637A (zh) | 一种基于fpga的超高通过率电流型数字化脉冲处理方法 | |
CN116594783B (zh) | 针对高速核脉冲信号的多核实时并行处理方法 | |
CN110954934A (zh) | 一种自适应核脉冲堆积信号峰值提取方法 | |
CN106842277B (zh) | 一种堆积事件处理方法及装置 | |
CN104155674B (zh) | 基于数字化波形实时甄别α/γ混合辐射场粒子的方法 | |
US4812656A (en) | Processing of radioisotope-distribution imaging signals in a scintillation camera apparatus | |
DE3403528A1 (de) | Anordnung zum messen der szintillationsstrahlung mit hilfe einer fotomultiplierroehre und szintillationskamera mit einer derartigen anordnung | |
Malarvizhi et al. | Raw data processing using modern hardware for inspection of objects in X-ray baggage inspection systems | |
CN111077881A (zh) | 数据异常值处理方法、系统、装置及计算机可读存储介质 | |
CN111008356B (zh) | 一种基于WTSVD算法扣除背景的γ能谱集分析方法 | |
CN114660650A (zh) | 一种成形时间自适应的数字脉冲滤波方法、装置及电子设备 | |
US5354991A (en) | Apparatus and method for detecting full-capture radiation events | |
CN111505696A (zh) | 一种双时步pileup波形处理系统及方法 | |
CN100534384C (zh) | 基于数字信号处理的心磁信号采集处理方法及其装置 | |
Li et al. | Design of High-Speed Data Transmission System Based on USB 3.0 | |
CN115407386A (zh) | 一种基于z变换的脉冲成形中子伽马甄别方法与系统 | |
CN217766000U (zh) | 一种用于流式检测的光信号多重处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |