低功耗wola滤波器组及其综合阶段电路的制作方法
【专利摘要】本发明公开了一种低功耗WOLA滤波器组及其综合阶段的电路,适用于采用多通道信号处理技术的数字助听器。本发明采用以非连续地址读取数据进行“乘-累加”和“乘-加”运算、模寻址和改变初始读写地址代替数据移位操作、折叠结构的存储器、逻辑译码电路代替存储器“存储”数值固定的窗系数等方法,直接减少功耗开销较大的存储器读写操作的次数。同时,本发明采用双运算单元结合折叠结构的存储器,实现两路运算并行执行,进一步减少整个系统操作所需时钟周期数,从而可以方便采用降低系统时钟频率或者时钟门控技术来降低动态翻转功耗。
【专利说明】低功耗WOLA滤波器组及其综合阶段电路
[0001] 本申请是分案申请,母案的申请号:201110252568. 9,申请日:2011年8月30日, 名称:低功耗WOLA滤波器组及其分析和综合阶段电路。
【技术领域】
[0002] 本发明涉及电子行业数字信号处理【技术领域】,尤其涉及一种低功耗WOLA滤波器 组及其综合阶段电路。
【背景技术】
[0003] 数字助听器是对低功耗要求十分严格的便携式医疗电子设备。在当前几乎所有的 高端数字助听器系统中,都采用基于多通道信号处理的方法,实现响度补偿和噪声消除等 功能。
[0004] 在信号的多通道处理中,离散傅立叶变换(Discrete Fourier Transform,简称 DFT)滤波器组是最常用的一种均勻带宽滤波器组,而WOLA (Weighted Overlap Add)结构是 它的一种高效实现方法。WOLA滤波器组以灵活的块处理方式,实现对输入信号进行多通道 分析和综合操作,并且各通道间交叠较少,从而使得可以相对独立而准确的对每一个通道 的信号进行处理。因此,WOLA滤波器组非常适合在数字助听器中采用。
[0005] WOLA滤波器组的算法实现大致如下:
[0006] WOLA滤波器组的分析阶段实现对输入信号的多通道分离,其输出表达式为:
【权利要求】
1. 一种WOLA滤波器组的综合阶段电路,其特征在于,该综合电路包括:IFFT处理模块、 IFFT运算结果存储模块、综合窗系数获取模块、历史数据存储模块、乘-加运算模块和综合 电路控制模块,其中: IFFT处理模块,用于对K点序列Yk(m)进行离散傅立叶逆变换,获得K点数据序列 X' K(m),并输出至IFFT运算结果存储模块; IFFT运算结果存储模块,与所述IFFT处理模块相连接,用于保存所述K点数据序列 X ' k(m); 综合窗系数获取模块,用于获取与所述K点数据序列X' K(m)对应的窗系数,该综合窗 系数获取模块深度为Ls,被分为s组,每组有K个数据,其中,s为大于等于1的整数; 历史数据存储模块,用于存储历史运算结果,其深度为Ls,被分为s组,每组有K个数 据,并同址写回所述乘-加运算模块的运算结果; 乘-加运算模块,与所述IFFT运算结果存储模块和所述综合窗系数获取模块相连 接,并与所述历史数据存储模块双向连接,用于将从所述IFFT运算结果存储模块获取的 X' K(m)中的第j个数据,与从所述综合窗系数获取模块中获取的各组中的第j个系数相 乘,然后与从所述历史数据存储模块中读取的相应组中的第j个历史数据相加;并将乘-加 运算的结果按照原址返回所述历史数据存储模块; 输出缓冲模块,与所述历史数据存储模块相连接,用于将从所述历史数据存储模块中 读出的最旧的R个数据进行缓存,并按照预设时间输出。
2. 根据权利要求1所述的综合阶段电路,其特征在于, 所述IFFT运算结果存储模块采用折叠结构,存储深度减半而数据字长加倍,每次读操 作完成两个数据,即第2*i个数据和第2*i+l个数据的读出; 所述综合窗系数获取模块采用折叠结构,每次读操作完成两个窗系数的读出,即同时 获取各组中的第2*i个和第2*i+l个窗系数。
3. 根据权利要求1或2所述的综合阶段电路,其特征在于,该综合阶段电路还包括:综 合电路第一寄存器, 所述综合电路第一寄存器,与所述IFFT运算结果存储模块相连接,用于暂存地址为偶 数的数据; 所述IFFT运算结果存储模块,其输入端的高W位和低W位分别与所述综合电路第一寄 存器和所述IFFT处理模块相连接,用于从所述综合电路第一寄存器中获取地址为偶数的 数据,从所述IFFT处理模块获取地址为奇数的数据,在同一拍将所述两个数据写入同一地 址单元,所述两个数据分别位于所述同一地址单元的高W位和低W位。
4. 根据权利要求2所述的综合阶段电路,其特征在于,该综合阶段电路的乘-加运算模 块包含第一乘-加单元和第二乘-加单元,这两个乘-加单元与所述IFFT运算结果存储模 块和所述综合窗系数获取模块相连接,并与所述历史数据存储模块双向连接; 其中,第一乘-加单元用于将从所述IFFT运算结果存储模块获取的X' K(m)中的第 2*i个数据,与从所述综合窗系数获取模块获取的各组中的第2*i个窗系数相乘,与从所述 历史数据存储模块读取的相应组中的第2*i个历史数据相加,并将乘-加运算的结果按照 原址返回所述历史数据存储模块,第二乘-加单元用于将从所述IFFT运算结果存储模块获 取的X' K(m)中的第2*i+l个数据,与从所述综合窗系数获取模块获取的各组中的第2*i+l 个窗系数相乘,与从所述历史数据存储模块读取的相应组中的第2*i+l个历史数据相加, 并将乘-加运算的结果按照原址返回所述历史数据存储模块; 所述IFFT运算结果存储模块,采用折叠结构,存储深度减半而数据字长加倍,用于在 同一拍读出两个数据,分别送入第一乘-加单元和第二乘-加单元; 所述综合窗系数获取模块,采用折叠结构,用于在所述同一拍读出对应的两个窗系数, 分别送入第一乘-加单元和第二乘-加单元; 所述历史数据存储模块,采用折叠结构,每次读操作完成两组历史数据的读出,获取各 组中的第2*i个和第2*i+l个历史数据,分别送至第一乘-加单元和第二乘-加单元。
5. 根据权利要求1所述的综合阶段电路,其特征在于,该综合阶段电路还包括:综合电 路第二寄存器和多路选择器,其中: 所述综合电路第二寄存器,与所述历史数据存储模块相连接,用于暂存从所述历史数 据存储模块读出的低W位数据; 所述多路选择器,与所述历史数据存储模块和所述第二寄存器相连接,用于将从所述 历史数据存储模块获取的高W位数据和从所述综合电路第二寄存器获取的低W位数据分两 拍写入所述输出缓冲模块。
6. 根据权利要求1所述的综合阶段电路,其特征在于, 所述IFFT运算结果存储模块,采用改变初始读/写操作地址和模寻址的方式,实现K 点数据序列X' K(m)的循环移位;和/或 所述历史数据存储模块,采用改变初始读/写操作地址和模寻址的方式,实现历史数 据的循环移位。
7. 根据权利要求1所述的综合阶段电路,其特征在于,所述综合窗系数获取模块,采用 译码电路方式,用于对接收到的综合窗系数的地址,进行译码得到对应的窗系数。
8. -种低功耗WOLA滤波器组,其特征在于,该WOLA滤波器组包括分析阶段电路和综合 阶段电路, 该综合阶段电路为权利要求8至14中任一项所述的综合阶段电路; 该分析阶段电路包括:输入缓冲模块、样本序列存储模块、分析窗系数获取模块、 乘-累加MAC运算模块、运算结果存储模块、FFT处理模块和分析电路控制模块,其中:输入缓冲模块,与数据来源端相连接,用于缓存输入的样本数据,当累积到预设数目的 样本数据时,将该预设数目的样本数据读出并转存至样本序列存储模块; 样本序列存储模块,与所述输入缓冲模块相连接,用于存储长度为LA的样本序列,该样 本序列被分为r组,每组有K个数据,其中r = LA/K ;其中,r为大于等于1的整数,K为2的 整数次幂; 分析窗系数获取模块,用于获取对所述样本序列数据加权所需的窗系数,该窗系数也 被分为r组,每组有K个窗系数; MAC运算模块,与所述样本序列存储模块和所述分析窗系数获取模块相连接,用于以所 述窗系数中各组的第j个窗系数作为权重,对所述样本序列各组中对应的第j个数据进行 加权并累加,其中j = 〇,1,2,......K-1,输出K个加权累加的结果至运算结果存储模块; 运算结果存储模块,与所述MAC运算模块相连接,用于存储MAC运算模块的运算结果; FFT处理模块,与所述运算结果存储模块相连接,用于从所述运算结果存储模块获取加 权累加结果的K点序列,并对所述K点序列进行离散傅里叶变换,输出所述离散傅里叶变换 的结果Xk(m)。
9. 根据权利要求8所述的低功耗WOLA滤波器组,其特征在于, 所述样本序列存储模块采用折叠结构,其存储深度减半而数据字长加倍,每次读/写 操作完成两个样本数据,即每组的第2*i个和第2*i+l个数据,其中i = 0,1,2,……K/2-1 的读出/写入; 所述分析窗系数获取模块采用折叠结构,其存储深度减半而数据字长加倍,每次读操 作完成两个窗系数,即每组的第2*i个和第2*i+l个系数的读出。
10. 根据权利要求9所述的低功耗WOLA滤波器组,其特征在于,该分析阶段电路还包括 分析电路第一寄存器, 所述分析电路第一寄存器,与所述输入缓冲模块相连接,用于暂存地址为偶数的数 据; 所述样本序列存储模块,其输入端的高W位和低W位分别与所述分析电路第一寄存器 和所述输入缓冲模块相连接,用于从所述分析电路第一寄存器中获取地址为偶数的数据, 从所述输入缓冲模块获取地址为奇数的数据,在同一拍将所述两个数据写入同一地址单 元,所述两个数据分别位于所述同一地址单元的高W位和低W位。
11. 根据权利要求9所述的低功耗WOLA滤波器组,其特征在于,该分析阶段电路的MAC 运算模块包含第一和第二MAC单元,这两个MAC单元与所述样本序列存储模块和所述分析 窗系数获取模块相连接; 所述样本序列存储模块,在同一拍读出两个样本数据,分别送入第一 MAC单元和第二 MAC单元;所述分析窗系数获取模块,用于在所述同一拍读出对应的两个窗系数,分别送入 第一 MAC单元和第二MAC单元; 第一 MAC单元用于以所述窗系数中各组的第2*i个数据作为权重,对所述样本序列 各组中对应的第2*i个数据进行加权并累加,第二MAC单元用于以所述窗系数中各组的第 2*i+l个数据作为权重,对所述样本序列各组中对应的第2*i+l个数据进行加权并累加。
12. 根据权利要求11所述的低功耗WOLA滤波器组,其特征在于,该分析阶段电路还包 括:分析电路第二寄存器和多路选择器,其中: 所述分析电路第二寄存器,与所述第二MAC单元相连接,用于暂存所述第二MAC单元的 运算结果; 所述多路选择器,与所述第一 MAC单元和所述分析电路第二寄存器相连接,用于将所 述第一 MAC单元和所述第二MAC单元的运算结果分两拍写入所述运算结果存储模块。
13. 根据权利要求8所述的低功耗WOLA滤波器组,其特征在于, 所述样本序列存储模块采用改变初始读/写操作地址和模寻址的方式,实现样本序列 的循环移位;和/或 所述运算结果存储模块采用改变初始读/写操作地址和模寻址的方式,实现加权累加 结果数据的缓存和循环移位。
14. 根据权利要求8所述的低功耗WOLA滤波器组,其特征在于, 所述分析窗系数获取模块,采用译码电路方式,用于对接收到的分析窗系数的地址,进 行译码得到对应的窗系数。
【文档编号】H04R25/00GK104349260SQ201410538439
【公开日】2015年2月11日 申请日期:2011年8月30日 优先权日:2011年8月30日
【发明者】于增辉, 黑勇, 周玉梅, 陈黎明, 徐欣锋 申请人:中国科学院微电子研究所