当前位置: 首页 > 专利查询>浙江大学专利>正文

基于国产众核处理器的FIR滤波器高性能实现方法技术

技术编号:32828578 阅读:21 留言:0更新日期:2022-03-26 20:35
本发明专利技术提出基于国产众核处理器的FIR滤波器高性能实现方法,其基于国产众核处理器平台,将模拟信号进行模数转换后得到输入数据,控制核心使用消息传递接口将输入数据分配至四个核组中,在输入数据的前端补充M

【技术实现步骤摘要】
基于国产众核处理器的FIR滤波器高性能实现方法


[0001]本专利技术涉及有限长冲激响应滤波器领域,具体是基于国产众核处理器的FIR滤波器高性能实现方法。

技术介绍

[0002]数字滤波器是数字信号处理领域里应用最广泛的算法之一,因其具有稳定性强、线性相位严格以及硬件易实现等优点在语音和图像处理、多媒体应用等方面都有许多应用。
[0003]FIR滤波器计算即为滤波器系数与输入信号完成卷积的过程,由于输入数据长度N通常远大于滤波器系数长度M,利用重叠保留法可解决直接卷积产生的计算资源浪费问题。根据重叠保留法,将输入的数据划分成R块大小为L的数据块,每个子分块需将上个子分块的最后M

1个点加入,共进行R次单块长度为F=L+M

1的FIR滤波计算(第一个子分块的前M

1个点全部为0)。根据循环卷积定理,两个序列圆周卷积结果的快速傅里叶变化(Fast Fourier Transform,FFT)等于此两序列快速傅里叶变换结果的乘积。当单块FIR滤波器的长度为F时,满足线性卷积与圆周卷积本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于国产众核处理器的FIR滤波器高性能实现方法,国产众核处理器包括四个核组,每个核组里有1个控制核心和64个运算核心,其特征在于:包括以下步骤:S1、将模拟信号进行模数A

D转换后得到输入数据,包括长度为M的滤波器系数h[M],输入数据长度为N;S2、利用控制核心读入步骤1的输入数据并使用消息传递接口MPI将输入数据分配至四个核组中,在输入数据的前端补充M

1个零值;在控制核心中,计算旋转因子W,对滤波器系数h[M]进行末尾补零至128点后进行快速傅里叶变换FFT计算获得结果H,使用直接存储访问DMA将旋转因子W和快速傅里叶变换FFT的计算结果H传输至所有运算核心;S3、每个核组中,将步骤S1输入数据划分成R块大小为L的数据块后,将上个子块的最后M

1个点加入,再分别进行R次单块长度为F=L+M

1的FIR滤波器计算,第一个子块的前M

1个点全部为0,按照输入顺序将连续的4*F点数据传入至各个运算核心;共传输M

1+4*L个点的数据,其中包含4*L个有效计算输入数据的FIR滤波计算结果;当每个核组中的64个运算核心都成功接收到数据后,单轮数据的传输完成;S4、每个运算核心接收到步骤3所传输的单轮次数据后,开始计算单轮次FIR滤波器,同时进行上一轮次FIR滤波器结果的直接存储访问DMA写回和下一轮次输入数据的直接存储访问DMA读入;每个运算核心在接收到数据后,利用单指令流多数据流SIMD技术,会将步骤3中输出的4*F点数据存入向量型变量数组中,再同时进行4组快速傅里叶变换FFT的计算,然后将输入信号和滤波器系数h[M]的快速傅里叶变换FFT结果相乘后,进行离散傅里叶反变换得到单次计算的结果;每个核组中的运算核心单轮FIR滤波器计算完成后,舍弃每个长度为F的子分块的前M

1个数,将输出结果y[4*L]使用直接存储访问DMA传输回控制核心中;S5、对步骤1的输入数据重复步骤S3和步骤S4的操作,直至完成对所有输入数据的处理,每轮次的运算结果y[4*L]在控制核心中按顺序存入y[N],得到N点滤波器最终的运算结果y[N]。2.根据权利要求1所述的基于国产众核处理器的FIR滤波器高性能实现方法,其特征在于:步骤S3中所述输入数据划分成R块大小为L的数据块,为将大点数的FIR滤波器划分成多个相同大小的小点数FIR滤波器,调用256个运算核心并行计算小点数FIR滤波器,选择128点作为小块FIR滤波器的长度F,每个长度为F的FIR滤波器分块所处理的有效输入数据长度为L,输入数据划分的总分块数R由输入数据量决定,运算核心需要计算的总轮次为3.根据权利要求2所述的基于国产众核处理器的FIR滤波器高性能...

【专利技术属性】
技术研发人员:刘鹏杨昕瑶郭俊张鲁飞吴东
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1