System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数字信号处理,特别是涉及一种快速傅里叶变换方法、装置和数字助听器。
技术介绍
1、快速傅里叶变换(fast fourier transform,fft)是一种将数据从时域转换到频域进行处理的快速实现算法,目前广泛应用于数字图像、无线通信、语音识别、雷达信号处理等领域,通常需要满足高精度、低延时、低功耗数据等要求。
2、在快速傅里叶变换的计算过程中,中间量结果的存储方式会影响整体计算速度和功耗。传统方案中,一般将中间结果存放在寄存器组或者是静态存储器(sram)中,随着存储器(ram)数量的增多和容量的增大,相应可使用的资源越多,但同时还会带来较大的功耗和面积占用,难以适用一些对功耗、面积有高要求的领域。
3、针对相关技术中存在存储中间结果的面积和功耗较大的问题,目前还没有提出有效的解决方案。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够降低存储中间结果的功耗和面积的快速傅里叶变换方法、装置和数字助听器。
2、第一个方面,在本实施例中提供了一种快速傅里叶变换方法,适用于快速傅里叶变换装置,所述装置包括:存储原始fft数据的第一存储器,以及存储蝶形运算中间结果的第二存储器和第三存储器;所述方法包括:
3、基于所述原始fft数据移位后的结果进行第1级蝶形运算,输出第1级蝶形运算的中间结果;
4、在读取所述中间结果时进行移位处理;
5、基于上一级蝶形运算的中间结果移位后的结果进行第i级蝶形运
6、将所述中间结果依次轮转存入所述第二存储器和所述第三存储器。
7、第二个方面,在本实施例中提供了一种快速傅里叶变换方法,适用于快速傅里叶变换装置,所述装置包括:存储原始fft数据的第一存储器,以及存储蝶形运算中间结果移位后的结果的第二存储器和第三存储器;所述方法包括:
8、基于所述原始fft数据进行第1级蝶形运算,输出第1级蝶形运算的中间结果;
9、基于上一级蝶形运算的中间结果移位后的结果进行第i级蝶形运算,输出第i级蝶形运算的中间结果;其中i大于等于2,且小于等于i,i表示蝶形运算的总级数,i为正整数;
10、对所述中间结果进行移位处理;
11、将所述中间结果移位后的结果依次轮转存入所述第二存储器和所述第三存储器。
12、在其中的一些实施例中,还包括:
13、在每级蝶形运算结束后,对输出的所述中间结果进行高位检测,以更新所述移位处理的移位值。
14、在其中的一些实施例中,所述对输出的所述中间结果进行高位检测,以更新所述移位处理的移位值,包括:
15、对所述中间结果中预设高位的值与预设寄存器进行运算,并在所述预设寄存器中更新当前运算结果;
16、在每级蝶形运算结束后,根据所述当前运算结果确定所述移位值。
17、在其中的一些实施例中,还包括:
18、划分快速傅里叶变换中的每级蝶形运算,生成每级蝶形运算相应的乒乓选择信号。
19、在其中的一些实施例中,还包括:
20、基于所述乒乓选择信号和每个存储器的读写地址,将所述中间结果或所述中间结果移位后的结果依次轮转写入所述第二存储器和所述第三存储器。
21、第三个方面,在本实施例中提供了一种快速傅里叶变换装置,包括:移位检测模块,以及分别与所述移位检测模块连接的第一存储器、第二存储器、第三存储器、地址生成模块、蝶形运算模块;
22、所述第一存储器,用于存储原始fft数据;
23、所述移位检测模块,用于在所述蝶形运算模块读取待计算数据时进行移位处理;
24、所述地址生成模块,用于生成所述第一存储器、所述第二存储器以及所述第三存储器的读写地址;
25、所述蝶形运算模块,用于基于所述fft数据移位后的结果进行第1级蝶形运算,输出第1级蝶形运算的中间结果;以及,基于上一级蝶形运算的中间结果移位后的结果进行第i级蝶形运算,输出第i级蝶形运算的中间结果;其中i大于等于2,且小于等于i,i表示蝶形运算的总级数,i为正整数;
26、所述第二存储器和所述第三存储器,用于依次轮转存储所述蝶形运算模块输出的中间结果。
27、第四个方面,在本实施例中提供了一种快速傅里叶变换装置,包括:移位检测模块,以及分别与所述移位检测模块连接的第一存储器、第二存储器、第三存储器、地址生成模块、蝶形运算模块;
28、所述第一存储器,用于存储原始fft数据;
29、所述地址生成模块,用于生成所述第一存储器、所述第二存储器以及所述第三存储器的读写地址;
30、所述蝶形运算模块,用于基于所述原始fft数据进行第1级蝶形运算,输出第1级蝶形运算的中间结果;以及,基于上一级蝶形运算的中间结果移位后的结果进行第i级蝶形运算,输出第i级蝶形运算的中间结果;其中i大于等于2,且小于等于i,i表示蝶形运算的总级数,i为正整数;
31、所述移位检测模块,用于对所述蝶形运算模块输出的中间结果进行移位处理;
32、所述第二存储器和所述第三存储器,用于依次轮转存储所述中间结果移位后的结果。
33、在其中的一些实施例中,所述蝶形运算模块为基2运算模块,所述第二存储器和所述第三存储器为单口ram;或者,
34、所述蝶形运算模块为基4运算模块,所述第二存储器和所述第三存储器为双口ram。
35、第五个方面,在本实施例中提供了一种数字助听器,包括如上述第三个方面或第四个方面所述的快速傅里叶变换装置。
36、与相关技术相比,在本实施例中提供的快速傅里叶变换方法、装置和数字助听器,其中装置,包括存储原始fft数据的第一存储器,以及存储蝶形运算中间结果的第二存储器和第三存储器;该方法适用于该装置,包括:基于所述原始fft数据移位后的结果进行第1级蝶形运算,输出第1级蝶形运算的中间结果;在读取所述中间结果时进行移位处理;基于上一级蝶形运算的中间结果移位后的结果进行第i级蝶形运算,输出第i级蝶形运算的中间结果;其中i大于等于2,且小于等于i,i表示蝶形运算的总级数,i为正整数;将所述中间结果依次轮转存入所述第二存储器和所述第三存储器。通过本申请,在读取数据进行蝶形运算时预先进行移位处理,采用两个存储器依次轮转存储每级蝶形运算的中间结果,能够减少中间结果存储的面积和功耗,解决了目前存储中间结果的面积和功耗较大的问题。
37、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
本文档来自技高网...【技术保护点】
1.一种快速傅里叶变换方法,其特征在于,适用于快速傅里叶变换装置,所述装置包括:存储原始FFT数据的第一存储器,以及存储蝶形运算中间结果的第二存储器和第三存储器;所述方法包括:
2.一种快速傅里叶变换方法,其特征在于,适用于快速傅里叶变换装置,所述装置包括:存储原始FFT数据的第一存储器,以及存储蝶形运算中间结果移位后的结果的第二存储器和第三存储器;所述方法包括:
3.根据权利要求1至2中任一项所述的快速傅里叶变换方法,其特征在于,还包括:
4.根据权利要求3所述的快速傅里叶变换方法,其特征在于,所述对输出的所述中间结果进行高位检测,以更新所述移位处理的移位值,包括:
5.根据权利要求1至2中任一项所述的快速傅里叶变换方法,其特征在于,还包括:
6.根据权利要求5所述的快速傅里叶变换方法,其特征在于,还包括:
7.一种快速傅里叶变换装置,其特征在于,包括:移位检测模块,以及分别与所述移位检测模块连接的第一存储器、第二存储器、第三存储器、地址生成模块、蝶形运算模块;
8.一种快速傅里叶变换装置,其特
9.根据权利要求7至8中任一项所述的快速傅里叶变换装置,其特征在于,所述蝶形运算模块为基2运算模块,所述第二存储器和所述第三存储器为单口RAM;或者,
10.一种数字助听器,其特征在于,包括:如权利要求7至9中任一项所述的快速傅里叶变换装置。
...【技术特征摘要】
1.一种快速傅里叶变换方法,其特征在于,适用于快速傅里叶变换装置,所述装置包括:存储原始fft数据的第一存储器,以及存储蝶形运算中间结果的第二存储器和第三存储器;所述方法包括:
2.一种快速傅里叶变换方法,其特征在于,适用于快速傅里叶变换装置,所述装置包括:存储原始fft数据的第一存储器,以及存储蝶形运算中间结果移位后的结果的第二存储器和第三存储器;所述方法包括:
3.根据权利要求1至2中任一项所述的快速傅里叶变换方法,其特征在于,还包括:
4.根据权利要求3所述的快速傅里叶变换方法,其特征在于,所述对输出的所述中间结果进行高位检测,以更新所述移位处理的移位值,包括:
5.根据权利要求1至2中任一项所述的快速傅里叶变换方法,其特征在于,还...
【专利技术属性】
技术研发人员:夏恒炀,
申请(专利权)人:上海联影微电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。