发明名称 一种基于数字信号处理的高效并行处理优化方法
摘要 本发明涉及基于数字信号处理的高效并行处理优化方法,该方法包括下列顺序的步骤:(1)在原位逆序的基础上进行块原位部分逆序;(2)三阶/四阶合并;(3)中间的二阶合并循环;(4)最后两阶计算/最终逆序。本发明针对数字信号处理器的高数据并行处理能力,创新地提出基于块原位的部分逆序方法,在此基础上,构建高效的原位FFT算法,该FFT优化方法在保证时间效率的同时,大幅降低了对内存空间的需求,很好的满足数字信号处理领域对算法的空间受限的需求。
申请公布号 CN104142811B 申请公布日期 2017.02.01
申请号 CN201410341689.4 申请日期 2014.07.18
申请人 中国电子科技集团公司第三十八研究所 发明人 王向前;方志红;贾光帅;耿锐;郭二辉;洪一
分类号 G06F9/38(2006.01)I 主分类号 G06F9/38(2006.01)I
代理机构 合肥金安专利事务所 34114 代理人 吴娜
主权项 一种基于数字信号处理的高效并行处理优化方法,其特征在于该方法包括下列顺序的步骤:(1)进行基于置换的原位逆序的除高/低part之外的部分逆序;(2)三阶/四阶合并;(3)中间的二阶合并循环;(4)最后两阶计算/最终逆序;所述基于置换的原位逆序分为以下迭代步骤:步骤一:把N个复数的输入序列(A(0),A(1),A(2),…,A(N‑1))看成一个步长因子为1组成的1个子序列,把前N/2序列的奇数序列和后N/2序列的偶数序列对应置换,即前半部分序列(A(0),A(1),A(2),…,A(N/2‑1))的奇数部分A(1),A(3),A(5),…,A(N/2‑1)和后半部分序列A(N/2),A(N/2+1),A(N/2+2),…,A(N‑1)的偶数部分A(N/2),A(N/2+2),…,A(N‑2)依次对应置换;步骤二:把步骤一置换后的序列看成是一个步长因子为2组成的4个序列,其中前两个子序列在前N/2位置上,两个子序列交迭分布,即这两个子序列为(A(0),A(2),…,A(N/2‑2))和(A(1),A(3),…,A(N/2‑1));后两个子序列在后N/2位置上,两个序列交迭分布,即这两个子序列为(A(N/2),A(N/2+2),…,A(N‑2))和(A(N/2+1),A(N/2+3),…,A(N‑1));把4个子序列各自的前半部分的奇数部分和后半部分的偶数部分依次对应置换;步骤三:把步骤二置换后的序列看成是一个步长因子为4组成的16个子序列,其中0~3个子序列在位置0~(N/4‑1)上,四个子序列交迭分布,即这四个子序列为(A(0),A(0+4),A(0+8),…,A(N/4‑4)),(A(1),A(1+4),A(1+8),…,A(N/4‑3)),(A(2),A(2+4),A(2+8),…,A(N/4‑2)),(A(3),A(3+4),A(3+8),…,A(N/4‑1));其中4~7个子序列在位置N/4~(N/2‑1)上,四个子序列交迭分布,即这四个子序列为(A(N/4+0),A(N/4+0+4),A(N/4+0+8),…,A(N/2‑4)),(A(N/4+1),A(N/4+1+4),A(N/4+1+8),…,A(N/2‑3)),(A(N/4+2),A(N/4+2+4),A(N/4+2+8),…,A(N/2‑2)),(A(N/4+3),A(N/4+3+4),A(N/4+3+8),…,A(N/2‑1));其中8~11个子序列在位置N/2~(3*N/4‑1)上,四个子序列交迭分布,即这4个子序列为(A(N/2+0),A(N/2+0+4),A(N/2+0+8),…,A(3*N/4‑4)),(A(N/2+1),A(N/2+1+4),A(N/2+1+8),…,A(3*N/4‑3)),(A(N/2+2),A(N/2+2+4),A(N/2+2+8),…,A(3*N/4‑2)),(A(N/2+3),A(N/2+3+4),A(N/2+3+8),…,A(3*N/4‑1));其中11~15个子序列在位置3*N/4~(N‑1)上,四个子序列交迭分布,即这4个子序列为(A(3*N/4+0),A(3*N/4+0+4),A(3*N/4+0+8),…,A(N‑4)),(A(3*N/4+1),A(3*N/4+1+4),A(3*N/4+1+8),…,A(N‑3)),(A(3*N/4+2),A(3*N/4+2+4),A(3*N/4+2+8),…,A(N‑2)),(A(3*N/4+3),A(3*N/4+3+4),A(3*N/4+3+8),…,A(N‑1));把16个子序列各自的前半部分的奇数部分和后半部分的偶数部分依次对应置换;步骤四:把步骤三置换后的序列按照步长因子是上一次迭代步长因子的2倍、子序列个数是上一次迭代子序列个数的4倍的方法划分出若干个子序列,依次对该若干个子序列进行各自的前半部分的奇数部分和后半部分偶数部分的进行置换;步骤五:把整个序列的多个子序列每次所完成的置换作为一个迭代步骤,那么总迭代步骤为R/2次,该值向下取整,R为LogN;所述原位部分逆序是指:首先把输入序列按照高part位连续划分成为几个大块;其次将低part位则作为一个整体小块参与块原位置换;最后,部分逆序转化为求解(R‑2*part)个中间位的逆序操作,此时则可利用原位逆序方法完成输入序列的部分逆序过程;在完成部分逆序后,对此时的序列首先进行三阶/四阶合并:若是奇数阶,则进行三阶合并,即从内存读取序列到数字信号处理器的寄存器进行前三阶运算之后,才写回内存;若是偶数阶,则进行四阶合并,即从内存读取序列到数字信号处理器的寄存器进行前四阶运算之后,才写回内存。
地址 230088 安徽省合肥市高新区香樟大道199号