Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FILTERING METHOD AND FILTER
Document Type and Number:
WIPO Patent Application WO/2014/117514
Kind Code:
A1
Abstract:
The present invention provides a filtering method and a filter. Data in data storage units in a register is input in parallel to vector storage units of a processing module, wherein the number of the vector storage units where data is input is equal to that of the data storage units; and the input data is calculated to obtain a filtering output result, so that each vector storage unit in the processing module is fully utilized, and the utilization of the processing module is improved. In the present invention, data in each data storage unit is arranged in columns, and the columns of data pass through K channels sequentially and are input to the vector storage units, wherein the value of K is the number of filter coefficients; and during data input, the data is offset and stored in ascending or descending order according to the sequence of the channels. Therefore, the unit utilization of the processing module is improved; and the filter can be reconstructed, is adjustable in the degree of parallelism, and uses a few on-chip resources.

Inventors:
HAN JIAN (CN)
Application Number:
PCT/CN2013/083029
Publication Date:
August 07, 2014
Filing Date:
September 05, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
International Classes:
H03H17/02
Foreign References:
CN102510273A2012-06-20
CN1787368A2006-06-14
CN1937404A2007-03-28
Attorney, Agent or Firm:
CHINA PAT INTELLECTUAL PROPERTY OFFICE (CN)
北京派特恩知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权利要求书

1、 一种滤波方法, 该方法包括:

当滤波器系数个数大于或小于向量存储单元个数时, 将各数据存储单 元中的数据并行导入到与所述数据存储单元数量等同的向量存储单元中, 并将所述滤波器系数导入到相应的向量存储单元中;

根据所述向量存储单元中的数据和滤波器系数计算得到输出结果。

2、 如权利要求 1所述的滤波方法, 其中, 所述将各数据存储单元中的 数据并行导入到与所述数据存储单元数量等同的向量存储单元中, 包括: 将各数据存储单元中的数据以每行为单位, 将每行数据依次通过 K个 通道, 导入到所述向量存储单元中, 所述 K值为所述滤波器系数的个数; 在将所述每行数据通过所述 K个通道中的任一通道导入向量存储单元时, 采用并行导入的方式将每行数据中的各个数据导入到对应的所述向量存储 单元中。

3、 如权利要求 2所述的滤波方法, 其中, 所述在将每一行数据导入所 述向量存储单元过程中, 该方法还包括: 对各通道导入的所述数据进行移 位处理。

4、 如权利要求 1所述的滤波方法, 其中, 该方法还包括:

当滤波器系数个数等于向量存储单元个数时, 将各数据存储单元中的 数据以每行为单位, 将每行数据分别通过 K个通道, 导入到所述向量存储 单元中, 所述 K值为所述滤波器系数的个数;

在将所述每行数据通过所述 K个通道中的任一通道导入向量存储单元 时, 采用并行导入的方式将每行数据中的各个数据导入对应的所述向量存 储单元中, 且在将每一行数据并行导入所述向量存储单元过程中, 对各通 道导入的所述数据进行移位处理;

根据所述向量存储单元中的数据和滤波器系数计算得到输出结果。 5、 如权利要求 3或 4所述的滤波方法, 其中, 所述在将每一行数据并 行导入过程中, 对各通道导入的所述数据进行移位处理, 为:

设有 N个数据存储单元, 分别为 B。 BN 1; N个向量存储单元, 分别为 C。 0«;有 K个滤波器系数, 分别为 Η。 ΗΚ 1;

将每一行 Β。 Brw†的数据依次并行导入到所述 C。 CN_! 中时, 对各通道导入的数据以 H0 Hj^对应的通道顺序依次按照递 增或递减的方式移位存储。

6、 如权利要求 5所述的滤波方法, 其中, 在对每行数据导入到所述向 量存储单元的过程中, 该方法还包括: 若存在未使用的存储位, 则在该存 储位中填充占位数据。

7、 如权利要求 5所述的滤波方法, 其中, 将所述滤波器系数导入所述 向量存储单元中, 包括:

将所有滤波器系数全部导入到各个向量存储单元中, 并在计算过程中 提取需要的滤波器系数进行计算;

或者, 在将每行数据通过各个通道分别导入到向量存储单元时, 依次 通过各个通道导入各个通道所对应的滤波器系数。

8、 如权利要求 7所述的滤波方法, 其中, 根据所述向量存储单元中的 数据和滤波器系数计算得到输出结果, 包括:

对每一行导入的数据, 将各通道对应的数据分别与各通道对应的滤波 器系数进行向量乘法, 并将每个通道对应的乘法结果进行累加;

将每行数据进行乘累加的结果进行汇总 , 得到最后的输出结果。

9、 一种滤波器, 包括: 存储器、 向量处理模块和控制模块;

所述存储器包括至少两个数据存储单元;

所述向量处理模块包括计算单元和至少两个向量存储单元;

所述数据存储单元与所述向量存储单元数量相同; 所述控制模块, 配置为控制所述至少两个向量存储单元当滤波器系数 个数大于或小于所述至少两个向量存储单元个数时, 将存储的数据并行导 入到所述至少两个向量存储单元中, 并将所述滤波器系数导入到相应的向 量存储单元中;

所述计算单元, 配置为根据所述向量存储单元中的数据和滤波器系数 计算得到输出结果。

10、 如权利要求 9所述的滤波器, 其中, 所述控制模块, 配置为控制 所述至少两个数据存储单元中的数据以每行为单位,将每行数据依次通过 K 个通道, 导入到所述向量存储单元中, 所述 K值为所述滤波器系数的个数; 在将所述每行数据通过所述 K个通道中的任一通道导入向量存储单元时, 采用并行导入的方式将每行数据中的各个数据导入到对应的所述向量存储 单元中。

11、如权利要求 10所述的滤波器,其中, 所述至少两个向量存储单元, 还配置为在将每一行数据导入所述向量存储单元过程中, 对各通道导入的 所述数据进行移位处理。

12、 如权利要求 9所述的滤波器, 其中, 所述控制模块, 还配置为控 制所述至少两个向量存储单元当滤波器系数个数等于所述至少两个向量存 储单元个数时, 将各数据存储单元中的数据以每行为单位, 将每行数据分 别通过 K个通道, 导入到所述向量存储单元中, 所述 K值为所述滤波器系 数的个数;

在将所述每行数据通过所述 K个通道中的任一通道导入向量存储单元 时, 采用并行导入的方式将每行数据中的各个数据导入对应的所述向量存 储单元中, 且在将每一行数据并行导入所述向量存储单元过程中, 对各通 道导入的所述数据进行移位处理。

13、 如权利要求 11或 12所述的滤波器, 其中, 设有 N个数据存储单 元, 分别为 B。 BN 1; N个向量存储单元, 分别为 C。 CN.i; 有 K个滤波器系数, 分别为 Η。 ΗΚ 1;

相应的, 所述至少两个向量存储单元, 还配置为将每一行 Β。

中的数据依次并行导入到所述 C。 CN4中时,对各通道导入的数 据以 H。 ¾^对应的通道顺序依次按照递增或递减的方式移位存储。

14、如权利要求 13所述的滤波器,其中, 所述至少两个向量存储单元, 还配置为在对每行数据导入到所述向量存储单元的过程中, 若存在未使用 的存储位, 则在该存储位中填充占位数据。

15、 如权利要求 13所述的滤波器, 其中, 所述控制模块, 还配置为控 制所述至少两个数据存储单元将所有滤波器系数全部导入到各个向量存储 单元中; 或者, 控制所述至少两个数据存储单元在将每行数据通过各个通 道分别导入到向量存储单元时, 依次通过各个通道导入各个通道所对应的 滤波器系数。

16、 如权利要求 15所述的滤波器, 其中, 所述计算单元包括: 乘法子 单元、 加法子单元和汇总子单元;

所述乘法子单元, 配置为对每一行导入的数据, 将各通道对应的数据 分别与各通道对应的滤波器系数进行向量乘法;

所述加法子单元, 配置为将每个通道对应的乘法结果进行累加; 所述汇总子单元, 配置为将所述加法单元进行累加的结果进行汇总, 得到最后的输出结果。

Description:
一种滤波方法和滤波器 技术领域

本发明涉及通信技术领域、 尤其涉及一种滤波方法和滤波器。 背景技术

滤波器被广泛应用于各种通信、 信号处理等领域中。 滤波器一般通过 阵列处理器来实现, 在未来的 4G通信解决方案中, 多核阵列处理器芯片设 计被看做热点, 各厂商一致认同以阵列处理器芯片作为未来通 信的有效解 决方案, 以阵列处理器为基础的各种高效、 低面积、 低存储、 低功耗通信 解决方案是未来市场竟争的炙热点。

请参考图 1 , 现有的阵列处理器主要由寄存器和向量处理器 组成, 其中 寄存器包含多个独立存储区 Bank, 向量处理器包含多个处理单元 Cell, 通 过将独立存储区 Bank中的数据导入到处理单元 Cell中进行向量处理,最终 完成滤波。 其滤波的基本公式如下:

κ-ι ~

r(n) = ^ r(n - k) ^ h(k)

k=0 · 其中, K 为滤波器系数个数, 为输入信号序列 , WW为滤波器的 抽头系数。

矢量化后, 滤波器公式如下:

R=L H, 其中, R和 H为列向量, L为矩阵。

常规计算方法为使用矩阵与向量乘运算来实现 , 但会存在如下问题: K为滤波器系数个数, N为处理单元个数;

当 K<N时, 虽然可以仍然使用上述矢量方法实现,但是由 于 K值小于 处理单元个数, 直接带来阵列处理器中 Cell单元的浪费, 仅 K个 Cell单元 被使用, N-K个 Cell单元将被闲置。

当 K〉N时, 不能直接使用上面的矢量方法, 需要将滤波器数据分解为 多个单独的滤波器数据, 使每个数据对应的 K < N; 或者将 L和 H分别按 照处理单元个数作矩阵分解, 分解为多个可实现的矢量运算; 又或者增加 硬件资源等其他方法。 但都很难避免处理单元 Cell资源利用不充分。 发明内容

本发明实施例要解决的主要技术问题是, 提供一种滤波方法和滤波器, 避免了滤波器中因对于数据进行处理的处理模 块未充分利用而导致的利用 率低的问题。

为解决上述技术问题, 本发明实施例采用的技术方案如下:

提供一种滤波方法, 包括以下步驟:

当滤波器系数个数大于或小于向量存储单元个 数时, 将各数据存储单 元中的数据并行导入到与所述数据存储单元数 量等同的向量存储单元中, 并将所述滤波器系数导入到相应的向量存储单 元中;

根据所述向量存储单元中的数据和滤波器系数 计算得到输出结果。 优选地, 所述将各数据存储单元中的数据并行导入到与 所述数据存储 单元数量等同的向量存储单元中, 包括:

将各数据存储单元中的数据以每行为单位, 将每行数据依次通过 K个 通道, 导入到所述向量存储单元中, 所述 K值为所述滤波器系数个数; 在 将所述每行数据通过所述 K个通道中的任一通道导入向量存储单元时, 采 用并行导入的方式将每行数据中的各个数据导 入到对应的所述向量存储单 元中。

优选地, 所述在将每一行数据导入所述向量存储单元过 程中, 该方法 还包括: 对各通道导入的所述数据进行移位处理。 优选地, 该方法还包括: 当滤波器系数个数等于向量存储单元个数时, 将各数据存储单元中的数据以每行为单位,将 每行数据分别通过 K个通道, 导入到所述向量存储单元中, 所述 K值为所述滤波器系数个数;

在将所述每行数据通过所述 K个通道中的任一通道导入向量存储单元 时, 采用并行导入的方式将每行数据中的各个数据 导入对应的所述向量存 储单元中, 且在将每一行数据并行导入所述向量存储单元 过程中, 对各通 道导入的所述数据进行移位处理;

根据所述向量存储单元中的数据和滤波器系数 计算得到输出结果。 优选地, 所述在将每一行数据并行导入过程中, 对各通道导入的所述 数据进行移位处理, 为:

设有 N个数据存储单元, 分别为 B。 B N 1 ; N个向量存储单元, 分别为 C。 0«;有 K个滤波器系数, 分别为 Η。 Η Κ 1 ;

将每一行 Β。 Brw†的数据依次并行导入到所述 C。 C N _! 中时, 对各通道导入的数据以 H 0 Hj^对应的通道顺序依次按照递 增或递减的方式移位存储。

优选地, 在对每行数据导入到所述向量存储单元的过程 中, 该方法还 包括: 若存在未使用的存储位, 则在该存储位中填充占位数据。

优选地, 将所述滤波器系数导入所述向量存储单元中, 包括: 将所有滤波器系数全部导入到各个向量存储单 元中, 并在计算过程中 提取需要的滤波器系数进行计算;

或者, 在将每行数据通过各个通道分别导入到向量存 储单元时, 依次 通过各个通道并行导入各个通道所对应的滤波 器系数。

优选地, 根据所述向量存储单元中的数据和滤波器系数 计算得到输出 结果, 包括:

对每一行导入的数据, 将各通道对应的数据分别与各通道对应的滤波 器系数进行向量乘法, 并将每个通道对应的乘法结果进行累加; 将每行数据进行乘累加的结果进行汇总 , 得到最后的输出结果。

本发明实施例还提供一种滤波器, 其包括: 存储器、 向量处理模块和 控制模块;

所述存储器包括至少两个数据存储单元;

所述向量处理模块包括计算单元和至少两个向 量存储单元;

所述数据存储单元与所述向量存储单元数量相 同;

所述控制模块, 配置为控制所述至少两个向量存储单元当滤波 器系数 个数大于或小于所述至少两个向量存储单元个 数时, 将存储的数据并行导 入到所述至少两个向量存储单元中, 并将所述滤波器系数导入到相应的向 量存储单元中, 所述 K值为所述滤波器系数的个数;

所述计算单元, 配置为根据所述向量存储单元中的数据和滤波 器系数 计算得到输出结果。

优选地, 所述控制模块, 配置为控制所述至少两个数据存储单元中的 数据以每行为单位, 将每行数据依次通过 K个通道, 导入到所述向量存储 单元中, 所述 K值为所述滤波器系数个数; 在将所述每行数据通过所述 K 个通道中的任一通道导入向量存储单元时, 采用并行导入的方式将每行数 据中的各个数据导入到对应的所述向量存储单 元中。

优选地, 所述至少两个向量存储单元, 还配置为在将每一行数据导入 所述向量存储单元过程中, 对各通道导入的所述数据进行移位处理。

优选地, 所述控制模块, 还配置为控制所述至少两个向量存储单元当 滤波器系数个数等于所述至少两个向量存储单 元个数时, 将各数据存储单 元中的数据以每行为单位, 将每行数据分别通过 K个通道, 导入到所述向 量存储单元中, 所述 K值为所述滤波器系数个数; 在将所述每行数据通过 所述 K个通道中的任一通道导入向量存储单元时, 采用并行导入的方式将 每行数据中的各个数据导入对应的所述向量存 储单元中, 且在将每一行数 据并行导入所述向量存储单元过程中, 对各通道导入的所述数据进行移位 处理。

优选地, 设有 N个数据存储单元, 分别为 B。 B N 1 ; N个向量 存储单元, 分别为 C。 0«;有 K个滤波器系数, 分别为 Η。 相应的, 所述至少两个向量存储单元, 还配置为将每一行 Β。

中的数据依次并行导入到所述 C。 C N4 中时,对各通道导入的数 据以 H。 ¾^对应的通道顺序依次按照递增或递减的方式 移位存储。

优选地, 所述至少两个向量存储单元, 还配置为在对每行数据导入到 所述向量存储单元的过程中, 若存在未使用的存储位, 则在该存储位中填 充占位数据。

优选地, 所述控制模块, 还配置为控制所述至少两个数据存储单元将 所有滤波器系数全部导入到各个向量存储单元 中; 或者, 控制所述至少两 个数据存储单元在将每行数据通过各个通道分 别导入到向量存储单元时, 依次通过各个通道导入各个通道所对应的滤波 器系数。

优选地, 所述计算单元包括: 乘法子单元、 加法子单元和汇总子单元; 所述乘法子单元, 配置为对每一行导入的数据, 将各通道对应的数据 分别与各通道对应的滤波器系数进行向量乘法 ;

所述加法子单元, 配置为将每个通道对应的乘法结果进行累加; 所述汇总子单元, 配置为将所述加法单元进行累加的结果进行汇 总, 得到最后的输出结果。

本发明实施例的有益效果是: 提供一种滤波方法和滤波器, 通过将寄 存器中数据存储单元中的数据导入到处理模块 的向量存储单元中, 导入的 向量存储单元数量与数据存储单元数量等同, 然后对输入的数据进行计算, 最后得到滤波输出结果, 使处理模块中各向量存储单元得到了充分的利 用, 提高了处理模块的利用率。

进一步地, 本申请中的滤波方法和滤波器, 还可以通过将各数据存储 单元中的数据以每行为单位, 将每行数据依次通过 K个通道, 导入到向量 存储单元中, 这里的 K值为滤波器系数个数; 并且导入时, 按照通道顺序 依次按照递增或递减的方式对数据进行移位存 储。 不仅进一步提高了处理 模块的单元利用率, 并且使滤波器具有可重构性、 并行度可调节性、 使用 片上资源少的优点。 附图说明

图 1为现有多核阵列处理器结构示意图;

图 2为本发明一实施例中滤波器结构示意图;

图 3为本发明一实施例中滤波方法流程图;

图 4为图 3中步驟 302的子步驟流程图;

图 5A为本发明一实施例中一个通道内数据导入方 示意图;

图 5B中本发明一实施例中另一个通道内数据导入 式示意图; 图 5C中本发明一实施例中另一个通道内数据导入 式示意图; 图 6A为本发明一实施例中一个通道内滤波器系数 入方式示意图; 图 6B为本发明一实施例中另一个通道内滤波器系 导入方式示意图; 图 6C为本发明一实施例中另一个通道内滤波器系 导入方式示意图。 具体实施方式

本发明实施例的整体构思为: 通过将数据存储单元中的滤波数据按照 预设规则导入到处理模块中的向量存储模块中 , 且导入的向量存储模块的 数量与数据存储模块的数量相同, 然后再根据导入的数据以及滤波器系数 进行计算, 得到最终的输出结果。 本申请中的预设规则可以为多种形式, 入到与数据存储单元数量等同的向量存储单元 中, 这里的数值 K为滤波器 系数的个数; 或者在导入数据时以每行数据为单位, 根据 K个通道导入到 向量存储单元中, 在将所述每行数据通过所述 K个通道中的任一通道导入 向量存储单元时, 采用并行导入的方式将每行数据中的各个数据 导入对应 的向量存储单元中。 在此基础上, 为了使滤波器的并行性可调, 较优的一 种实现方式还可以为在将每一行数据并行导入 过程中, 对导入的数据进行 移位处理, 即可通过不同的导入模式实现对并行导入的可 调性。 而在本发 明实施例中, 滤波器可以为多种滤波器, 如 IIR ( Infinite Impulse Response , 无限脉沖响应数字)滤波器、 FIR ( Finite Impulse Response, 有限长单位沖 激响应)滤波器等, 但较优的, 在本发明实施例中, 采用 FIR滤波器可以 到达较好的滤波效果, 所以以下实施例中, 以 FIR滤波器为例对本发明实 施例方案进行说明, 但应该知道, 本发明实施例并不局限于 FIR滤波器。 为使本发明技术方案和优点更加清楚, 下面通过具体实施方式结合附图对 本发明作进一步详细说明。

请参考图 2, 在本实施例中, 提供一种滤波器 10, 其包括存储器 101 与向量处理模块 102, 其中, 存储器 101包括至少两个数据存储单元 1011 ; 向量处理模块 102包括计算单元 1021和至少两个向量存储单元 1022。在本 实施例中, 数据存储单元 1011与向量存储单元数量 1022相同, ——对应。

控制模块 103 , 主要配置为控制至少两个向量存储单元, 当滤波器系数 个数大于或小于至少两个向量存储单元个数时 , 将存储的数据并行导入到 该至少两个向量存储单元中, 并将滤波器系数导入到至少两个向量存储单 元中。 而计算单元 1021 , 则主要配置为根据向量存储单元中的数据和滤 波 器系数计算得到并输出结果, 而具体的计算单元还包含有: 乘法子单元、 加法子单元和汇总子单元。 其中, 所述数据存储单元 1011、 向量处理模块 102、 计算单元 1021、 向量存储单元 1022和控制模块 103可由滤波器 10中的中央处理器( Central Processing Unit, CPU ), 数字信号处理器( Digital Signal Processor, DSP ) 或可编程逻辑阵列 (Field - Programmable Gate Array, FPGA ) 实现。

为了使本发明实施例中滤波器各模块的作用以 及滤波方法能够更清楚 的说明, 下面将通过结合各模块的具体作用来对本发明 实施例的滤波方法 做进一步说明。

请参考图 3 , 在本发明实施例中还提供一种滤波方法, 其主要包括以下 步驟:

步驟 302:将各数据存储单元中的数据导入到与所述 据存储单元数量 等同的向量存储单元中; 进入步驟 304。

在本步驟中, 数据存储单元中存储的数据可以以多种方式进 行存储, 但为了使存储更为方便, 以及最后的计算结果更为精确, 较优的, 各数据 在各数据存储单元中按照自然序的方式存储。 控制模块将数据存储单元中 的数据并行导入到向量存储单元中。 而较优的一种导入方式需要将根据滤 波器系数的个数, 确定通道个数, 并将寄存器中各数据存储单元中的数据 通过多个通道导入到处理模块的向量存储单元 中, 本实施例中所导入的向 量存储单元的个数与滤波器系数个数无关, 向量存储单元的个数是与数据 存储单元的个数等同的, 不以滤波器系数个数来确定所要导入的向量存 储 步驟 3021 : 判断滤波器系数的个数; 进入步驟 3022。

在该子步驟中, 控制模块首先需要判断滤波器系数的个数, 判断其是 否大于向量存储单元个数。

步驟 3022: 根据滤波器系数的个数, 建立对应的导入通道; 进入步驟

3023。 在该子步驟中, 设滤波器系数的个数为 K, 则控制模块根据滤波器系 数的个数建立 K个导入通道。

步驟 3023: 将各数据存储单元中的数据通过 K个通道, 导入到向量存 储单元中。

在该子步驟中, 在控制模块判断滤波器系数个数不等于向量存 储单元 个数时, 将将各数据存储单元中的数据通过 K个通道, 导入到向量存储单 元中。

在该子步驟中, 为了使导入的效果更为理想, 计算更为简便, 较优的 还提供一种数据导入方法。 即: 将各数据存储单元中的数据以每行为单位, 将每行数据依次通过 K个通道, 导入到所述向量存储单元中; 且在将每行 数据通过 K个通道中的任一通道导入向量存储单元时, 采用并行导入的方 式将每行数据中的各个数据导入对应的向量存 储单元中。 进一步地, 在导 入的过程中, 还可以对导入的各通道数据进行移位处理。 采用此种方法导 入数据时, 可以不用判断滤波器系数的个数是否大于向量 存储单元个数, 在两者关系大于、 等于或者小于时, 都可以采用上述方法将数据并行导入, 都能达到提高处理模块处理利用率的作用。 其中, 一种较优的移位方法可 以表示为: 设有 N个数据存储单元, 分别为 B。 B N 1 ; N个向量存 储单元, 分别为 C。 0«;有 Κ个滤波器系数, 分别为 Η。

Ηκ ι; 将 Β 0 B N-1 中的每一行数据依次导入到 C 0 C N4 中时, 对各通道导入的数据以 H。 ¾^对应的通道顺序依次按照递增或递 减的方式移位存储; 此外在对每行数据导入到所述向量存储单元的 过程中 , 若存在未使用的存储位, 则在该存储位中填充占位数据。

为了使本实施例中该种导入方法更为直观, 下面进一步对其进行说明: 在导入寄存器中的第一行数据分别通过各个通 道导入到向量存储单元 中时: 对应于 H。通道: 将 N个数据存储单元存储的每个数据分别导入所 N个向量存储单元中, 一个数据对应一个向量存储单元。

对于 通道:将 N个数据存储单元存储的第一行数据分别导入 述 N 个向量存储单元中,本次导入的规则为:设 B。中数据在 H。通道中将数据导 入到 Cn, 0<η<Ν-1 , 则 B 0 本次在 通道将数据导入到 Cm中, 0≤m≤N-l , JL m≠n; 排在 Cm之前的向量存储单元中的存储位未被使用, 则在其中填 入占位数据 X, X所对应的滤波器系数为 0; 若 ^在!!。通道将数据导入到 Cz中, 0≤ζ≤Ν-1 , 且#11 , 则本次 ^在!^通道应将数据导入到 C z+m _ n 向量 存储单元中; 若 z+m-n〉 N-1 , 则将 本次数据导入到 C z+m _ n _ N 中; 按照此 种对应关系依次将第一行数据通过 通道导入到各向量存储单元中; 后面 的各通道数据按照该种方法依次导入。 并在导入第一行数据后, 依次对后 面多行数据进行导入。

步驟 304: 将所述滤波器系数导入向量存储单元中; 进入步驟 306。 在本步驟中, 滤波器系数可以在数据导入完成之后再——导 入, 也可 以为了使计算及时处理, 在导入数据的同时将滤波器系数导入。 而具体导 入的方式可以有多种, 如: 控制模块可以控制至少两个数据存储单元将所 有滤波器系数全部导入到各个向量存储单元中 ; 或者控制至少两个数据存 储单元在将每行数据通过各个通道分别导入到 向量存储单元时, 依次通过 各个通道导入各个通道所对应的滤波器系数。

步驟 306: 根据向量存储单元中的数据和滤波器系数计算 得到输出结 果。

在本步驟中, 主要通过计算单元对数据以及滤波器系数进行 计算, 主 要过程为: 乘法子单元对每一行导入的数据, 将各通道对应的数据分别与 各通道对应的滤波器系数进行向量乘法; 然后, 加法子单元将每个通道对 应的乘法结果进行累加; 最后, 汇总子单元将所述加法单元进行累加的结 果进行汇总, 得到最后的输出结果。 此外, 因为输出得到结果往往包括滤 波延迟的数据, 所以可以根据不同系统的设计需要, 截取输出结果中不同 位置的数据作为滤波器的最终输出结果。

下面为了本发明实施例中的技术方案更为清楚 , 本申请以 FIR滤波器 具体导入方式为例, 对本发明方案做详细说明。

本实施例中的 FIR滤波器的寄存器由 8个数据存储单元组成, 分别为:

Bank 0 Bank 7; 处理模块由计算单元及 8个向量存储单元组成, 8 个向量存储单元分别为: Cdl O Cell 7; 而本实施例中的滤波器系数 的个数 K=5, 分别为: 、 、 Η 2 、 Η 3 、 Η 4 。 但需要注意的是, 本实施例 中各单元的个数以及滤波器系数的个数可以任 意设置, 本实施例中的该种 设置只是其中一种情况, 不能作为对本申请的限制。

步驟 401 : 将滤波数据以及滤波器系数存储在寄存器中;

在各数据存储单元中存储的情况如表 1所示:

表 1

在上述存储表中, 为了使数据输入更为简便, 计算过程更为精确, 所 以寄存器的存储采自然序的存储方式。

步驟 402: 将寄存器中的滤波数据并行导入到向量存储单 元中; 在本步驟中, 将滤波数据的第一行数据以图 5A中的导入方式通过 H。 通道导入到各向量存储单元中, 此处的第一行数据是指存储在各数据存储 单元中第一个存储位的各个数据。 以图 5B中的导入方式通过 通道导入 到各向量存储单元中, 以图 5C 中的导入方式通过 H 2 通道导入到各向量存 储单元中, 以此类推, 每个通道相隔一个向量存储单元的方式, 将各行数 据都导入到向量存储单元中。 其中, 因第一行数据以及第四行数据在并行 导入时, 因有些存储位未被使用, 需要在该些存储位上填入占位数据, 且 该占位数据对应的滤波器系数为 0。 导入之后的数据如表 2所示。

表 2

步驟 403: 将寄存器中的滤波器系数并行导入到向量存储 单元中; 本实施例中的滤波器系数在并行导入时可以按 照下面方法导入, 在第 一行数据导入时, 因为在通道 H。每个存储位都有数据, 在通道 上〇6110 的存储位上没有数据,而在通道 H 2 上 CellO和 Celll的存储位上都没有数据, 以此类推, 在没有数据的存储位上都不需要输入对应的滤 波器系数, 所以 本实施例中第一行数据对应的滤波器系数中通 道 H。按照图 6A中的方式导 入, 通道 中的系数按照图 6B的方式导入, 通道 ¾中的系数按照图 6C 的方式导入。 即各通道中向量存储单元中若存在空存储位, 则该对应存储 位的系数可以不必输入。 依照此种方法将滤波器系数全部导入。 此外滤波 器系数导入的时间可以为滤波系数都导入完成 之后, 也可以同时和滤波数 据一起导入。 导入后的向量存储单元如表 2所示:

步驟 404: 读取向量处理器中的各行数据, 与对应的滤波器系数进行计 在本步驟中, 将每行数据并行输入时对应的各通道数据与对 应的滤波 器系数进行向量乘法, 并将最后的各行乘法结果进行累加压缩, 得到输出 结果。 输出结果如表 3所示:

表 3

步驟 405: 对输出结果进行截取, 获取最终结果。

因为根据各个系统设计需求不同, 需要截取指定滤波器输出结果。 本 实施例中, 一种较优的截取方式为: 经过长度 K ( K以奇数为例) 的 FIR 滤波器处理后, 原长度为 L的数据, 输出后的数据长度为 L+K-1 , 前后各 需截取长度 (K-l)/2的数据, 然后取中间数据为最终数据, 以上述输出结果 为例, 分别去除前后各两个输出结果, 得到最终结果, 如表 4所示: 表 4

在本实施例中, 还可以使用滤波器系数 K等于或者大于向量存储 单元的情况予以说明, 其处理及计算过程与上述小于向量存储单元个 数的 情况类似, 在此就不过多进行赞述。 能认定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的 普通技术人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单 推演或替换, 都应当视为属于本发明的保护范围。 工业实用性

本发明实施例通过将寄存器中数据存储单元中 的数据导入到处理模块 的向量存储单元中, 导入的向量存储单元数量与数据存储单元数量 等同, 然后对输入的数据进行计算, 最后得到滤波输出结果, 使处理模块中各向 量存储单元得到了充分的利用, 提高了处理模块的利用率。 本发明还通过 将各数据存储单元中的数据以每行为单位,将 每行数据依次通过 K个通道, 导入到向量存储单元中, 并且导入时, 按照通道顺序依次按照递增或递减 的方式对数据进行移位存储。 因此, 不仅提高了处理模块的单元利用率, 且使滤波器具有可重构性、 并行度可调节性、 使用片上资源少的优点。