一种离散信号相关运算的并行处理方法及系统的制作方法

文档序号:6542469阅读:205来源:国知局
一种离散信号相关运算的并行处理方法及系统的制作方法
【专利摘要】本发明适用数字信号处理领域,提供一种离散信号相关运算的并行处理方法,所述方法包括以下步骤:A、采集离散信号;B、判断信号是否能够直接进行并行计算处理,若能直接进行并行计算处理,则执行步骤C;如不能进行并行计算处理,则将较长序列分成两部分,一部分进行并行计算处理,执行步骤C,另一部分直接处理;C、将离散信号进行等分处理构成分序列,依次传送到对应的并行机中;D、在并行机中对离散信号进行处理运算对输出结果进行加权运算;E、合并结果得到相关运算的值。通过并行运算处理,将一个问题分解成多个子任务,分配给不同的处理器,各个处理器之间相互协同执行子任务,提高了相关运算的速度,降低了运算的复杂度。
【专利说明】一种离散信号相关运算的并行处理方法及系统
【技术领域】
[0001]本发明属于数字信号处理领域,尤其涉及一种能够对离散信号相关运算进行并行计算的处理方法及系统。
【背景技术】
[0002]在数字信号处理中,信号的检测、识别与提取等,经常需要研究两个信号的相似性(即互相关),或者研究一个信号经过一段延迟后与自身的相似性(即自相关)。相关是对两个序列相似程度的一种描述。相关运算包括线性相关和循环相关。线性相关是描述两信号之间的同步性或相似性或同相性或者两信号的变化规律是否具有线性关系或者接近线性关系的程度;循环相关是关于序列循环移位的一种相关运算。如图1描述了两序列直接进行线性相关运算的过程,如图2描述了两序列进行一种常用循环相关运算的过程。对长度分别为的序列的直接线性相关运算的复杂度为,直接循环相关运算的复杂度为。两个离散时间信号在时域做相关运算等价于这两个信号的离散傅里叶变换在频域做共轭相乘。对长度分别为的序列使用离散傅立叶变换在频域进行线性相关运算的复杂度为,循环相关的复杂度为,其中,这里的复杂度与进行离散傅立叶变换快速算法的复杂度相同。
[0003]因此,离散傅立叶变换的计算复杂度直接影响到相关运算的复杂度。
[0004]目前计算离散傅立叶变换主要包括以下几种方法:
[0005](I)通过解联立方程计算离散傅立叶变换;
[0006](2)通过相关性方法计算离散傅立叶变换;
[0007](3)直接法(DFT)计算离散傅立叶变换;
[0008](4)快速傅立叶变换(FFT)计算离散傅立叶变换;
[0009](5)稀疏傅里叶变换(sFFT)计算离散傅立叶变换。
[0010]方法(3)是一种直接算法,计算原理易于掌握,但是计算效率低下,其计算复杂度为,不利于大规模的运算。
[0011]方法(4)是方法(3) —种快速高效的实现方法,其计算复杂度为,是当前主流计算离散傅立叶变换的方法。
[0012]方法(5)是比方法(4)更快速高效的离散傅立叶变换的计算方法,是由于MIT发布的最新研究成果,其计算复杂度为。

【发明内容】

[0013]本发明提供一种离散信号相关运算的并行处理方法,旨在解决相关运算速度低的问题。
[0014]本发明是这样实现的,一种离散信号相关运算的并行处理方法,所述方法包括以下步骤:
[0015]A、采集离散信号;
[0016]B、判断信号是否能够直接进行并行计算处理,若能直接进行并行计算处理,则执行步骤C;如不能进行并行计算处理,则将较长序列分成两部分,一部分进行并行计算处理,执行步骤C,另一部分直接处理;
[0017]C、将离散信号进行等分处理构成分序列,依次传送到对应的并行机中;
[0018]D、在并行机中对离散信号进行处理运算对输出结果进行加权运算;
[0019]E、合并结果得到相关运算的值。
[0020]本发明的进一步技术方案是:所述步骤A中包括以下步骤:
[0021]Al、采集离散时间信号序列和获取相关序列;
[0022]A2、对步骤Al中的两序列进行补零运算,得到等长序列。
[0023]本发明的进一步技术方案是:所述步骤B中包括以下步骤:
[0024]B1、判断两序列是否需要进行并行计算处理,如需要进行并行计算处理,则执行步骤B2 ;如不需要进行并行计算处理,则执行步骤B3 ;
[0025]B2、判断BI中两序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B5 ;
[0026]B3、直接使用离散傅立叶变换,并将其一序列共轭,得到结果的对应元素相乘,并执行步骤B4 ;
[0027]B4、直接使用逆离散傅立叶变换计算,并执行步骤E ;
[0028]B5、将较长的序列进行分段处理,对两序列进行补零运算,并执行步骤B6 ;
[0029]B6、判断经运算的序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B3 ;
[0030]本发明的进一步技术方案是:所述步骤D中包括以下步骤:
[0031]Dl、在并行机中对各分序列直接进行离散傅立叶变换并输出结果;
[0032]D2、将步骤Dl中并行机输出的结果进行加权运算,并将其一序列共轭后在频域做对应元素相乘运算;
[0033]D3、将步骤D2处理的序列等分处理,传送到对应的并行机中使用逆离散傅立叶变换输出结果;
[0034]D4、将步骤D3中各并行机输出的结果进行加权运算。
[0035]本发明的进一步技术方案是:所述离散时间信号序列长度与相关序列长度之和减I大于系统能够处理的最大序列长度,或者系统计算长度为离散时间信号的序列长度与相关序列长度之和减I的新序列的相关运算时间超过预设的时间阈值时,判断序列是否能够进行并行运算。
[0036]本发明的进一步技术方案是:所述加权运算时间跟序列的分段数目及分段序列的长度成正比。
[0037]本发明的另一目的在于提供一种离散信号相关运算的并行处理系统,所述并行处理系统包括:
[0038]采集模块,用于采集离散信号;
[0039]判断模块,用于判断信号是否能够直接进行并行计算处理,若能直接进行并行计算处理,则执行步骤C ;如不能进行并行计算处理,则将较长序列分成两部分,一部分进行并行计算处理,执行步骤C,另一部分直接处理;
[0040]等分模块,用于将离散信号进行等分处理构成分序列,依次传送到对应的并行机中;
[0041]计算模块,用于在并行机中对离散信号进行处理运算对输出结果进行加权运算;
[0042]结果模块,用于合并结果得到相关运算的值。
[0043]本发明的进一步技术方案是:所述采集模块包括:
[0044]序列采集单元,用于采集离散时间信号序列和获取相关序列;
[0045]序列补零单元,用于对步骤Al中的两序列进行补零运算,得到等长序列。
[0046]本发明的进一步技术方案是:所述判断模块包括:
[0047]一次判断单元,用于判断两序列是否需要进行并行计算处理,如需要进行并行计算处理,则执行步骤B2 ;如不需要进行并行计算处理,则执行步骤B3 ;
[0048]二次判断单元,用于判断BI中两序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B5 ;
[0049]相乘运算单元,用于直接使用离散傅立叶变换,并将其一序列共轭,得到结果的对应元素相乘,并执行步骤B4 ;
[0050]变换计算单元,用于直接使用逆离散傅立叶变换计算,并执行步骤E ;
[0051]序列分段单元,用于将较长的序列进行分段处理,对两序列进行补零运算,并执行步骤B6 ;
[0052]三次判断单元,用于判断经运算的序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B3。
[0053]本发明的进一步技术方案是:所述计算模块包括:
[0054]离散傅立叶变换单元,用于在并行机中对各分序列直接进行离散傅立叶变换并输出结果;
[0055]一次加权运算单元,用于将步骤Dl中并行机输出的结果进行加权运算,并将其一序列共轭后在频域做对应元素相乘运算;
[0056]序列等分处理单元,用于将步骤D2处理的序列等分处理,传送到对应的并行机中使用逆离散傅立叶变换输出结果;
[0057]二次加权计算单元,用于将步骤D3中各并行机输出的结果进行加权运算。
[0058]本发明的有益效果是:通过并行运算处理,将一个问题分解成多个子任务,分配给不同的处理器,各个处理器之间相互协同执行子任务,提高了相关运算的速度,降低了运算的复杂度。
【专利附图】

【附图说明】
[0059]图1是示出直接线性相关的运算过程;
[0060]图2是示出循环相关的运算过程;
[0061]图3是示出本发明的线性相关等效运算过程的示意图;
[0062]图4是本发明实施例提供的离散信号相关运运算的并行处理方法流程图。
【具体实施方式】
[0063]并行计算是指,在并行机上,将一个问题分解成多个子任务,分配给不同的处理器,各个处理器之间相互协同,并行的执行子任务。并行计算主要是为了达到提高求解同一个应用的速度,或者提高求解同一个应用的问题规模的目的。
[0064]并行计算能够成功开展必备的三个基本条件为:
[0065](a)能够与客服端相互通信的并行机;
[0066](b)应用问题必须能够分解成多个子任务,并且这些子任务能够并行的执行;
[0067](C)并行编程实现并且能够运行求解应用问题的程序。
[0068]目前,提高相关运算的计算速度主要依靠离散傅立叶变换的计算速度。
[0069]本发明实施例中的离散傅立叶换,均采用matlab中的的快速傅立叶变换函数fft实现;逆离散傅立叶换,均采用matlab中的的快速逆傅立叶变换函数ifft实现。
[0070]图4示出了本发明提供的一种离散信号相关运算的并行处理方法流程图,详述如下:
[0071]步骤S301中,在并行处理系统中采集离散时间信号序列和获取相关序列?’大多数离散时间是由对连续时间信号抽样得到,在这里对连续时间信号的抽样应该满足奈奎斯特抽样定理;其中如离散时间信号序列[x(0),x(l),...,X(130)],相关等长序列[y(0), y(l),..., y(14)]。
[0072]步骤S302中,在并行处理系统对两序列进行补零运算,得到等长序列;在线性相关运算中对两序列都需要在尾部不上另一序列长度减I个数的零,而循环相关运算值需要对较短序列补上较长序列长度减去较短序列长度个数的零,因此,对上述序列只需要在相关序列尾部补上116个零,即相关序列变为[y(0), x(l),...,X (14),zeros (I, 116)]。
[0073]步骤S303中,判断离散时间信号序列和相关序列是否需要进行并行计算处理,如果需要进行并行计算处理,则执行步骤S304 ;如不需要进行并行计算处理,则执行步骤S305。
[0074]步骤S304中,判断S303中的离散时间信号序列和相关序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤S306 ;如不能够进行并行计算处理,则执行步骤S307。根据离散时间信号序列和相关序列长度是否能均分端来确定序列是否能够进行并行计算处理,如序列长度为131,为一素数,不能均分段,因此不能够直接进行并行计算处理。
[0075]步骤S305中,直接使用离散傅立叶变换,并将其一序列共轭,得到结果的对应元素相乘,并执行步骤S308。即
[0076]m([x" (0),χ〃 (1),...,χ〃 (46)]).*fft([y" (0),y〃 (I),..., y" (46)]),得到的结果记为[W(0),W(1),...,W(46)]。其中
【权利要求】
1.一种离散信号相关运算的并行处理方法,其特征在于,所述方法包括以下步骤: A、采集离散信号; B、判断信号是否能够直接进行并行计算处理,若能直接进行并行计算处理,则执行步骤C ;如不能进行并行计算处理,则将较长序列分成两部分,一部分进行并行计算处理,执行步骤C,另一部分直接处理; C、将离散信号进行等分处理构成分序列,依次传送到对应的并行机中; D、在并行机中对离散信号进行处理运算对输出结果进行加权运算; E、合并结果得到相关运算的值。
2.根据权利要求1所述的并行处理方法,其特征在于,所述步骤A中包括以下步骤: Al、采集离散时间信号序列和获取相关序列; A2、对步骤Al中的两序列进行补零运算,得到等长序列。
3.根据权利要求2所述的并行处理方法,其特征在于,所述步骤B中包括以下步骤: B1、判断两序列是否需要进行并行计算处理,如需要进行并行计算处理,则执行步骤B2 ;如不需要进行并行计算处理,则执行步骤B3 ; B2、判断BI中两序列 是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B5 ; B3、直接使用离散傅立叶变换,并将其一序列共轭,得到结果的对应元素相乘,并执行步骤B4 ; B4、直接使用逆离散傅立叶变换计算,并执行步骤E ; B5、将较长的序列进行分段处理,对两序列进行补零运算,并执行步骤B6 ; B6、判断经运算的序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B3。
4.根据权利要求2所述的并行处理方法,其特征在于,所述步骤D中包括以下步骤: D1、在并行机中对各分序列直接进行离散傅立叶变换并输出结果; D2、将步骤Dl中并行机输出的结果进行加权运算,并将其一序列共轭后在频域做对应元素相乘运算; D3、将步骤D2处理的序列等分处理,传送到对应的并行机中使用逆离散傅立叶变换输出结果; D4、将步骤D3中各并行机输出的结果进行加权运算。
5.根据权利要求4所述的并行处理方法,其特征在于,所述离散时间信号序列长度与相关序列长度之和减I大于系统能够处理的最大序列长度,或者系统计算长度为离散时间信号的序列长度与相关序列长度之和减I的新序列的相关运算时间超过预设的时间阈值时,判断序列是否能够进行并行运算。
6.根据权利要求5所述的并行处理方法,其特征在于,所述加权运算时间跟序列的分段数目及分段序列的长度成正比。
7.一种离散信号相关运算的并行处理系统,其特征在于,所述并行处理系统包括: 采集模块,用于采集离散信号; 判断模块,用于判断信号是否能够直接进行并行计算处理,若能直接进行并行计算处理,则执行步骤C ;如不能进 行并行计算处理,则将较长序列分成两部分,一部分进行并行计算处理,执行步骤C,另一部分直接处理; 等分模块,用于将离散信号进行等分处理构成分序列,依次传送到对应的并行机中; 计算模块,用于在并行机中对离散信号进行处理运算对输出结果进行加权运算; 结果模块,用于合并结果得到相关运算的值。
8.根据权利要求7所述的并行处理系统,其特征在于,所述采集模块包括: 序列采集单元,用于采集离散时间信号序列和获取相关序列; 序列补零单元,用于对步骤Al中的两序列进行补零运算,得到等长序列。
9.根据权利要求8所述的并行处理系统,其特征在于,所述判断模块包括: 一次判断单元,用于判断两序列是否需要进行并行计算处理,如需要进行并行计算处理,则执行步骤B2 ;如不需要进行并行计算处理,则执行步骤B3 ; 二次判断单元,用于判断BI中两序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B5 ; 相乘运算单元,用于直接使用离散傅立叶变换,并将其一序列共轭,得到结果的对应元素相乘,并执行步骤B4 ; 变换计算单元,用于直接使用逆离散傅立叶变换计算,并执行步骤E ; 序列分段单元,用于将较长的序列进行分段处理,对两序列进行补零运算,并执行步骤B6 ; 三次判断单元,用于判断经运算的序列是否能够进行并行计算处理,如能够进行并行计算处理,则执行步骤C ;如不能够进行并行计算处理,则执行步骤B3。
10.根据权利要求9所述的并行处理系统,其特征在于,所述计算模块包括: 离散傅立叶变换单元,用于在并行机中对各分序列直接进行离散傅立叶变换并输出结果; 一次加权运算单元,用于将步骤Dl中并行机输出的结果进行加权运算,并将其一序列共轭后在频域做对应元素相乘运算; 序列等分处理单元,用于将步骤D2处理的序列等分处理,传送到对应的并行机中使用逆离散傅立叶变换输出结果; 二次加权计算单元,用于将步骤D3中各并行机输出的结果进行加权运算。
【文档编号】G06F17/14GK103885922SQ201410127131
【公开日】2014年6月25日 申请日期:2014年3月31日 优先权日:2014年3月31日
【发明者】李小勇, 张文磊, 袁云峰 申请人:深圳贝特莱电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1