一种用数字电路实现的插值滤波器系统技术方案

技术编号:22648877 阅读:20 留言:0更新日期:2019-11-26 17:50
本发明专利技术一种用数字电路实现的插值滤波器系统,包括插值过滤运算控制器、级联驱动模块、中间结果缓存RAM和滤波系数存储ROM,插值过滤运算控制器包括级联的滤波器运算模块和主状态机,中间结果缓存RAM,用于存储插值滤波器系统的外部输入的数据和各级滤波器运算模块输出的中间结果;滤波系数存储ROM,用于存储各级滤波器运算模块计算所需的滤波系数;插值过滤运算控制器,用于在级联驱动模块输出的计数节拍的驱动下,控制主状态机选择中间结果缓存RAM或外部直接输入的数据送入级联的滤波器运算模块进行累加操作,也选择滤波系数存储ROM的滤波器系数进行乘法操作,经过级联的滤波器运算模块处理后得到插值滤波的目的。

An interpolation filter system realized by digital circuit

The invention relates to an interpolation filter system realized by a digital circuit, which comprises an interpolation filter operation controller, a cascade drive module, an intermediate result buffer RAM and a filter coefficient storage Rom. the interpolation filter operation controller comprises a cascade filter operation module and a main state machine, and an intermediate result buffer RAM, which is used to store the external input data of the interpolation filter system and filters at all levels The intermediate results of the output of the operation module; the filter coefficients are stored in ROM, which is used to store the filter coefficients needed by the calculation of the operation modules of the filters at all levels; the interpolation filter operation controller is used to control the main state machine to select the intermediate results cache RAM or the data directly input from the outside to send to the filter operation module of the cascade for accumulation operation under the drive of the counting beat output of the cascade drive module The filter coefficients of ROM are also selected for multiplication operation, and the purpose of interpolation filtering is obtained after being processed by the cascaded filter operation module.

【技术实现步骤摘要】
一种用数字电路实现的插值滤波器系统
本专利技术涉及用于Sigma-delta音频DAC的插值滤波器,具体涉及到一种用数字电路实现的插值滤波器系统。
技术介绍
插值滤波器被广泛应用在发射机,音频DAC等上变频系统中,用于提高输入信号的采样频率,滤除通带范围内噪声等作用,插值滤波器可由模拟电路或数字电路实现,数字电路实现可以克服模拟电路产生的电压、温度漂移和噪声等问题,且精确度高,具有稳定的线性相位。但是,现有插值滤波器的控制逻辑电路和运算逻辑电路大多是并行逻辑结构,包括比较大的寄存器阵列和复杂的流水线控制器,而且随着数字电路级数的增多,出现的延时越来越大,使得整个电路设计复杂,电路运行容易出现工作的故障,而且电路所属的芯片所占面积较大。
技术实现思路
为了解决上述技术缺陷,本专利技术采用状态机对级联的FIR插值滤波器进行建模并实现乘累加运算,结构简单,且整个系统模块采用1个时钟源,不涉及异步时钟信号,电路使用串行结构且状态机的使用让整个系统具有进一步优化的空间。具体技术方案如下:一种用数字电路实现的插值滤波器系统,包括插值过滤运算控制器、级联驱动模块、中间结果缓存RAM和滤波系数存储ROM,插值过滤运算控制器包括级联的滤波器运算模块和对应的主状态机,相应的,中间结果缓存RAM包括级联的RAM;其中:中间结果缓存RAM,用于存储插值滤波器系统的外部输入的数据和插值过滤运算控制器内部包括的各级滤波器运算模块计算的中间结果;滤波系数存储ROM,用于存储插值过滤运算控制器内部包括的各级滤波器运算模块计算所需的滤波系数;级联驱动模块包括用于控制插值过滤运算控制器读写中间结果缓存RAM和滤波系数存储ROM的计数器;插值过滤运算控制器,用于在级联驱动模块输出的计数节拍的驱动下,控制主状态机选择中间结果缓存RAM或外部直接输入的数据送入级联的滤波器运算模块进行累加操作,同时也控制主状态机选择滤波系数存储ROM的滤波器系数送入级联的滤波器运算模块进行乘法操作,经过级联的滤波器运算模块处理后得到插值滤波的目的。与现有技术相比,插值滤波器系统提供一种级联结构下的插值运算系统,基于状态机逻辑实现相乘累加运算及不同级运算模块之间的跳转,容易控制,性能可在一定范围内改善,灵活性较高。进一步地,所述插值过滤运算控制器包括n个级联的滤波器运算模块和对应的子状态机,分别等效于相应级联的半带滤波器,每一级的半带滤波器的输出结果都划分为奇数下标输出和偶数下标输出,是依据每一级的半带滤波器在所述级联驱动模块输出的计数节拍驱动下先后输出的,其中,偶数下标先从0开始,而奇数下标从1开始,按照先后输出的顺序由小到大进行标记;其中,所述主状态机包括n个子状态机;在所述级联驱动模块驱动配合主状态机完成以下功能:第一步,完成当前一级半带滤波器的工作,将需要保存的偶数下标的数据存放在所述中间结果缓存RAM相应的地址单元中,将需要保存的奇数下标输出的数据存放在当前一级半带滤波器内部相应的寄存器中;第二步,将当前一级半带滤波器的所有输出结果直接地或通过内部相应寄存器间接地输出至下一级半带滤波器中,然后,将下一级半带滤波器需要保存的偶数下标输出的数据存放在所述中间结果缓存RAM相应的地址单元中,将需要保存的奇数下标输出的数据存放在下一级半带滤波器内部相应的寄存器中;重复迭代第一步和第二步实现串行运算,直到第n级半带滤波器先后运算得到的2的n次幂个结果直接地或通过内部相应寄存器间接地输出至所述中间结果缓存RAM相应的地址单元中,作为所述插值过滤运算控制器的插值结果,n为大于或等于1的整数。与现有技术相比,该技术方案基于状态机实现一种级联半带滤波器的结构,逐步提高信号的采样率;同时通过将各级的半带滤波器划分为奇数下标输出支路和偶数下标输出支路,将每一级半带滤波器复用为与当前插值输出数目相匹配的子滤波器,节省硬件资源。进一步地,n设置为3,所述级联的滤波器运算模块包括第一级FIR运算模块、第二级FIR运算模块和第三级FIR运算模块,所述主状态机包括第一级FIR子状态机、第二级FIR子状态机和第三级FIR子状态机,所述插值过滤运算控制器还包括第一寄存器、第二寄存器、第三寄存器、第四寄存器、第五寄存器、第六寄存器和第七寄存器,所述中间结果缓存RAM具体包括第一级FIR的SRAM、第二级FIR的SRAM、第三级FIR的SRAM和1个最终结果SRAM;每一级的滤波器运算模块的输出都划分为奇数下标输出和偶数下标输出,是依据每一级的滤波器运算模块在所述级联驱动模块输出的计数节拍驱动下先后输出结果而确定的,其中,偶数下标先从0开始,而奇数下标从1开始,按照先后输出的顺序由小到大进行标记;在所述级联驱动模块配合主状态机的驱动控制前提下:所述插值滤波器系统的外部输入的待插值的数据x0直接或间接通过第一级FIR的SRAM持续输入第一级FIR运算模块的一个数据输入端,在第一级FIR子状态机的驱动控制作用下,第一级FIR运算模块插值处理外部输入的待插值的数据;第一级FIR运算模块的第一输出结果y1输出至第一寄存器,第一级FIR运算模块的第零输出结果y0输出至第二级FIR的SRAM,第一寄存器输出端连接至第二级FIR的SRAM的输入端;其中,第一级FIR运算模块的第一输出结果y1作为奇数下标输出,第一级FIR运算模块的第零输出结果y0作为偶数下标输出;在第二级FIR子状态机的驱动控制作用下,第二级FIR运算模块根据第一级FIR运算模块的第零输出结果y0运算产生第二级FIR运算模块的第零输出结果z0和第二级FIR运算模块的第一输出结果z1;第二级FIR运算模块的第零输出结果z0输出至第三级FIR的SRAM,第二级FIR运算模块的第一输出结果z1输出至第二寄存器,其中,第二级FIR运算模块的第一输出结果z1作为奇数下标输出,第二级FIR运算模块的第零输出结果z0作为偶数下标输出;在第三级FIR子状态机的驱动控制作用下,第三级FIR运算模块根据第二级FIR运算模块的第零输出结果z0运算产生第三级FIR运算模块的第零输出结果p0和第三级FIR运算模块的第一输出结果p1;第三级FIR运算模块的第零输出结果p0输出至最终结果SRAM,第三级FIR运算模块的第一输出结果p1输出至第三寄存器,第三寄存器再将第三级FIR运算模块的第一输出结果p1输出至最终结果SRAM,其中,第三级FIR运算模块的第一输出结果p1作为奇数下标输出,第三级FIR运算模块的第零输出结果p0作为偶数下标输出;第二寄存器输出第二级FIR运算模块的第一输出结果z1至第三级FIR运算模块,在第三级FIR子状态机的驱动控制作用下,第三级FIR运算模块根据第二级FIR运算模块的第一输出结果z1运算产生第三级FIR运算模块的第二输出结果p2和第三级FIR运算模块的第三输出结果p3;第三级FIR运算模块的第二输出结果p2输出至最终结果SRAM,第三级FIR运算模块的第三输出结果p3输出至第四寄存器,第四寄存器再将第三级FIR运算模块的第三输出结果p3输出至最终结果SRAM,其中,第三级FIR运算模块的第三输出结果p3作为奇数下标输出,第三级FIR运算模本文档来自技高网...

【技术保护点】
1.一种用数字电路实现的插值滤波器系统,其特征在于,该插值滤波器系统包括插值过滤运算控制器、级联驱动模块、中间结果缓存RAM和滤波系数存储ROM,插值过滤运算控制器包括级联的滤波器运算模块和一个主状态机,其中:/n中间结果缓存RAM,用于存储插值滤波器系统的外部输入的数据和插值过滤运算控制器内部包括的各级滤波器运算模块计算输出的中间结果;/n滤波系数存储ROM,用于存储插值过滤运算控制器内部包括的各级滤波器运算模块计算所需的滤波系数;/n级联驱动模块包括用于控制插值过滤运算控制器读写中间结果缓存RAM和滤波系数存储ROM的一个计数器;/n插值过滤运算控制器,用于在级联驱动模块输出的计数节拍的驱动下,控制主状态机选择中间结果缓存RAM或外部直接输入的数据送入级联的滤波器运算模块进行累加操作,同时也控制主状态机选择滤波系数存储ROM的滤波器系数送入级联的滤波器运算模块进行乘法操作,经过级联的滤波器运算模块处理后得到插值滤波的目的。/n

【技术特征摘要】
1.一种用数字电路实现的插值滤波器系统,其特征在于,该插值滤波器系统包括插值过滤运算控制器、级联驱动模块、中间结果缓存RAM和滤波系数存储ROM,插值过滤运算控制器包括级联的滤波器运算模块和一个主状态机,其中:
中间结果缓存RAM,用于存储插值滤波器系统的外部输入的数据和插值过滤运算控制器内部包括的各级滤波器运算模块计算输出的中间结果;
滤波系数存储ROM,用于存储插值过滤运算控制器内部包括的各级滤波器运算模块计算所需的滤波系数;
级联驱动模块包括用于控制插值过滤运算控制器读写中间结果缓存RAM和滤波系数存储ROM的一个计数器;
插值过滤运算控制器,用于在级联驱动模块输出的计数节拍的驱动下,控制主状态机选择中间结果缓存RAM或外部直接输入的数据送入级联的滤波器运算模块进行累加操作,同时也控制主状态机选择滤波系数存储ROM的滤波器系数送入级联的滤波器运算模块进行乘法操作,经过级联的滤波器运算模块处理后得到插值滤波的目的。


2.根据权利要求1所述插值滤波器系统,其特征在于,所述插值过滤运算控制器包括n个级联的滤波器运算模块和对应的子状态机,分别等效于相应级联的半带滤波器,每一级的半带滤波器的输出结果都划分为奇数下标输出和偶数下标输出,是依据每一级的半带滤波器在所述级联驱动模块输出的计数节拍驱动下先后输出的,其中,偶数下标先从0开始,而奇数下标从1开始,按照先后输出的顺序由小到大进行标记;其中,所述主状态机包括n个子状态机;
在所述级联驱动模块驱动配合主状态机完成以下功能:
第一步,完成当前一级半带滤波器的工作,将需要保存的偶数下标的数据存放在所述中间结果缓存RAM相应的地址单元中,将需要保存的奇数下标输出的数据存放在当前一级半带滤波器内部相应的寄存器中;
第二步,将当前一级半带滤波器的所有输出结果直接地或通过内部相应寄存器间接地输出至下一级半带滤波器中,然后,将下一级半带滤波器需要保存的偶数下标输出的数据存放在所述中间结果缓存RAM相应的地址单元中,将需要保存的奇数下标输出的数据存放在下一级半带滤波器内部相应的寄存器中;
重复迭代第一步和第二步实现串行运算,直到第n级半带滤波器先后运算得到的2的n次幂个结果直接地或通过内部相应寄存器间接地输出至所述中间结果缓存RAM相应的地址单元中,作为所述插值过滤运算控制器的插值结果,n为大于或等于1的整数。


3.根据权利要求2所述插值滤波器系统,其特征在于,n设置为3,所述级联的滤波器运算模块包括第一级FIR运算模块、第二级FIR运算模块和第三级FIR运算模块,所述主状态机包括第一级FIR子状态机、第二级FIR子状态机和第三级FIR子状态机,所述插值过滤运算控制器还包括第一寄存器、第二寄存器、第三寄存器、第四寄存器、第五寄存器、第六寄存器和第七寄存器,所述中间结果缓存RAM具体包括第一级FIR的SRAM、第二级FIR的SRAM、第三级FIR的SRAM和1个最终结果SRAM;
每一级的滤波器运算模块的输出都划分为奇数下标输出和偶数下标输出,是依据每一级的滤波器运算模块在所述级联驱动模块输出的计数节拍驱动下先后输出顺序而确定的,其中,偶数下标先从0开始,而奇数下标从1开始,按照先后输出的顺序由小到大进行标记;
在所述级联驱动模块配合主状态机的驱动控制前提下:
所述插值滤波器系统的外部输入的待插值的数据(x0)直接或间接通过第一级FIR的SRAM持续输入第一级FIR运算模块的一个数据输入端,在第一级FIR子状态机的驱动选择作用下,结合从所述滤波系数存储ROM读取的相匹配的滤波系数,第一级FIR运算模块插值处理外部输入的待插值的数据;第一级FIR运算模块的第一输出结果(y1)输出至第一寄存器,第一级FIR运算模块的第零输出结果(y0)输出至第二级FIR的SRAM;其中,第一级FIR运算模块的第一输出结果(y1)作为奇数下标输出,第一级FIR运算模块的第零输出结果(y0)作为偶数下标输出;
在第二级FIR子状态机的驱动选择作用下,第二级FIR运算模块根据第一级FIR运算模块的第零输出结果(y0),结合从所述滤波系数存储ROM读取的相匹配的滤波系数,运算产生第二级FIR运算模块的第零输出结果(z0)和第二级FIR运算模块的第一输出结果(z1);第二级FIR运算模块的第零输出结果(z0)输出至第三级FIR的SRAM,第二级FIR运算模块的第一输出结果(z1)输出至第二寄存器,其中,第二级FIR运算模块的第一输出结果(z1)作为奇数下标输出,第二级FIR运算模块的第零输出结果(z0)作为偶数下标输出;
在第三级FIR子状态机的驱动选择作用下,第三级FIR运算模块根据第二级FIR运算模块的第零输出结果(z0),结合从所述滤波系数存储ROM读取的相匹配的滤波系数,运算产生第三级FIR运算模块的第零输出结果(p0)和第三级FIR运算模块的第一输出结果(p1);第三级FIR运算模块的第零输出结果(p0)输出至最终结果SRAM,第三级FIR运算模块的第一输出结果(p1)输出至第三寄存器,第三寄存器再将第三级FIR运算模块的第一输出结果(p1)输出至最终结果SRAM,其中,第三级FIR运算模块的第一输出结果(p1)作为奇数下标输出,第三级FIR运算模块的第零输出结果(p0)作为偶数下标输出;
第二寄存器输出第二级FIR运算模块的第一输出结果(z1)至第三级FIR运算模块,在第三级FIR子状态机的驱动选择作用下,第三级FIR运算模块根据第二级FIR运算模块的第一输出结果(z1),结合从所述滤波系数存储ROM读取的相匹配的滤...

【专利技术属性】
技术研发人员:王莉莉
申请(专利权)人:珠海市一微半导体有限公司
类型:发明
国别省市:广东;44

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

1