一种混合基DFT和IDFT快速实现方法及装置.pdf

上传人:1****2 文档编号:975310 上传时间:2018-03-22 格式:PDF 页数:12 大小:487.18KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910191638.7

申请日:

2009.11.27

公开号:

CN102081592A

公开日:

2011.06.01

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):G06F 17/14登记生效日:20170502变更事项:专利权人变更前权利人:重庆重邮信科通信技术有限公司变更后权利人:锐迪科(重庆)微电子科技有限公司变更事项:地址变更前权利人:400065 重庆市南岸区黄桷垭堡上园1号重庆邮电大学信科大厦12楼变更后权利人:400060 重庆市南岸区南坪街道南城大道199号左附楼403|||授权|||实质审查的生效IPC(主分类):G06F 17/14申请日:20091127|||公开

IPC分类号:

G06F17/14

主分类号:

G06F17/14

申请人:

重庆重邮信科通信技术有限公司

发明人:

朱志辉; 徐翼; 韩佳佳

地址:

400065 重庆市南岸区黄桷垭堡上园1号重庆邮电大学信科大厦12楼

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种混合基DFT和IDFT快速实现方法及装置,本发明为第一级DFT运算产生整序读数地址,便于在后续计算中原地址读数,并为每级DFT运算配置二个中间缓存用于交替存储蝶形运算数据,采用级间流水控制,不会等到当前级处理完成后再进行下一级运算,而是在进行当前级运算时,当满足下一级运算条件时即开始进行下一级运算,极大提高了计算速度,节省了处理时间,且所需的整体存储量不会增大。

权利要求书

1: 一种混合基 DFT 和 IDFT 快速实现方法, 其特征在于, 包括以下步骤 : 步骤 A : 初始化, 并为第一级 DFT 运算产生整序读数地址 ; 步骤 B : 判断当前 DFT 运算的级数是否小于最大级数 N, 若是, 则进入下一步, 否则转到 步骤 G ; 步骤 C : 当前级 DFT 运算读数并进行蝶形运算, 将蝶形运算结果存储于一个中间缓存, 当前级蝶形运算计数器 Bt 加 1 ; 步骤 D : 判断是否满足进入下一级运算条件, 若满足, 则当前级 DFT 运算转换中间缓存, 即将其后蝶形运算结果存储于另一个中间缓存, 同时进入步骤 E 和 F ; 否则, 进入步骤 E ; 步骤 E : 判断当前级 DFT 运算是否结束, 即判断其蝶形运算次数是否达到当前级蝶形运 算的最大次数, 若未达到, 则重复步骤 C 至 D, 否则, 结束当前级 DFT 运算。 步骤 F : 进入下一级 DFT 运算, 下一级 DFT 运算从当前级 DFT 运算的中间缓存读数, 重 复步骤 B 至 D 步骤 G : 最后一级的处理。
2: 如权利要求 1 所述混合基 DFT 和 IDFT 快速实现方法, 其特征在于, 步骤 A 所述初始化 为: 在混合基 DFT 运算之前根据系统需要处理的点数计算各级中间缓存大小, 为每一级 DFT 运算预生成两个中间缓存, 为每一级 DFT 运算生成一个蝶形运算次数计数器 Bt, 清零 Bt ; 所述产生整序读数地址的方法进一步包括以下步骤 : 步骤 a : 求顺序基底权值 ; 各 级 DFT 运 算 基 底 为 f1, f2, f3…… fN, 则每个基底对应的权值为 1 ≤ j ≤ N-1, 而 XN = 1 ; 步骤 b : 求出读数地址 ; 由最大级数 N 确定地址宽度, 表示为 [N,…, 2, 1], 左边为高地址位, 右边为低地址位 ; 地址位对应的进位门限和权值分别为 λN,…, λ 2, λ2 和 XN,…, X2, X1, 其中, λN,…, λ2, λ1 等于对应的 f1, f2, f3…… fN 值 ; 假定各个地址位上的初始值都为 0, 每个时钟从最低地址位加 1, 满足进位原则时进 位, 则每个时钟读取数据的地址为, 当前各地址位上的数与其对应的权值乘积之和 ; 所述进位原则为 : 当前地址位上的数达对应进位门限时向高位进 1 位。
3: 如权利要求 2 所述混合基 DFT 和 IDFT 快速实现方法, 其特征在于, 两个中间缓存大 小相等。
4: 如权利要求 1 所述混合基 DFT 和 IDFT 快速实现方法, 其特征在于, 步骤 D 所述判断 是否满足进入下一级运算的条件为蝶形运算次数 Bt 是否满足 mod((fi+1-1)×pi/fi+1, Bt) = 0。
5: 如权利要求 1 所述混合基 DFT 和 IDFT 快速实现方法, 其特征在于, 步骤 G 的处理方 式为 : 首先获得最后一级处理的相关参数 fi, pi, m i, qi, 其中 i = N ; 然后由数据读取控制模 块选择, 从前一级的中间缓存中连续读数据, 读数地址为每份中再每隔 pi-1 取一个点, 总共 可以取 fi 个点。
6: 如权利要求 1-4 任一所述混合基 DFT 和 IDFT 快速实现方法, 其特征在于, 在各级 DFT 运算开始时, 先计算本级蝶形运算旋转因子并保存, 在进行蝶形运算时直接调用。 2
7: 一种实现权利要求 1 所述方法的混合基 DFT 和 IDFT 快速实现装置, 其特征在于, 包 括接口单元、 控制单元、 地址整序单元和级运算处理单元 ; 所述接口单元, 包含外部输入输出数据存储器和参数存储模块, 存储外部输入输出数 据; 将外部送入数据, 存入输入输出数据存储器中, 并在相关参数存储模块中根据相应参数 配置寄存器, 指示启动 DFT 或者 IDFT 运算, 并指明各级运算的基底 ; 所述控制单元, 完成接口和功能时钟的切换, 实现外部对整个模块的控制, 并控制级间 流水线处理时各级的启动, 同时在计算结束时产生中断 ; 启动计算过程, 并控制启动第一级 处理单元, 开始从接口单元的输入输出数据模块按整序方法读数, 并统计当前级蝶形运算 次数 Bt, 同时判断 Bt 是否满足 mod((fi+1-1)×pi/fi+1, Bt) = 0, 若满足, 则控制启动下一级 的运算, 并将下一级作为控制模块统计蝶形运算次数的当前级, 重新统计该级的次数和判 断。若不满足, 则继续统计。 所述地址整序单元, 为第一级 DFT 运算产生整序读数地址 ; 所述级运算处理单元, 完成相应级数的数据处理和中间结果存储。
8: 如权利要求 7 所述混合基 DFT 和 IDFT 快速实现装置, 其特征在于, 所述接口单元还 可以包括旋转因子存储模块, 预先存储各级蝶形运算所需旋转因子。
9: 如权利要求 7 所述混合基 DFT 和 IDFT 快速实现装置, 其特征在于, 所述地址整序单 元进一步包括顺序基底权值计算单元和读数地址产生单元 ; 所述顺序基底权值计算单元计算基底权值, 各级 DFT 运算基底为 f1, f2, f3…… fN, 则每 个基底对应的权值为 1 ≤ j ≤ N-1, 而 XN = 1 ; 所述读数地址产生单元产生读数地址, 产生方式为 : 由最大级数 N 确定地址宽度, 表示为 [N,…, 2, 1], 左边为高地址位, 右边为低地址位 ; 地址位对应的进位门限和权值分别为 λN,…, λ 2, λ1 和 XN,…, X2, X1, 其中, λN,…, λ2, λ1 等于对应的 f1, f2, f3…… fN 值 ; 假定各个地址位上的初始值都为 0, 每个时钟从最低地址位加 1, 满足进位原则时进 位, 则每个时钟读取数据的地址为, 当前各地址位上的数与其对应的权值乘积之和 ; 所述进位原则为 : 当前地址位上的数达对应进位门限时向高位进 1 位。
10: 如权利要 求 7 所述混合基 DFT 和 IDFT 快速实现装置, 其特征在于, 所述级运算处理单元, 进一步包含 两个中间缓存, 中间缓存控制模块, 蝶形运算模块 ; 所述两个中间缓存, 用于存储蝶形运算结果, 并在中间缓存控制模块的控制下, 交替存 储数据 ; 所述蝶形运算模块完成处理数据和相应旋转因子的读取, 并完成本级基底对应的蝶形 运算, 每一级运算, 调用该级蝶形运算模块, 进行相应的蝶形运算 ; 所 述 中 间 缓 存 控 制 模 块 控 制 蝶 形 运 算 结 果 存 入 中 间 缓 存 中, 当 Bt 满 足 mod((fi+1-1)×pi/fi+1, Bt) = 0 时, 中间缓存控制模块控制切换中间存储, 将后续计算结果 切换至另一个中间缓存存储, 当另一个中间缓存的数据也满足此条件时, 再切换回原先的 中间缓存, 交替反复, 直到本级计算完成。

说明书


一种混合基 DFT 和 IDFT 快速实现方法及装置

    技术领域 本发明涉及移动通信领域, 特别是涉及数字信号处理系统 DFT(Discrete Fourier Transform, 离散傅立叶变换 ) 和 IDFT(Inverse Discrete Fourier Transform, 离散傅立叶 逆变换 ) 算法定点实现的一种高速硬件实现方案。
     背景技术
     在数字信号处理中, 特别是对于有限长序列, DFT 是一种尤为重要的数学变换, 其 实质是有限长序列傅立叶变换的有限点离散采样, 开辟了频域离散化的道路, 使数字信号 处理可以在频域采用数字运算的方法进行, 大大增加了数字信号处理的灵活性。 DFT 在数字 通信、 语音信号处理、 图像处理、 功率谱估计、 地震以及数值分析等各个领域都有广泛的应 用。 其中, 称不能使用基 2 类快速 FFT(Fast Fourier Transform, 快速傅立叶变换 ) 算法来 计算的 DFT 为一般数 DFT 运算。 目前计算一般数 DFT 的算法大概有两类, 一类是混合基算法, 以 Cooley-Tukey 算 法理论为基础, 基 2 类的 FFT 算法也是以此理论为基础修改得到 ; 另一类就是以快速卷积算 法理论为基础的, 代表算法是素因子算法 (PFA) 和 Winograd 付里叶变换算法 (WFTA)。 这两 类算法的设计思想都是想通过把大点数的 DFT 转化成小点数的 DFT 进行运算来达到减少运 算复杂度的目的, PFA 和 WFTA 算法则都要求所分解的小长度之间互素, 因为只有互素, 这两 种算法才能发挥出通过不断嵌套直到最后调用小点数 DFT 进行运算来节省计算复杂度的 目的, 且 PFA 算法的映射过程较为复杂。
     混合基 DFT 算法是把大点数据进行分解, 得到多个不同因子的乘积, 再根据小点 数 DFT 公式计算不同因子的 DFT。 其原理见文献 《self-sorting mixed-radix fast fourier transforms》 , C TEMPERTON Journal of computational physics(Print)52 : 11, 1-23, Elsevier, 1983, 整个算法过程简单, 便于实现, 且混合基算法不要求分解的小长度之间互 素, 相对于直接运算 DFT, 复杂度得到了减小。
     现有混合基 DFT 算法通常采用两个存储器并在之间进行乒乓操作, 实现每一级的 运算, 如图 1 所示, 从存储器 1 中读取数据, 经过蝶形运算后, 结果数据存入存储器 2, 完成第 一级运算, 然后从存储器 2 读数, 经过蝶形运算后, 存入存储器 1 中, 完成第二级运算, 如此 切换, 完成各级运算, 但这种处理方法需要在前面一级运算完成后才能进行后面一级运算, 所需要时间量为所有各级运算耗时之和, 导致其处理所耗时间很长。
     发明内容
     本发明所解决的问题是提供一种计算速度更快、 处理时间更短的高速混合基 DFT 实现方法及装置。
     为解决以上问题, 本发明提供一种混合基 DFT 和 IDFT 快速实现方法, 包括以下步 骤:
     步骤 A : 初始化, 并为第一级 DFT 运算产生整序读数地址 ;所述初始化为 : 在混合基 DFT 运算之前根据系统需要处理的点数计算各级中间缓 存大小, 为每一级 DFT 运算预生成两个中间缓存, 为每一级 DFT 运算生成一个蝶形运算次数 计数器 Bt, 清零 Bt ;
     优选地, 两个中间缓存大小相等。
     所述产生整序读数地址的方法进一步包括以下步骤 :
     步骤 a : 求顺序基底权值, 方法为 :
     各 级 DFT 运 算 基 底 为 f1, f2, f3…… fN, 则每个基底对应的权值为1 ≤ j ≤ N-1, 而 XN = 1 ;
     步骤 b : 求出读数地址, 方法为 :
     由最大级数 N 确定地址宽度, 表示为 [N, …, 2, 1], 左边为高地址位, 右边为低地址 位; 地址位对应的进位门限和权值分别为 λN,…, λ2, λ1 和 XN,…, X2, X1 ;
     其中, λN,…, λ2, λ1 等于对应的 f1, f2, f3…… fN 值 ;
     假定各个地址位上的初始值都为 0, 每个时钟从最低地址位加 1, 满足进位原则时 进位, 则每个时钟读取数据的地址为, 当前各地址位上的数与其对应的权值乘积之和 ;
     所述进位原则为 : 当前地址位上的数达对应进位门限时向高位进 1 位。
     步骤 B : 判断当前 DFT 运算的级数是否小于最大级数 N, 若是进入下一步, 否则转到 步骤 G ;
     步骤 C : 当前级 DFT 运算读数并进行蝶形运算, 将蝶形运算结果存储于一个中间缓 存, 当前级蝶形运算计数器 Bt 加 1 ;
     步骤 D : 判断是否满足进入下一级运算条件, 若满足, 则当前级 DFT 运算转换中间 缓存, 即将其后蝶形运算结果存储于另一个中间缓存, 同时进入步骤 E 和 F ; 否则, 进入步骤 E;
     步骤 E : 判断当前级 DFT 运算是否结束, 即判断其蝶形运算次数 Bt 是否达到当前 级蝶形运算的最大次数 mi, 若 Bt ≤ mi, 则重复步骤 C 至 D, 否则, 结束当前级 DFT 运算
     步骤 F : 进入下一级 DFT 运算, 下一级 DFT 运算从当前级 DFT 运算的中间缓存读数, 重复步骤 B 至 D
     步骤 G : 最后一级的处理 ;
     首先获得最后一级处理的相关参数 fi, pi, mi, qi, 其中 i = N ; 然后由数据读取控制 模块选择, 从前一级的中间缓存中连续读数据, 读数地址为每份中再每隔 pi-1-1 取一个点, 总共可以取 fi 个点 ;
     优选地, 混合基 IDFT 快速实现方法与以上所述 DFT 实现方法基本相同, 区别之处 在于 :
     1) 在初始化开始的时候, 配置相关指示信号, 使能 IDFT 运算 ;
     2) 各级 DFT 运算在进行的蝶形运算的时候, 每一次蝶形运算的结果乘以 1/fi, fi 为当前级的基底 ;
     为解决以上问题, 本发明还提供了一种混合基 DFT 和 IDFT 快速实现装置, 包括接 口单元、 控制单元、 地址整序单元和级运算处理单元 ;
     所述接口单元, 包含外部输入输出数据存储器和参数存储模块, 存储外部输入输出数据 ; 将外部送入数据, 存入输入输出数据存储器中, 并在相关参数存储模块中根据相应 参数配置寄存器, 指示启动 DFT 或者 IDFT 运算, 并指明各级运算的基底 ;
     进一步地, 所述接口单元还可以包括旋转因子存储模块, 存储各级蝶形运算所需 旋转因子 ; 将蝶形运算的旋转因子进行预保存可以避免在计算时再计算蝶形运算的旋转因 子, 可以进一步提高计算速度。
     所述控制单元, 完成接口和功能时钟的切换, 实现外部对整个模块的控制 ( 包括 数据和相关参数的输入输出 ), 并控制级间流水线处理时各级的启动, 同时在计算结束时产 生中断 ; 启动计算过程, 并控制启动第一级处理单元, 开始从接口单元的输入输出数据模块 按整序方法读数, 并统计当前级蝶形运算次数 Bt, 同时判断 Bt 是否满足 mod((fi+1-1)×pi/ fi+1, Bt) = 0, 若满足, 则控制启动下一级的运算, 并将下一级作为控制模块统计蝶形运算 次数的当前级, 重新统计该级的次数和判断。若不满足, 则继续统计 ;
     所述地址整序单元, 为第一级 DFT 运算产生整序读数地址, 进一步包括顺序基底 权值计算单元和读数地址产生单元 ;
     所述顺序基底权值计算单元计算基底权值, 各级 DFT 运算基底为 f1, f2, f3…… fN, 则每个基底对应的权值为
     1 ≤ j ≤ N-1, 而 XN = 1 ;所述读数地址产生单元产生读数地址, 具体为 :
     由最大级数 N 确定地址宽度, 表示为 [N,…, 2, 1], 左边为高地址位, 右边为低地 址位 ; 地址位对应的进位门限和权值分别为 λN,…, λ2, λ1(λN,…, λ2, λ1 等于对应的 f1, f2, f3…… fN 值 ) 和 XN,…, X2, X1 ;
     假定各个地址位上的初始值都为 0, 每个时钟从最低地址位加 1, 满足进位原则时 进位, 则每个时钟读取数据的地址为, 当前各地址位上的数与其对应的权值乘积之和 ;
     所述进位原则为 : 当前地址位上的数达对应进位门限时向高位进 1 位。
     所述级运算处理单元, 完成相应级数的数据处理和中间结果存储, 进一步包含两 个中间缓存, 中间缓存控制模块, 蝶形运算模块 ;
     所述两个中间缓存用于存储蝶形运算结果, 并在中间缓存控制模块的控制下, 交 替存储数据 ;
     优选地, 两个中间缓存大小相等。
     所述蝶形运算模块完成处理数据和相应旋转因子的读取, 并完成本级基底对应的 蝶形运算, 每一级运算, 调用该级蝶形运算模块, 进行相应的蝶形运算 ;
     所 述 中 间 缓 存 控 制 模 块 控 制 蝶 形 运 算 结 果 存 入 中 间 缓 存 中, 当 Bt 满 足 mod((fi+1-1)×pi/fi+1, Bt) = 0 时, 中间缓存控制模块控制切换中间存储, 将后续计算结果 切换至另一个中间缓存存储。当另一个中间缓存的数据也满足此条件时, 再切换回原先的 中间缓存, 交替反复, 直到本级计算完成。
     与现有技术相比, 本发明为第一级 DFT 运算产生整序读数地址, 便于在后续计算 中原地址读数, 并为每级 DFT 运算配置二个中间缓存用于存储蝶形运算数据, 采用级间流 水控制, 不会等到当前级处理完成后再进行下一级运算, 而是在进行当前级运算时, 当满足 下一级运算条件时即开始进行下一级运算, 极大提高了计算速度, 节省了处理时间, 且与现 有技术相比所需的整体存储量不会增大。附图说明
     图 1 是现有技术混合基 DFT 算法乒乓操作示意图 图 2 是本发明混合基 DFT 和 IDFT 快速实现方法优选实施例流程图 图 3 是本发明混合基 DFT 和 IDFT 快速实现装置优选实施例结构图 图 4 是本发明级运算处理单元内部结构图具体实施方式
     为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明混合基 DFT 和 IDFT 快速实现方法及装置作进一步详细说明。
     假设总数据点数为 K, 依混合基算式把 K 点数据分解成 N 个小点数, 得到 N 个因子 的乘积, 表示为 其中, N 为 K 点数据处理的最大级数 ; fi 表示第 i 级运算的因子,也即是第 i 级 DFT 运算的基底, i 表示当前级。
     以下的描述中, 一些参数定义为 :
     mi 表示当前级蝶形运算的最大次数。
     pi 表示前 i 级因子的乘积 ( 包含第 i 级 ), 即 pi = f1f2… fi。
     qi 表示 i 级后剩下因子的乘积, qi = K/pi。
     图 2 是本发明混合基 DFT 和 IDFT 快速实现方法优选实施例流程图, 该方法包括以 下步骤 :
     步骤 A : 初始化, 并为第一级 DFT 运算产生整序读数地址 ;
     所述初始化为 : 在混合基 DFT 运算之前根据系统需要处理的点数计算各级中间缓 存大小, 为每一级 DFT 运算预生成两个中间缓存, 为每一级 DFT 运算生成一个蝶形运算次数 计数器 Bt, 清零 Bt ;
     优选地, 两个中间缓存大小相等 ;
     所述产生整序读数地址的方法包括以下步骤 :
     步骤 a : 求顺序基底权值 ;
     各 级 DFT 运 算 基 底 为 f1, f2, f3…… fN, 则每个基底对应的权值为1 ≤ j ≤ N-1, 而 XN = 1 ;
     步骤 b : 求出读数地址 ;
     由最大级数 N 确定地址宽度, 表示为 [N,…, 2, 1], 左边为高地址位, 右边为低地 址位 ; 地址位对应的进位门限和权值分别为 λN,…, λ2, λ1(λN,…, λ2, λ1 等于对应的 f1, f2, f3…… fN 值 ) 和 XN,…, X2, X1 ;
     假定各个地址位上的初始值都为 0, 每个时钟从最低地址位加 1, 满足进位原则时 进位, 则每个时钟读取数据的地址为, 当前各地址位上的数与其对应的权值乘积之和 ; 所述进位原则为 : 当前地址位上的数达对应进位门限时向高位进 1 位。
     步骤 B : 判断当前 DFT 运算的级数 i 是否小于最大级数 N, 若是进入下一步, 否则转 到步骤 G ;
     步骤 C : 当前级 DFT 运算读数并进行蝶形运算, 将蝶形运算结果存储于一个中间缓 存, 当前级蝶形运算次数计数器 Bt 加 1 ;
     步骤 D : 判断是否满足进入下一级运算条件, 若满足, 则当前级 DFT 运算转换中间 缓存, 即将其后蝶形运算结果存储于另一个中间缓存, 同时进入步骤 E 和 F ; 否则, 进入步骤 E;
     所 述 判 断 是 否 满 足 进 入 下 一 级 运 算 的 条 件 为 蝶 形 运 算 次 数 Bt 是 否 满 足 mod((fi+1-1)×pi/fi+1, Bt) = 0 ;
     步骤 E : 判断当前级 DFT 运算是否结束, 即判断其蝶形运算次数 Bt 是否达到 mi, 若 Bt ≤ mi, 重复步骤 C 至 D, 否则, 结束当前级 DFT 运算。
     步骤 F : 进入下一级 DFT 运算, 下一级 DFT 运算从当前级 DFT 运算的中间缓存读数, 重复步骤 B 至 D
     步骤 G : 最后一级的处理 ;
     首先获得最后一级处理的相关参数 fi, pi, mi, qi, 其中 i = N ; 然后由数据读取控制 模块选择, 从前一级的中间缓存中连续读数据, 读数地址为每份中再每隔 pi-1 取一个点, 总 共可以取 fi 个点。
     优选地, 混合基 IDFT 快速实现方法与以上所述 DFT 实现方法基本相同, 区别之处在于 : 1) 在初始化开始的时候, 配置相关指示信号, 使能 IDFT 运算 ;
     2) 各级 DFT 运算在进行的蝶形运算的时候, 每一次蝶形运算的结果乘以 1/fi, fi 为当前级的基底 ;
     优选地, 在各级 DFT 运算开始时, 先计算本级蝶形运算旋转因子并保存, 在进行蝶 形运算时直接调用, 将蝶形运算的旋转因子进行预保存可以避免在计算时再计算蝶形运算 的旋转因子, 可以进一步提高计算速度。
     图 3 是本发明混合基 DFT 和 IDFT 快速实现装置优选实施例结构图, 该装置包括接 口单元、 控制单元、 地址整序单元和级运算处理单元 ;
     所述接口单元, 包含外部输入输出数据存储器和参数存储模块, 存储外部输入输 出数据 ; 将外部送入数据, 存入输入输出数据存储器中, 并在相关参数存储模块中根据相应 参数配置寄存器, 指示启动 DFT 或者 IDFT 运算, 并指明各级运算的基底 ;
     进一步地, 所述接口单元还可以包括旋转因子存储模块, 预先存储各级蝶形运算 所需旋转因子 ; 将蝶形运算的旋转因子进行预保存可以避免在计算时再计算蝶形运算的旋 转因子, 可以进一步提高计算速度。
     所述控制单元, 完成接口和功能时钟的切换, 实现外部对整个模块的控制 ( 包括 数据和相关参数的输入输出 ), 并控制级间流水线处理时各级的启动, 同时在计算结束时产 生中断 ; 启动计算过程, 并控制启动第一级处理单元, 开始从接口单元的输入输出数据模块 按整序方法读数, 并统计当前级蝶形运算次数 Bt, 同时判断 Bt 是否满足 mod((fi+1-1)×pi/ fi+1, Bt) = 0, 若满足, 则控制启动下一级的运算, 并将下一级作为控制模块统计蝶形运算 次数的当前级, 重新统计该级的次数和判断。若不满足, 则继续统计。
     所述地址整序单元, 为第一级 DFT 运算产生整序读数地址, 进一步包括顺序基底 权值计算单元和读数地址产生单元 ;
     所述顺序基底权值计算单元计算基底权值, 各级 DFT 运算基底为 f1, f2, f3…… fN, 1 ≤ j ≤ N-1, 而 XN = 1 ;则每个基底对应的权值为
     所述读数地址产生单元产生读数地址, 产生方式为 :
     由最大级数 N 确定地址宽度, 表示为 [N,…, 2, 1], 左边为高地址位, 右边为低地 址位 ; 地址位对应的进位门限和权值分别为 λN,…, λ2, λ1(λN,…, λ2, λ1 等于对应的 f1, f2, f3…… fN 值 ) 和 XN,…, X2, X1 ;
     假定各个地址位上的初始值都为 0, 每个时钟从最低地址位加 1, 满足进位原则时 进位, 则每个时钟读取数据的地址为, 当前各地址位上的数与其对应的权值乘积之和。
     所述进位原则为 : 当前地址位上的数达对应进位门限时向高位进 1 位。
     所述级运算处理单元, 完成相应级数的数据处理和中间结果存储, 进一步包含两 个中间缓存, 中间缓存控制模块, 蝶形运算模块, 如图 4 所示 ;
     所述两个中间缓存, 用于存储蝶形运算结果, 并在中间缓存控制模块的控制下, 交 替存储数据 ;
     优选地, 所述两个中间缓存大小相等 ;
     所述蝶形运算模块完成处理数据和相应旋转因子的读取, 并完成本级基底对应的 蝶形运算, 每一级运算, 调用该级蝶形运算模块, 进行相应的蝶形运算 ;
     所 述 中 间 缓 存 控 制 模 块 控 制 蝶 形 运 算 结 果 存 入 中 间 缓 存 中, 当 Bt 满 足 mod((fi+1-1)×pi/fi+1, Bt) = 0 时, 中间缓存控制模块控制切换中间存储, 将后续计算结果 切换至另一个中间缓存存储。当另一个中间缓存的数据也满足此条件时, 再切换回原先的 中间缓存, 交替反复, 直到本级计算完成。
     尽管本发明详细通过实施例详细介绍了混合基 DFT 快速实现方法及装置, 但混合 基 IDFT 快速实现方法及装置只需根据 DFT 快速实现方法及装置作简单变形, 因此 IDFT 快 速实现方法及装置也在本发明保护范围之内。
     以上所举实施例, 对本发明的目的、 技术方案和优点进行了进一步的详细说明, 所 应理解的是, 以上所举实施例仅为本发明的优选实施方式而已, 并不用以限制本发明, 凡在 本发明的精神和原则之内对本发明所作的任何修改、 等同替换、 改进等, 均应包含在本发明 的保护范围之内。

一种混合基DFT和IDFT快速实现方法及装置.pdf_第1页
第1页 / 共12页
一种混合基DFT和IDFT快速实现方法及装置.pdf_第2页
第2页 / 共12页
一种混合基DFT和IDFT快速实现方法及装置.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种混合基DFT和IDFT快速实现方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种混合基DFT和IDFT快速实现方法及装置.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102081592A43申请公布日20110601CN102081592ACN102081592A21申请号200910191638722申请日20091127G06F17/1420060171申请人重庆重邮信科通信技术有限公司地址400065重庆市南岸区黄桷垭堡上园1号重庆邮电大学信科大厦12楼72发明人朱志辉徐翼韩佳佳54发明名称一种混合基DFT和IDFT快速实现方法及装置57摘要本发明公开了一种混合基DFT和IDFT快速实现方法及装置,本发明为第一级DFT运算产生整序读数地址,便于在后续计算中原地址读数,并为每级DFT运算配置二个中间缓存用于交替存储蝶形运算数据,采用级。

2、间流水控制,不会等到当前级处理完成后再进行下一级运算,而是在进行当前级运算时,当满足下一级运算条件时即开始进行下一级运算,极大提高了计算速度,节省了处理时间,且所需的整体存储量不会增大。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页CN102081597A1/2页21一种混合基DFT和IDFT快速实现方法,其特征在于,包括以下步骤步骤A初始化,并为第一级DFT运算产生整序读数地址;步骤B判断当前DFT运算的级数是否小于最大级数N,若是,则进入下一步,否则转到步骤G;步骤C当前级DFT运算读数并进行蝶形运算,将蝶形运算结果存储于一个中间缓存,当前级。

3、蝶形运算计数器BT加1;步骤D判断是否满足进入下一级运算条件,若满足,则当前级DFT运算转换中间缓存,即将其后蝶形运算结果存储于另一个中间缓存,同时进入步骤E和F;否则,进入步骤E;步骤E判断当前级DFT运算是否结束,即判断其蝶形运算次数是否达到当前级蝶形运算的最大次数,若未达到,则重复步骤C至D,否则,结束当前级DFT运算。步骤F进入下一级DFT运算,下一级DFT运算从当前级DFT运算的中间缓存读数,重复步骤B至D步骤G最后一级的处理。2如权利要求1所述混合基DFT和IDFT快速实现方法,其特征在于,步骤A所述初始化为在混合基DFT运算之前根据系统需要处理的点数计算各级中间缓存大小,为每一级。

4、DFT运算预生成两个中间缓存,为每一级DFT运算生成一个蝶形运算次数计数器BT,清零BT;所述产生整序读数地址的方法进一步包括以下步骤步骤A求顺序基底权值;各级DFT运算基底为F1,F2,F3FN,则每个基底对应的权值为1JN1,而XN1;步骤B求出读数地址;由最大级数N确定地址宽度,表示为N,2,1,左边为高地址位,右边为低地址位;地址位对应的进位门限和权值分别为N,2,2和XN,X2,X1,其中,N,2,1等于对应的F1,F2,F3FN值;假定各个地址位上的初始值都为0,每个时钟从最低地址位加1,满足进位原则时进位,则每个时钟读取数据的地址为,当前各地址位上的数与其对应的权值乘积之和;所述。

5、进位原则为当前地址位上的数达对应进位门限时向高位进1位。3如权利要求2所述混合基DFT和IDFT快速实现方法,其特征在于,两个中间缓存大小相等。4如权利要求1所述混合基DFT和IDFT快速实现方法,其特征在于,步骤D所述判断是否满足进入下一级运算的条件为蝶形运算次数BT是否满足MODFI11PI/FI1,BT0。5如权利要求1所述混合基DFT和IDFT快速实现方法,其特征在于,步骤G的处理方式为首先获得最后一级处理的相关参数FI,PI,MI,QI,其中IN;然后由数据读取控制模块选择,从前一级的中间缓存中连续读数据,读数地址为每份中再每隔PI1取一个点,总共可以取FI个点。6如权利要求14任一。

6、所述混合基DFT和IDFT快速实现方法,其特征在于,在各级DFT运算开始时,先计算本级蝶形运算旋转因子并保存,在进行蝶形运算时直接调用。权利要求书CN102081592ACN102081597A2/2页37一种实现权利要求1所述方法的混合基DFT和IDFT快速实现装置,其特征在于,包括接口单元、控制单元、地址整序单元和级运算处理单元;所述接口单元,包含外部输入输出数据存储器和参数存储模块,存储外部输入输出数据;将外部送入数据,存入输入输出数据存储器中,并在相关参数存储模块中根据相应参数配置寄存器,指示启动DFT或者IDFT运算,并指明各级运算的基底;所述控制单元,完成接口和功能时钟的切换,实现。

7、外部对整个模块的控制,并控制级间流水线处理时各级的启动,同时在计算结束时产生中断;启动计算过程,并控制启动第一级处理单元,开始从接口单元的输入输出数据模块按整序方法读数,并统计当前级蝶形运算次数BT,同时判断BT是否满足MODFI11PI/FI1,BT0,若满足,则控制启动下一级的运算,并将下一级作为控制模块统计蝶形运算次数的当前级,重新统计该级的次数和判断。若不满足,则继续统计。所述地址整序单元,为第一级DFT运算产生整序读数地址;所述级运算处理单元,完成相应级数的数据处理和中间结果存储。8如权利要求7所述混合基DFT和IDFT快速实现装置,其特征在于,所述接口单元还可以包括旋转因子存储模块。

8、,预先存储各级蝶形运算所需旋转因子。9如权利要求7所述混合基DFT和IDFT快速实现装置,其特征在于,所述地址整序单元进一步包括顺序基底权值计算单元和读数地址产生单元;所述顺序基底权值计算单元计算基底权值,各级DFT运算基底为F1,F2,F3FN,则每个基底对应的权值为1JN1,而XN1;所述读数地址产生单元产生读数地址,产生方式为由最大级数N确定地址宽度,表示为N,2,1,左边为高地址位,右边为低地址位;地址位对应的进位门限和权值分别为N,2,1和XN,X2,X1,其中,N,2,1等于对应的F1,F2,F3FN值;假定各个地址位上的初始值都为0,每个时钟从最低地址位加1,满足进位原则时进位,。

9、则每个时钟读取数据的地址为,当前各地址位上的数与其对应的权值乘积之和;所述进位原则为当前地址位上的数达对应进位门限时向高位进1位。10如权利要求7所述混合基DFT和IDFT快速实现装置,其特征在于,所述级运算处理单元,进一步包含两个中间缓存,中间缓存控制模块,蝶形运算模块;所述两个中间缓存,用于存储蝶形运算结果,并在中间缓存控制模块的控制下,交替存储数据;所述蝶形运算模块完成处理数据和相应旋转因子的读取,并完成本级基底对应的蝶形运算,每一级运算,调用该级蝶形运算模块,进行相应的蝶形运算;所述中间缓存控制模块控制蝶形运算结果存入中间缓存中,当BT满足MODFI11PI/FI1,BT0时,中间缓存。

10、控制模块控制切换中间存储,将后续计算结果切换至另一个中间缓存存储,当另一个中间缓存的数据也满足此条件时,再切换回原先的中间缓存,交替反复,直到本级计算完成。权利要求书CN102081592ACN102081597A1/6页4一种混合基DFT和IDFT快速实现方法及装置技术领域0001本发明涉及移动通信领域,特别是涉及数字信号处理系统DFTDISCRETEFOURIERTRANSFORM,离散傅立叶变换和IDFTINVERSEDISCRETEFOURIERTRANSFORM,离散傅立叶逆变换算法定点实现的一种高速硬件实现方案。背景技术0002在数字信号处理中,特别是对于有限长序列,DFT是一种尤。

11、为重要的数学变换,其实质是有限长序列傅立叶变换的有限点离散采样,开辟了频域离散化的道路,使数字信号处理可以在频域采用数字运算的方法进行,大大增加了数字信号处理的灵活性。DFT在数字通信、语音信号处理、图像处理、功率谱估计、地震以及数值分析等各个领域都有广泛的应用。其中,称不能使用基2类快速FFTFASTFOURIERTRANSFORM,快速傅立叶变换算法来计算的DFT为一般数DFT运算。0003目前计算一般数DFT的算法大概有两类,一类是混合基算法,以COOLEYTUKEY算法理论为基础,基2类的FFT算法也是以此理论为基础修改得到;另一类就是以快速卷积算法理论为基础的,代表算法是素因子算法P。

12、FA和WINOGRAD付里叶变换算法WFTA。这两类算法的设计思想都是想通过把大点数的DFT转化成小点数的DFT进行运算来达到减少运算复杂度的目的,PFA和WFTA算法则都要求所分解的小长度之间互素,因为只有互素,这两种算法才能发挥出通过不断嵌套直到最后调用小点数DFT进行运算来节省计算复杂度的目的,且PFA算法的映射过程较为复杂。0004混合基DFT算法是把大点数据进行分解,得到多个不同因子的乘积,再根据小点数DFT公式计算不同因子的DFT。其原理见文献SELFSORTINGMIXEDRADIXFASTFOURIERTRANSFORMS,CTEMPERTONJOURNALOFCOMPUTAT。

13、IONALPHYSICSPRINT5211,123,ELSEVIER,1983,整个算法过程简单,便于实现,且混合基算法不要求分解的小长度之间互素,相对于直接运算DFT,复杂度得到了减小。0005现有混合基DFT算法通常采用两个存储器并在之间进行乒乓操作,实现每一级的运算,如图1所示,从存储器1中读取数据,经过蝶形运算后,结果数据存入存储器2,完成第一级运算,然后从存储器2读数,经过蝶形运算后,存入存储器1中,完成第二级运算,如此切换,完成各级运算,但这种处理方法需要在前面一级运算完成后才能进行后面一级运算,所需要时间量为所有各级运算耗时之和,导致其处理所耗时间很长。发明内容0006本发明所解。

14、决的问题是提供一种计算速度更快、处理时间更短的高速混合基DFT实现方法及装置。0007为解决以上问题,本发明提供一种混合基DFT和IDFT快速实现方法,包括以下步骤0008步骤A初始化,并为第一级DFT运算产生整序读数地址;说明书CN102081592ACN102081597A2/6页50009所述初始化为在混合基DFT运算之前根据系统需要处理的点数计算各级中间缓存大小,为每一级DFT运算预生成两个中间缓存,为每一级DFT运算生成一个蝶形运算次数计数器BT,清零BT;0010优选地,两个中间缓存大小相等。0011所述产生整序读数地址的方法进一步包括以下步骤0012步骤A求顺序基底权值,方法为0。

15、013各级DFT运算基底为F1,F2,F3FN,则每个基底对应的权值为1JN1,而XN1;0014步骤B求出读数地址,方法为0015由最大级数N确定地址宽度,表示为N,2,1,左边为高地址位,右边为低地址位;地址位对应的进位门限和权值分别为N,2,1和XN,X2,X1;0016其中,N,2,1等于对应的F1,F2,F3FN值;0017假定各个地址位上的初始值都为0,每个时钟从最低地址位加1,满足进位原则时进位,则每个时钟读取数据的地址为,当前各地址位上的数与其对应的权值乘积之和;0018所述进位原则为当前地址位上的数达对应进位门限时向高位进1位。0019步骤B判断当前DFT运算的级数是否小于最。

16、大级数N,若是进入下一步,否则转到步骤G;0020步骤C当前级DFT运算读数并进行蝶形运算,将蝶形运算结果存储于一个中间缓存,当前级蝶形运算计数器BT加1;0021步骤D判断是否满足进入下一级运算条件,若满足,则当前级DFT运算转换中间缓存,即将其后蝶形运算结果存储于另一个中间缓存,同时进入步骤E和F;否则,进入步骤E;0022步骤E判断当前级DFT运算是否结束,即判断其蝶形运算次数BT是否达到当前级蝶形运算的最大次数MI,若BTMI,则重复步骤C至D,否则,结束当前级DFT运算0023步骤F进入下一级DFT运算,下一级DFT运算从当前级DFT运算的中间缓存读数,重复步骤B至D0024步骤G最。

17、后一级的处理;0025首先获得最后一级处理的相关参数FI,PI,MI,QI,其中IN;然后由数据读取控制模块选择,从前一级的中间缓存中连续读数据,读数地址为每份中再每隔PI11取一个点,总共可以取FI个点;0026优选地,混合基IDFT快速实现方法与以上所述DFT实现方法基本相同,区别之处在于00271在初始化开始的时候,配置相关指示信号,使能IDFT运算;00282各级DFT运算在进行的蝶形运算的时候,每一次蝶形运算的结果乘以1/FI,FI为当前级的基底;0029为解决以上问题,本发明还提供了一种混合基DFT和IDFT快速实现装置,包括接口单元、控制单元、地址整序单元和级运算处理单元;003。

18、0所述接口单元,包含外部输入输出数据存储器和参数存储模块,存储外部输入输说明书CN102081592ACN102081597A3/6页6出数据;将外部送入数据,存入输入输出数据存储器中,并在相关参数存储模块中根据相应参数配置寄存器,指示启动DFT或者IDFT运算,并指明各级运算的基底;0031进一步地,所述接口单元还可以包括旋转因子存储模块,存储各级蝶形运算所需旋转因子;将蝶形运算的旋转因子进行预保存可以避免在计算时再计算蝶形运算的旋转因子,可以进一步提高计算速度。0032所述控制单元,完成接口和功能时钟的切换,实现外部对整个模块的控制包括数据和相关参数的输入输出,并控制级间流水线处理时各级的。

19、启动,同时在计算结束时产生中断;启动计算过程,并控制启动第一级处理单元,开始从接口单元的输入输出数据模块按整序方法读数,并统计当前级蝶形运算次数BT,同时判断BT是否满足MODFI11PI/FI1,BT0,若满足,则控制启动下一级的运算,并将下一级作为控制模块统计蝶形运算次数的当前级,重新统计该级的次数和判断。若不满足,则继续统计;0033所述地址整序单元,为第一级DFT运算产生整序读数地址,进一步包括顺序基底权值计算单元和读数地址产生单元;0034所述顺序基底权值计算单元计算基底权值,各级DFT运算基底为F1,F2,F3FN,则每个基底对应的权值为1JN1,而XN1;0035所述读数地址产生。

20、单元产生读数地址,具体为0036由最大级数N确定地址宽度,表示为N,2,1,左边为高地址位,右边为低地址位;地址位对应的进位门限和权值分别为N,2,1N,2,1等于对应的F1,F2,F3FN值和XN,X2,X1;0037假定各个地址位上的初始值都为0,每个时钟从最低地址位加1,满足进位原则时进位,则每个时钟读取数据的地址为,当前各地址位上的数与其对应的权值乘积之和;0038所述进位原则为当前地址位上的数达对应进位门限时向高位进1位。0039所述级运算处理单元,完成相应级数的数据处理和中间结果存储,进一步包含两个中间缓存,中间缓存控制模块,蝶形运算模块;0040所述两个中间缓存用于存储蝶形运算结。

21、果,并在中间缓存控制模块的控制下,交替存储数据;0041优选地,两个中间缓存大小相等。0042所述蝶形运算模块完成处理数据和相应旋转因子的读取,并完成本级基底对应的蝶形运算,每一级运算,调用该级蝶形运算模块,进行相应的蝶形运算;0043所述中间缓存控制模块控制蝶形运算结果存入中间缓存中,当BT满足MODFI11PI/FI1,BT0时,中间缓存控制模块控制切换中间存储,将后续计算结果切换至另一个中间缓存存储。当另一个中间缓存的数据也满足此条件时,再切换回原先的中间缓存,交替反复,直到本级计算完成。0044与现有技术相比,本发明为第一级DFT运算产生整序读数地址,便于在后续计算中原地址读数,并为每。

22、级DFT运算配置二个中间缓存用于存储蝶形运算数据,采用级间流水控制,不会等到当前级处理完成后再进行下一级运算,而是在进行当前级运算时,当满足下一级运算条件时即开始进行下一级运算,极大提高了计算速度,节省了处理时间,且与现有技术相比所需的整体存储量不会增大。说明书CN102081592ACN102081597A4/6页7附图说明0045图1是现有技术混合基DFT算法乒乓操作示意图0046图2是本发明混合基DFT和IDFT快速实现方法优选实施例流程图0047图3是本发明混合基DFT和IDFT快速实现装置优选实施例结构图0048图4是本发明级运算处理单元内部结构图具体实施方式0049为了使本发明的目。

23、的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明混合基DFT和IDFT快速实现方法及装置作进一步详细说明。0050假设总数据点数为K,依混合基算式把K点数据分解成N个小点数,得到N个因子的乘积,表示为其中,N为K点数据处理的最大级数;FI表示第I级运算的因子,也即是第I级DFT运算的基底,I表示当前级。0051以下的描述中,一些参数定义为0052MI表示当前级蝶形运算的最大次数。0053PI表示前I级因子的乘积包含第I级,即PIF1F2FI。0054QI表示I级后剩下因子的乘积,QIK/PI。0055图2是本发明混合基DFT和IDFT快速实现方法优选实施例流程图,该方法包括以下步。

24、骤0056步骤A初始化,并为第一级DFT运算产生整序读数地址;0057所述初始化为在混合基DFT运算之前根据系统需要处理的点数计算各级中间缓存大小,为每一级DFT运算预生成两个中间缓存,为每一级DFT运算生成一个蝶形运算次数计数器BT,清零BT;0058优选地,两个中间缓存大小相等;0059所述产生整序读数地址的方法包括以下步骤0060步骤A求顺序基底权值;0061各级DFT运算基底为F1,F2,F3FN,则每个基底对应的权值为1JN1,而XN1;0062步骤B求出读数地址;0063由最大级数N确定地址宽度,表示为N,2,1,左边为高地址位,右边为低地址位;地址位对应的进位门限和权值分别为N,。

25、2,1N,2,1等于对应的F1,F2,F3FN值和XN,X2,X1;0064假定各个地址位上的初始值都为0,每个时钟从最低地址位加1,满足进位原则时进位,则每个时钟读取数据的地址为,当前各地址位上的数与其对应的权值乘积之和;0065所述进位原则为当前地址位上的数达对应进位门限时向高位进1位。0066步骤B判断当前DFT运算的级数I是否小于最大级数N,若是进入下一步,否则转到步骤G;说明书CN102081592ACN102081597A5/6页80067步骤C当前级DFT运算读数并进行蝶形运算,将蝶形运算结果存储于一个中间缓存,当前级蝶形运算次数计数器BT加1;0068步骤D判断是否满足进入下一。

26、级运算条件,若满足,则当前级DFT运算转换中间缓存,即将其后蝶形运算结果存储于另一个中间缓存,同时进入步骤E和F;否则,进入步骤E;0069所述判断是否满足进入下一级运算的条件为蝶形运算次数BT是否满足MODFI11PI/FI1,BT0;0070步骤E判断当前级DFT运算是否结束,即判断其蝶形运算次数BT是否达到MI,若BTMI,重复步骤C至D,否则,结束当前级DFT运算。0071步骤F进入下一级DFT运算,下一级DFT运算从当前级DFT运算的中间缓存读数,重复步骤B至D0072步骤G最后一级的处理;0073首先获得最后一级处理的相关参数FI,PI,MI,QI,其中IN;然后由数据读取控制模块。

27、选择,从前一级的中间缓存中连续读数据,读数地址为每份中再每隔PI1取一个点,总共可以取FI个点。0074优选地,混合基IDFT快速实现方法与以上所述DFT实现方法基本相同,区别之处在于00751在初始化开始的时候,配置相关指示信号,使能IDFT运算;00762各级DFT运算在进行的蝶形运算的时候,每一次蝶形运算的结果乘以1/FI,FI为当前级的基底;0077优选地,在各级DFT运算开始时,先计算本级蝶形运算旋转因子并保存,在进行蝶形运算时直接调用,将蝶形运算的旋转因子进行预保存可以避免在计算时再计算蝶形运算的旋转因子,可以进一步提高计算速度。0078图3是本发明混合基DFT和IDFT快速实现装。

28、置优选实施例结构图,该装置包括接口单元、控制单元、地址整序单元和级运算处理单元;0079所述接口单元,包含外部输入输出数据存储器和参数存储模块,存储外部输入输出数据;将外部送入数据,存入输入输出数据存储器中,并在相关参数存储模块中根据相应参数配置寄存器,指示启动DFT或者IDFT运算,并指明各级运算的基底;0080进一步地,所述接口单元还可以包括旋转因子存储模块,预先存储各级蝶形运算所需旋转因子;将蝶形运算的旋转因子进行预保存可以避免在计算时再计算蝶形运算的旋转因子,可以进一步提高计算速度。0081所述控制单元,完成接口和功能时钟的切换,实现外部对整个模块的控制包括数据和相关参数的输入输出,并。

29、控制级间流水线处理时各级的启动,同时在计算结束时产生中断;启动计算过程,并控制启动第一级处理单元,开始从接口单元的输入输出数据模块按整序方法读数,并统计当前级蝶形运算次数BT,同时判断BT是否满足MODFI11PI/FI1,BT0,若满足,则控制启动下一级的运算,并将下一级作为控制模块统计蝶形运算次数的当前级,重新统计该级的次数和判断。若不满足,则继续统计。0082所述地址整序单元,为第一级DFT运算产生整序读数地址,进一步包括顺序基底权值计算单元和读数地址产生单元;说明书CN102081592ACN102081597A6/6页90083所述顺序基底权值计算单元计算基底权值,各级DFT运算基底。

30、为F1,F2,F3FN,则每个基底对应的权值为1JN1,而XN1;0084所述读数地址产生单元产生读数地址,产生方式为0085由最大级数N确定地址宽度,表示为N,2,1,左边为高地址位,右边为低地址位;地址位对应的进位门限和权值分别为N,2,1N,2,1等于对应的F1,F2,F3FN值和XN,X2,X1;0086假定各个地址位上的初始值都为0,每个时钟从最低地址位加1,满足进位原则时进位,则每个时钟读取数据的地址为,当前各地址位上的数与其对应的权值乘积之和。0087所述进位原则为当前地址位上的数达对应进位门限时向高位进1位。0088所述级运算处理单元,完成相应级数的数据处理和中间结果存储,进一。

31、步包含两个中间缓存,中间缓存控制模块,蝶形运算模块,如图4所示;0089所述两个中间缓存,用于存储蝶形运算结果,并在中间缓存控制模块的控制下,交替存储数据;0090优选地,所述两个中间缓存大小相等;0091所述蝶形运算模块完成处理数据和相应旋转因子的读取,并完成本级基底对应的蝶形运算,每一级运算,调用该级蝶形运算模块,进行相应的蝶形运算;0092所述中间缓存控制模块控制蝶形运算结果存入中间缓存中,当BT满足MODFI11PI/FI1,BT0时,中间缓存控制模块控制切换中间存储,将后续计算结果切换至另一个中间缓存存储。当另一个中间缓存的数据也满足此条件时,再切换回原先的中间缓存,交替反复,直到本。

32、级计算完成。0093尽管本发明详细通过实施例详细介绍了混合基DFT快速实现方法及装置,但混合基IDFT快速实现方法及装置只需根据DFT快速实现方法及装置作简单变形,因此IDFT快速实现方法及装置也在本发明保护范围之内。0094以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN102081592ACN102081597A1/3页10图1说明书附图CN102081592ACN102081597A2/3页11图2说明书附图CN102081592ACN102081597A3/3页12图3图4说明书附图CN102081592A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1