CN118353420A - 一种可编程数字抽取滤波器及模数转换器 - Google Patents
一种可编程数字抽取滤波器及模数转换器 Download PDFInfo
- Publication number
- CN118353420A CN118353420A CN202410494122.4A CN202410494122A CN118353420A CN 118353420 A CN118353420 A CN 118353420A CN 202410494122 A CN202410494122 A CN 202410494122A CN 118353420 A CN118353420 A CN 118353420A
- Authority
- CN
- China
- Prior art keywords
- data
- filter
- output
- calculation
- coefficient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 108
- 238000000605 extraction Methods 0.000 claims abstract description 73
- 238000001914 filtration Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000009825 accumulation Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 13
- 230000007704 transition Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 6
- 238000013075 data extraction Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 39
- 230000004044 response Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005191 phase separation Methods 0.000 description 1
Abstract
本申请提供一种可编程数字抽取滤波器及模数转换器,该数字抽取滤波器包括控制模块、系数产生模块及数据计算模块,通过控制模块获取数字抽取滤波器的配置信息,并根据配置信息产生对应的时钟信号和控制信号,配置信息包括抽取倍数、滤波计算关系及滤波阶数;系数产生模块根据控制信号产生与滤波阶数对应的滤波系数;通过控制模块和系数产生模块实现数据抽取滤波器的滤波计算关系、抽取倍数、滤波阶数和滤波系数的可编程设计,数字滤波器处理更多种类的信号,应用于更广泛的场所,数据计算模块根据时钟信号和控制信号将输入数据与滤波系数进行卷积计算和抽取处理,以得到输出数据;根据数据滤波计算关系和抽取倍数简化卷积计算,提高滤波效率。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种可编程数字抽取滤波器及模数转换器。
背景技术
数字抽取滤波器在模拟数字转换器(Sigma-Delta ADC)中占据着十分重要的地位。在数模转化过程中,模拟信号在经过Sigma-Delta调制器的调制后,会产生“0”和“1”组成的数字码流。由于过采样的影响,这些Sigma-Delta调制器产生的数字码流的频率非常高,与此同时,信号的高频处有着巨大的量化噪声。因此数字抽取滤波器在Sigma-DeltaADC中发挥的主要作用就是恢复数据速率至奈奎斯特频率,并且滤除掉高频处的量化噪声。
通常在下变频电路中所使用的数字抽取滤波器为固定阶数且固定抽取倍数,而数字抽取滤波器的阶数决定了其滤波器的频率响应,阶数越高,其频率响应越陡峭,对应的滚降系数越小,对应的过渡带宽越窄,滤波器会对截止频率内的有效信号幅值特征保留得更完整,对截止频率外的噪声衰减更加迅速,与此同时,阶数越高会使得滤波器的卷积计算更加复杂,耗费的时间更长;因此在使用时,对于不同信号无法采用不同的阶数的滤波器进行滤波,这种滤波器具有一定的局限性,无法满足多样性的滤波需求。
因此,如何提供一种可配置滤波信息的数字抽取滤波器,是目前亟需解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种可编程数字抽取滤波器及模数转换器,以解决上述技术问题中的至少之一。
为达到上述目的及其他相关目的,本申请提供的技术方案如下。
根据本申请实施例的一个方面,提供了一种可编程数字抽取滤波器,包括:
控制模块,用于获取抽取倍数、滤波阶数、滤波计算关系,根据所述抽取倍数和所述滤波阶数产生对应波形的时钟信号,并根据所述滤波计算关系和所述滤波阶数产生控制信号,其中所述滤波计算关系包括线性和非线性;
系数产生模块,用于基于所述控制信号产生与所述滤波阶数对应的滤波系数;
数据计算模块,用于基于所述时钟信号和所述控制信号将输入数据与所述滤波系数进行卷积及抽取处理,得到输出数据。
于本发明的一实施例中,所述控制模块包括:所述时钟信号产生单元,用于根据所述抽取倍数产生对应倍数的第一时钟信号,以及根据所述抽取倍数和所述滤波阶数产生对应阶数的第二时钟信号;所述控制信号产生单元,用于根据所述滤波计算关系产生第一控制信号,以及根据所述滤波阶数产生第二控制信号;其中,所述时钟信号包括所述第一时钟信号和所述第二时钟信号,所述控制信号包括所述第一控制信号和所述第二控制信号。
于本发明的一实施例中,所述系数产生模块包括:地址译码单元,用于获取多个地址参数,对多个所述地址参数进行译码,得到多个存储地址,并产生与多个所述存储地址对应的写入使能信号;系数存储单元,用于获取多个待拼接数据,并根据所述写入使能信号将所述待拼接数据存储至对应的存储地址;系数输出单元,用于将多个所述待拼接数据进行两两拼接,得到多个所述滤波系数,并根据所述控制信号控制多个所述滤波系数的输出,其中,所述系数信息包括所述地址参数和所述待拼接数据。
于本发明的一实施例中,所述系数输出单元包括:拼接子单元,用于将第2n-1个待拼接数据作为第n个滤波系数的低八位,将第2n个待拼接数据作为第n个滤波系数的高八位;得到第n个滤波系数;其中,n为正整数,n≥1。
于本发明的一实施例中,所述系数输出单元还包括:系数确定子单元,用于基于所述第一控制信号确定多个所述滤波系数的对称情况,并根据所述对称情况及所述第二控制信号确定计算时滤波系数的个数;输出控制子单元,用于根据计算时滤波系数的个数与所述系数输出单元的预设输出个数确定输出情况。
于本发明的一实施例中,所述输出控制子单元包括:第一输出组件,用于当计算时滤波系数小于或等于所述预设输出个数时,将多个计算时滤波系数一次输出;依次进行延时输出;第二输出组件,用于当计算时滤波系数大于所述预设输出个数时,将多个计算时滤波系数进行延时分次输出。
于本发明的一实施例中,所述数据计算模块包括:数据处理单元,用于获取所述输入数据,并根据所述时钟信号及所述控制信号对所述输入数据进行抽取、延时及选择输出处理,得到多个过渡数据;数据计算单元,用于将多个所述过渡数据与多个所述滤波系数进行卷积计算,得到所述输出数据。
于本发明的一实施例中,所述数据处理单元包括:抽取子单元,用于根据所述第一时钟信号对所述输入数据进行采样,得到多个分相数据;第一延时子单元,用于基于所述第二时钟信号对多个所述分相数据进行延时处理,得到多个待滤波数据;选择子单元,用于根据所述第一控制信号将多个所述待滤波数据进行分相输出,得到第一相数据和第二相数据,并根据所述第二控制信号控制所述第一相数据和所述第二相数据的输出。
于本发明的一实施例中,所述数据计算单元包括:第二延时子单元,用于对多个所述滤波系数进行延时;计算子单元,用于将所述第一相数据和所述第二相数据相加后与多个所述滤波数据进行乘积计算,得到多个中间求和数据;累加子单元,用于对多个所述中间求和数据进行累加,得到所述输出数据。
根据本申请实施例的另一个方面,本申请还提供一种模数转换器,该模数转换器包括如前所描述的可编程数字抽取滤波器,当模数转换器工作时,通过所述可编程数字抽取滤波器调节数据频率。
本申请提供一种可编程数字抽取滤波器及模数转换器,该数字抽取滤波器包括控制模块、系数产生模块及数据计算模块,通过控制模块获取数字抽取滤波器的配置信息,并根据配置信息产生对应的时钟信号和控制信号,配置信息包括抽取倍数、滤波计算关系(线性和非线性)及滤波阶数;系数产生模块根据控制信号产生与滤波阶数对应的滤波系数;通过控制模块和系数产生模块实现数据抽取滤波器的滤波计算关系、抽取倍数、滤波阶数和滤波系数的可编程设计,数字滤波器处理更多种类的信号,应用于更广泛的场所,数据计算模块根据时钟信号和控制信号将输入数据与滤波系数进行卷积计算和抽取处理,以得到输出数据;根据数据滤波计算关系和抽取倍数简化卷积计算,提高滤波效率。
附图说明
图1是本发明的一示例性实施例示出的可编程数字抽取滤波器的框图;
图2是本发明的一示例性实施例示出的系数产生模块的框图;
图3是本发明的一示例性实施例示出的系数存储单元写入的时序图;
图4是本发明的一示例性实施例示出的数字抽取滤波器为线性24阶时系数输出单元的时序图;
图5是本发明的一示例性实施例示出的数字抽取滤波器为非线性48阶时系数输出单元的时序图;
图6是本发明的一示例性实施例示出的数字抽取滤波器为非线性72阶时系数输出单元的时序图;
图7是本发明的一示例性实施例示出的数据计算模块的框图;
图8是本发明的一示例性实施例示出的抽取子单元分相的时序图;
图9是本发明的一示例性实施例示出的第一延时子单元的采样时序图;
图10是本发明的一示例性实施例示出的数字抽取滤波器为72阶四倍抽取时第一延时子单元输出的时序图;
图11是本发明的一示例性实施例示出的数字抽取滤波器为线性24阶二倍抽取时选择子单元输出的时序图;
图12是本发明的一示例性实施例示出的数字抽取滤波器为非线性24阶二倍抽取时选择子单元输出的时序图;
图13是本发明的一示例性实施例示出的数字抽取滤波器为线性48阶二倍抽取时选择子单元输出的时序图;
图14是本发明的一示例性实施例示出的数字抽取滤波器为非线性48阶二倍抽取时选择子单元输出的时序图;
图15是本发明的一示例性实施例示出的数字抽取滤波器为线性72阶二倍抽取时选择子单元输出的时序图;
图16是本发明的一示例性实施例示出的数字抽取滤波器为非线性72阶二倍抽取时选择子单元输出的时序图;
图17是本发明的一示例性实施例示出的数字抽取滤波器为非线性72阶二倍抽取时计算子单元输出的时序图;
图18是本发明的一示例性实施例示出的数字抽取滤波器为线性72阶二倍抽取时累加子单元输出的时序图;
图19是本发明的一示例性实施例示出的数字抽取滤波器为非线性72阶二倍抽取时累加子单元输出的时序图;
图20是本发明的一示例性实施例示出的数字抽取滤波器为线性48阶二倍抽取时累加子单元输出的时序图;
图21是本发明的一示例性实施例示出的数字抽取滤波器为非线性48阶二倍抽取时累加子单元输出的时序图;
图22是本发明的一示例性实施例示出的数字抽取滤波器为线性24阶二倍抽取时累加子单元输出的时序图;
图23是本发明的一示例性实施例示出的数字抽取滤波器为非线性24阶二倍抽取时累加子单元输出的时序图;
图24是本发明的一示例性实施例示出的数字抽取滤波器为24阶时系数幅频响应图;
图25是本发明的一示例性实施例示出的数字抽取滤波器为24阶一倍时输入输出信号频谱图;
图26是本发明的一示例性实施例示出的数字抽取滤波器为48阶时系数幅频响应图;
图27是本发明的一示例性实施例示出的数字抽取滤波器为48阶二倍时输入输出信号频谱图;
图28是本发明的一示例性实施例示出的数字抽取滤波器为72阶时系数幅频响应图;
图29是本发明的一示例性实施例示出的数字抽取滤波器为72阶四倍时输入输出信号频谱图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
奈奎斯特频率(Nyquist frequency)是为防止信号混叠需要定义最小采样频率。
发明人研究发现,数字抽取滤波器在模拟数字转换器(Sigma-Delta ADC)中占据着十分重要的地位。在数模转化过程中,模拟信号在经过Sigma-Delta调制器的调制后,会产生“0”和“1”组成的数字码流。由于过采样的影响,这些Sigma-Delta调制器产生的数字码流的频率非常高,与此同时,信号的高频处有着巨大的量化噪声。因此数字抽取滤波器在Sigma-Delta ADC中发挥的主要作用就是恢复数据速率至奈奎斯特频率,并且滤除掉高频处的量化噪声。
通常在下变频电路中所使用的数字抽取滤波器为固定阶数且固定抽取倍数,而数字抽取滤波器的阶数决定了其滤波器的频率响应,阶数越高,其频率响应越陡峭,对应的滚降系数越小,对应的过渡带宽越窄,滤波器会对截止频率内的有效信号幅值特征保留得更完整,对截止频率外的噪声衰减更加迅速,与此同时,阶数越高会使得滤波器的卷积计算更加复杂,耗费的时间更长;因此在使用时,对于不同信号无法采用不同的阶数的滤波器进行滤波,这种滤波器具有一定的局限性,无法满足多样性的滤波需求。
如图1所示,本申请提供一种可编程数字抽取滤波器,包括:
控制模块,用于获取抽取倍数、滤波阶数、滤波计算关系,根据抽取倍数和滤波阶数产生对应波形的时钟信号,并根据滤波计算关系和滤波阶数产生控制信号,其中滤波计算关系包括线性和非线性;
系数产生模块,用于根据控制信号和系数信息产生与滤波阶数对应的滤波系数;
数据计算模块,用于基于时钟信号和控制信号将输入数据Data_in与滤波系数进行卷积及抽取处理,得到输出数据Data_out。
详细地,控制模块包括:时钟信号产生单元,用于根据抽取倍数产生对应倍数的第一时钟信号,以及根据抽取倍数和滤波阶数产生对应的第二时钟信号;控制信号产生单元,用于根据滤波计算关系产生第一控制信号,以及根据滤波阶数产生第二控制信号;其中,时钟信号包括第一时钟信号和第二时钟信号,控制信号包括第一控制信号和第二控制信号。
具体地,时钟信号产生单元用于根据抽取倍数产生对应的第一时钟信号,当抽取倍数为1倍,产生1倍第一时钟信号,在同一上升沿时刻对外输出一个分相数据,当抽取倍数为2倍,产生2倍第一时钟信号,在同一上升沿时刻对外输出两个分相数据,当抽取倍数为4倍,产生4倍第一时钟信号,在同一上升沿时刻对外输出四个分相数据。
根据抽取倍数和滤波阶数产生对应的第二时钟信号,若数字抽取滤波器为72阶四倍抽取,产生72阶四倍的第二时钟信号,在同一时刻得到72个待滤波数据;若数字抽取滤波器为72阶二倍抽取,产生72阶二倍对应的时钟信号,在同一时刻得到72个待滤波数据;若数字抽取滤波器为48阶二倍抽取,产生48阶二倍对应的时钟信号,在同一时刻得到48个待滤波数据。
根据滤波计算关系产生第一控制信号,当滤波器的滤波计算关系为非线性时,第一控制信号为低电平,当滤波器的滤波计算关系为线性时,第一控制信号为高电平;根据滤波阶数产生第二控制信号,第二控制信号用于控制数据的输出方式。
详细地,系数产生模块包括:地址译码单元,用于获取多个地址参数,对多个地址参数进行译码,得到多个存储地址,并产生与多个存储地址对应的写入使能信号;系数存储单元,用于获取多个待拼接数据,并根据写入使能信号将待拼接数据存储至对应的存储地址;系数输出单元,用于将多个待拼接数据进行两两拼接,得到多个滤波系数,并根据控制信号控制多个滤波系数的输出;其中,所述系数信息包括所述地址参数和所述待拼接数据。
如图2所示,系数产生模块包括地址译码单元、系数存储单元和系数输出单元,系数信息可通过外设接口进行输入,例如:键盘,光笔,手写板等。结合图2和图3,通过地址译码单元先获取外设接口输入第一个地址参数Addr[7:0]为1,并对该地址参数Addr[7:0]进行译码,得到第一个存储地址COEF1,在译码时的同时产生与第一个存储地址COEF1对应的写入使能信号EN1。系数存储单元获取外设接口输入的第一个待拼接数据m1,通过第一使能信号EN1将第一个待拼接数据m1存储至第一个存储地址COEF1;如图3所示,通过相同的方式,依次将多个待拼接数据(m1、m2、m3……)存储至数据存储模块中对应的存储地址(COEF1、COEF2、COEF3……)。系数输出单元将多个待拼接数据中的两个待拼接数据拼接为一个滤波系数,得到多个滤波系数,并根据控制信号控制多个滤波系数的对外输出。
更详细地,系数输出单元包括:拼接子单元,用于将第2n-1个待拼接数据作为第n个滤波系数的低八位,将第2n个待拼接数据作为第n个滤波系数hn的高八位,得到第n个滤波系数hn;其中,n为正整数,n≥1。具体的,将两个待拼接数据组合成一个滤波系数的组合方式为:将第一个待拼接数据m1作为第一个滤波系数的低八位,第二个待拼接数据m2作为第一个滤波系数的高八位,第三个待拼接数据m3作为第二个滤波系数的低八位,第四个待拼接数据m4作为第二个滤波系数的高八位,依次对多个待拼接数据进行拼接,得到多个滤波系数,整体来说,就是将第2n-1个待拼接数据作为第n个滤波系数的低八位,将第2n个待拼接数据作为第n个滤波系数的高八位,以此得到多个滤波系数(h1、h2、h3……)。
更详细地,所述系数输出单元还包括:基于第一控制信号确定多个滤波系数的对称情况,并根据对称情况及第二控制信号确定计算时滤波系数的个数;输出控制子单元,用于根据计算时滤波系数的个数与系数输出单元的预设输出个数确定输出情况。
具体地,因第一控制信号是根据滤波计算关系确定的,当滤波计算关系为线性,则表示线性相位的系数具有对称性,第一控制信号为高电平,通过高电平确定多个滤波系数是对称的;当滤波计算关系为非线性,第一控制信号为低电平,则表示线性相位的系数不对称,通过低电平确定多个系数不对称。因第二控制信号是根据滤波阶数确定的,即表示在计算时,需要计算的次数,根据滤波系数的对称情况和第二控制信号确定系数输出单元对外输出不相同滤波系数的个数;基于不相同滤波系数的个数和系数输出单元的预设输出个数确定输出情况。
例如,数字滤波器的配置包括:线性相位24阶、线性相位48阶、线性相位72阶、非线性相位24阶、非线性相位48阶、非线性相位72阶,但不限于此。若数字滤波器的配置为线性相位24阶,第一控制信号为高电平,第二控制信号表示需要计算24次,因对称的关系,系数输出单元对外输出计算时滤波系数的个数为12个;若数字滤波器的配置为非线性相位24阶,第一控制信号为低电平,第二控制信号表示需要计算24次,因非对称的关系,系数输出单元对外输出计算时滤波系数的个数为24个;同理可得,数字滤波系数的配置为线性相位48阶,系数输出单元对外输出计算时滤波系数的个数为24个;数字滤波系数的配置为非线性相位48阶,系数输出单元对外输出计算时滤波系数的个数为48个;数字滤波系数的配置为线性相位72阶,系数输出单元对外输出计算时滤波系数的个数为36个;数字滤波系数的配置为非线性相位72阶,系数输出单元对外输出计算时滤波系数的个数为72个。
更详细地,输出控制子单元包括:第一输出组件,用于当计算时滤波系数小于或等于预设输出个数时,将多个计算时滤波系数一次输出;第二输出组件,用于当计算时滤波系数大于预设输出个数时,将多个计算时滤波系数进行延时分次输出。
具体地,若系数输出单元的预设输出个数为24个,如图4所示,线性相位24阶、线性相位48阶的计算时滤波系数小于或等于预设输出个数,如图4所示,可将多个不同的滤波系数一次输出,需要说明的是,线性相位24阶对应的系数输出单元对外输出计算时滤波系数的个数为12个,可以通过预设输出单元的进行一次正序输出24个滤波系数,在计算时只使用前12个滤波系数即可,也可以只在系数输出单元的前12个输出接口正序输出12个计算时滤波系数,后12个滤波系数为零;如图4所示,线性相位48阶对应的系数输出单元外输出计算时滤波系数的个数为24个,通过预设输出单元的一次正序输出24个计算时滤波系数;非线性相位24阶对应的系数输出单元对外输出计算时滤波系数的个数为24个,可通过预设输出单元的一次倒序输出24个计算时滤波系数;。
如图5-6所示,非线性相位48阶、线性相位72阶、非线性相位72阶的计算时滤波系数大于预设输出个数,非线性相位48阶对应的系数输出单元对外输出计算时滤波系数的个数为48个,需要分两次输出,经过1次处延时理,将48个系数依次倒序输出;如图5所示,线性相位72阶对应的系数输出单元对外输出计算时滤波系数的个数为36个,也需要分两次输出,经过一次延时处理,因只有36个数据,第37个滤波数据至第48个滤波数据为零;如图6所示,非线性相位72阶对应的系数输出单元对外输出计算时滤波系数的个数为72个,需要分3次输出,经过两次延时处理,将72个滤波系数依次倒序输出。需要说明的是,滤波计算关系为线性,滤波系数的输出为正序输出,滤波计算关系为非线性,滤波系数的输出为倒序输出。
详细地,数据计算模块包括:数据处理单元,用于获取输入数据,并根据时钟信号及控制信号对输入数据进行抽取、延时及选择输出处理,得到多个过渡数据;数据计算单元,用于将多个过渡数据与多个滤波系数进行卷积计算,得到输出数据。具体的,如图7所示,数据计算模块包括数据处理单元和数据计算单元,通过数据处理单元对输入数据Data_in进行倍数抽取、延时处理及选择输出,以得到多个过渡数据,通过数据计算单元将多个过渡数据和对应的滤波系数进行卷积计算,得到输出数据Data_out。
更详细地,数据处理单元包括:抽取子单元,用于根据第一时钟信号对输入数据进行采样处理,得到多个分相数据;第一延时子单元,用于基于第二时钟信号对多个分相数据进行延时处理,得到多个待滤波数据;选择子单元,用于根据第一控制信号将多个待滤波数据进行分相输出,得到第一相数据和第二相数据,并根据第二控制信号控制第一相数据和第二相数据的输出。
具体地,抽取子单元根据第一时钟信号对输入数据进行采样,以便在后续计算中,同一时钟上升沿,可以采样到多个分相数据,如图8所示,数字抽取滤波器为一倍抽取时,抽取子单元进行一次采样,输出一相数据Q1;数字抽取滤波器为二倍抽取时,抽取子单元进行二次采样,输出二相数据Q1、Q2;数字抽取滤波器为四倍抽取时,抽取子单元进行四次采样,输出四相数据Q1、Q2、Q3、Q4。
通过第一延时子单元基于第二时钟信号对多个分相数据进行延时处理,以得到多个待滤波数据;第一延时子单元先对抽取子单元输出的多相数据进行采样,如图9所示,当数字抽取滤波器为四倍抽取时,产生一个时钟信号CLK_div4,该时钟信号为输入数据的时钟信号的四分频时钟,采样得到四相数据Q1、Q2、Q3、Q4;当数字抽取滤波器为二倍抽取时,产生的时钟信号为输入数据的时钟信号的二分频时钟,采样得到二相数据Q1、Q2;当数字抽取滤波器为一倍抽取时,产生的时钟信号为输入数据的时钟信号,采样得到一相数据Q1;二倍抽取与一倍抽取的时序图类比四倍抽取即可,不再赘述。
第一延时子单元对采样得到的数据进行延时处理,产生与滤波阶数相对应的数据,如图10所示,若数字抽取滤波器为72阶四倍抽取,则需要将四相数据延时18次,在同一时刻得到72个待滤波数据;若数字抽取滤波器为72阶二倍抽取,则需要将二相数据延时36次,在同一时刻得到72个待滤波数据;若数字抽取滤波器为48阶二倍抽取,则需要将二相数据延时24次,在同一时刻得到48个待滤波数据;数字滤波器的其他配置与上述处理原理相同,在此不再赘述。
选择子单元,用于根据第一控制信号将多个待滤波数据进行分相输出,得到第一相数据和第二相数据。当第一控制信号为高电平时,表示数字滤波器是线性的,滤波系数是对称的,在进行计算时,将第一个待滤波数据与最后一个滤波数据进行相加之后再乘以第一个滤波系数,将第二个待滤波数据与倒数第二个滤波数据进行相加之后再乘以第二个滤波系数,以此类推;为减少运算过程,将多个待滤波数据分为两相输出数据,当第一控制信号为高电平时,第一相数据Z0_j正序输出,第二相数据Z1_j倒序输出。当第一控制信号为低电平时,表示数字滤波器是非线性的,不具有对称性,第一相数据Z0_j倒序输出,第二相数据Z1_j为零,其中,j为正整数,j≤n。
需要说明的是,第一相数据的端口和第二相数据的端口对外最多输出24个数据,共48个数据。
具体地,当数字滤波器的配置信息为24阶二倍抽取线性时,选择子单元的相位时序图如下图11所示,由于线性相位的系数对称性关系,Z0_j正序输出前12个数据,Z1_j倒序输出后12个数据,其余数据为0,此时的时钟为原数据时钟二分频时钟CLK_div2,一次计算后即可完成两倍抽取。当数字滤波器的配置信息为24阶二倍抽取非线性时,选择子单元的相位时序图如下图12所示,24个数据从Z0_j一次倒序输出,此时的时钟为原数据时钟二分频时钟CLK_div2,一次计算后即可完成两倍抽取。
具体地,当数字滤波器的配置信息为48阶二倍抽取线性时,选择子单元的相位时序图如下图13所示,由于线性相位的系数对称性关系需要将第一相数据Z0_j的24个数据与第二相数据Z1_j的24个数据相加,每相数据每次输出24个数据,因此只需要一次输出即可,此时的时钟为原数据时钟的二分频时钟CLK_div2,一次计算后即可完成两倍抽取。当数字滤波器的配置信息为48阶二倍抽取非线性时,选择子单元的相位时序图如下图14所示,数据需要两次倒序输出,此时的时钟为原数据时钟CLK,在后续累加模块中将两次结果累加,即可完成二倍抽取。
具体地,当数字滤波器的配置信息为72阶二倍抽取线性时,选择子单元的相位时序图如下图15所示,计算时需要72个数据,由于线性相位的系数对称性关系需要将Z0_j输出的36个数据与Z1_j输出的36个数据相加,因此需要分两次输出数据,第二次数据输出时为12个数据加上12个0,此时的时钟为原数据时钟CLK,以保证后续的累加模块中两次累加输出的结果正好可以实现二倍抽取。当数字滤波器的配置信息为72阶二倍抽取非线性相位时,选择子单元的时序图如下图16所示,此时由于需要将全部数据都输出,每次输出24个数据,即需要三次倒叙输出,但由于同时需要完成抽取功能,三次计算再累加无法实现偶数倍抽取功能,因此选择将数据多输出一次,系数也同样多输出一次,但是再累加结果时,只选择三次结果累加即可,此时的时钟为原数据时钟的2倍,时钟信号为CLK_mul2,在四个2倍频CLK_mul2时钟累加下输出的结果,正好也可以完成二倍抽取。图16显示的时钟信号,为72阶二倍抽取非线性数字滤波器中抽取单元输出的一个周期。
更详细地,数据计算单元包括:第二延时子单元,用于对多个滤波系数进行延时;计算子单元,用于将第一相数据和第二相数据相加后与多个滤波数据进行乘积计算,得到多个中间求和数据;累加子单元,用于对多个中间求和数据进行累加,得到输出数据。
具体地,如图7所示,数据计算单元包括第二延时子单元、计算子单元及累加子单元;首先通过第二延时子单元将多个滤波数据进行延时,以保证多个滤波系数与多个待滤波数据计算时的时序一致。计算子单元将选择子单元输出的第一相数据Z0_j与选择子单元输出的第二相数据Z1_j进行相加,再相乘,得到多个中间求和数据;通过累加子单元将多个中间求和数据进行累加;以得到输出数据Data_out。
在配置为非线性相位滤波器时,Z1_j为0,Z0_j为数据,两者相加仍为Z0的数据,不影响后续计算结果。但Z0_j为倒序输出,但该模块在配置为72阶非线性相位的模式下,其对应的输入输出时序图如下图17所示,其主要目的是为了让数据时序与系数时序对齐,便于后续的计算。
需要强调的是,当数字滤波器的配置信息为72阶二倍抽取线性相位滤波器时,其输出结果需要两次计算的结果累加,其对应的时序图如下图18所示,SUM_j是中间求和数据,TEMP是中间累加数据,其数据时钟为原始时钟,最终的输出时钟为原始时钟的二分频时钟,并且二分频时钟所采样的数据正好为累加和的数据,完成了二倍抽取的功能。当数字滤波器的配置信息为72阶二倍抽取非线性相位滤波器时,其输出结果需要三次计算的结果累加,其对应的时序图如下图19所示,此时的数据时钟为原始时钟的二倍频时钟,输出时钟为该二倍频时钟的四分频时钟,即原始时钟的二分频时钟,因此完成了二倍抽取的功能。除此之外,虽然最终结果需要三次计算的结果累加,但由于系数和数据的特殊时序,使得每一次的输出时钟的上升沿都可以将最终的累加结果采样到并输出,其中,j的取值为正整数。
当数字滤波器的配置信息为48阶二倍抽取线性相位滤波器时,其输出结果需要一次计算的结果累加,其对应的时序图如下图20所示,此时的数据时钟为原始时钟的二分频时钟,输出时钟也同样为该二分频时钟,实现了二倍抽取的功能。当数字滤波器的配置信息为48阶二倍抽取非线性相位滤波器时,其输出结果需要两次计算结果的累加,其对应的时序图如下图21所示,此时数据时钟为原始时钟,输出时钟为原始时钟二分频时钟,实现了二倍抽取的功能。
当数字滤波器的配置信息为24阶二倍抽取线性相位滤波器时,其输出结果需要一次计算的结果累加,其对应的时序图如下图22所示,此时数据时钟和输出时钟都为原始时钟的二分频时钟,实现了二倍抽取的功能。当数字滤波器的配置信息为24阶二倍抽取非线性相位滤波器时,其输出结果需要一次计算的结果累加,其对应的时序图如下图23所示,此时数据时钟和输出时钟都为原始时钟的二分频时钟,实现了二倍抽取的功能。
当数字滤波器的配置信息为24阶一倍抽取线性抽取时,其滤波系数为[150、-55、-64、354、-896、1788、-3101、4953、-7622、9914、-14047、25417、25417、-14047、9914、-7622、4953、-3101、1788、-896、354、-64、-55、150],该系数对应的幅频响应如下图24所示,该数字滤波器对应的输入输出信号的频谱图如下图25所示。
当数字滤波器的配置信息48阶二倍抽取线性抽取时,其配置的系数为[-14、-19、44、41、-89、-95、175、178、-303、-、499、、-779、-843、1184、1317、-1781、-2059、2760、3350、-4962、-7433、9822、32154、32154、9822、-7433、-4962、3350、2760、-2059、-1781、1317、1184、-843、-779、527、499、-317、-303、178、175、-95、-89、41、44、-19、-14],该系数对应的幅频响应如下图26所示,该数字滤波器对应的输入输出信号的频谱图如下图27所示。
当数字滤波器的配置信息为72阶四倍抽取线性抽取时,其配置的系数为[0、0、1、0、-3、-2、7、4、-16、-11、33、23、-62、-45、108、82、-180、-143、287、237、-438、-380、650、591、-943、-902、1352、1372、-1947、-2131、2886、3525、-4680、-7083、9718、31358、31358、9718、-7083、-4680、3525、2886、-2131、-1947、1372、1352、-902、-943、591、650、-380、-438、237、287、-143、-180、82、108、-45、-62、23、33、-11、-16、4、7、-2、-3、0、1、0、0],该系数对应的幅频响应如下图28所示,该数字滤波器对应的输入输出信号的频谱图如下图29所示。
本申请还提供一种模数转换器,该模数转换器包括如上所描述的可编程数字抽取滤波器,当模数转换器工作时,通过可编程数字抽取滤波器调节数据频率。
本申请提供一种可编程数字抽取滤波器及模数转换器,该数字抽取滤波器包括控制模块、系数产生模块及数据计算模块,通过控制模块获取数字抽取滤波器的配置信息,并根据配置信息产生对应的时钟信号和控制信号,配置信息包括抽取倍数、滤波计算关系(线性和非线性)及滤波阶数,通过控制模块实现数据抽取滤波器的滤波计算关系、抽取倍数、滤波阶数的可编程设计;系数产生模块根据控制信号产生与滤波阶数对应的滤波系数,并进行输出控制,降低了系数输出接口的数据端口,从而降低数据传输成本,扩宽数字滤波器应用场景;数据计算模块根据时钟信号和控制信号将输入数据与滤波系数进行卷积计算和抽取处理,以得到输出数据;根据数据滤波计算关系和抽取倍数简化卷积计算,提高滤波效率。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种可编程数字抽取滤波器,其特征在于,包括:
控制模块,用于获取抽取倍数、滤波阶数、滤波计算关系,根据所述抽取倍数和所述滤波阶数产生对应的时钟信号,并根据所述滤波计算关系和所述滤波阶数产生控制信号,其中所述滤波计算关系包括线性和非线性;
系数产生模块,用于基于所述控制信号和系数信息产生与所述滤波阶数对应的滤波系数;
数据计算模块,用于基于所述时钟信号和所述控制信号将输入数据与所述滤波系数进行卷积及抽取处理,得到输出数据。
2.如权利要求1所述的可编程数字抽取滤波器,其特征在于,所述控制模块包括:
时钟信号产生单元,用于根据所述抽取倍数产生对应倍数的第一时钟信号,以及根据所述抽取倍数和所述滤波阶数产生对应阶数的第二时钟信号;
控制信号产生单元,用于根据所述滤波计算关系产生第一控制信号,以及根据所述滤波阶数产生第二控制信号;
其中,所述时钟信号包括所述第一时钟信号和所述第二时钟信号,所述控制信号包括所述第一控制信号和所述第二控制信号。
3.如权利要求2所述的可编程数字抽取滤波器,其特征在于,所述系数产生模块包括:
地址译码单元,用于获取多个地址参数,对多个所述地址参数进行译码,得到多个存储地址,并产生与多个所述存储地址对应的写入使能信号;
系数存储单元,用于获取多个待拼接数据,并根据所述写入使能信号将所述待拼接数据存储至对应的存储地址;
系数输出单元,用于将多个所述待拼接数据进行两两拼接,得到多个所述滤波系数,并根据所述控制信号控制多个所述滤波系数的输出;其中,所述系数信息包括所述地址参数和所述待拼接数据。
4.如权利要求3所述的可编程数字抽取滤波器,其特征在于,所述系数输出单元包括:
拼接子单元,用于将第2n-1个待拼接数据作为第n个滤波系数的低八位,将第2n个待拼接数据作为第n个滤波系数的高八位,得到第n个滤波系数;其中,n为正整数,n≥1。
5.如权利要求3所述的可编程数字抽取滤波器,其特征在于,所述系数输出单元还包括:
系数确定子单元,用于基于所述第一控制信号确定多个所述滤波系数的对称情况,并根据所述对称情况及所述第二控制信号确定计算时滤波系数的个数;
输出控制子单元,用于根据计算时滤波系数的个数与所述系数输出单元的预设输出个数确定输出情况。
6.如权利要求5所述的可编程数字抽取滤波器,其特征在于,所述输出控制子单元包括:
第一输出组件,用于当计算时滤波系数小于或等于所述预设输出个数时,将多个计算时滤波系数一次输出;
第二输出组件,用于当计算时的滤波系数大于所述预设输出个数时,将多个计算时滤波系数进行延时分次输出。
7.如权利要求3所述的可编程数字抽取滤波器,其特征在于,所述数据计算模块包括:
数据处理单元,用于获取所述输入数据,并根据所述时钟信号及所述控制信号对所述输入数据进行抽取、延时及选择输出处理,得到多个过渡数据;
数据计算单元,用于将多个所述过渡数据与多个所述滤波系数进行卷积计算,得到所述输出数据。
8.如权利要求7所述的可编程数字抽取滤波器,其特征在于,所述数据处理单元包括:
抽取子单元,用于根据所述第一时钟信号对所述输入数据进行采样,得到多个分相数据;
第一延时子单元,用于基于所述第二时钟信号对多个所述分相数据进行延时处理,得到多个待滤波数据;
选择子单元,用于根据所述第一控制信号将多个所述待滤波数据进行分相,得到第一相数据和第二相数据,并根据所述第二控制信号控制所述第一相数据和所述第二相数据的输出。
9.如权利要求8所述的可编程数字抽取滤波器,其特征在于,所述数据计算单元包括:
第二延时子单元,用于对多个所述滤波系数进行延时;
计算子单元,用于将所述第一相数据和所述第二相数据相加后与多个所述滤波数据进行乘积计算,得到多个中间求和数据;
累加子单元,用于对多个所述中间求和数据进行累加,得到所述输出数据。
10.一种模数转换器,其特征在于,包括如权利要求1-9中任一项所述的可编程数字抽取滤波器,
当模数转换器工作时,通过所述可编程数字抽取滤波器调节数据频率。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118353420A true CN118353420A (zh) | 2024-07-16 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100893740B1 (ko) | 데시메이션 필터 | |
US5450083A (en) | Two-stage decimation filter | |
US9231612B2 (en) | Digital analog converter | |
Happi Tietche et al. | A practical FPGA-based architecture for arbitrary-ratio sample rate conversion | |
US5710729A (en) | Filtering method and digital over sampler filter with a finite impulse response having a simplified control unit | |
JP5603890B2 (ja) | 信号発生方法および信号発生システム | |
CN118353420A (zh) | 一种可编程数字抽取滤波器及模数转换器 | |
EP1569335A1 (en) | Method for implementing a fractional sample rate converter (f-src) and corresponding converter architecture | |
JP2010130185A (ja) | サンプリングレート変換回路 | |
Lyons | A Beginner's Guide To Cascaded Integrator-Comb (CIC) Filters | |
Bertolucci et al. | Highly parallel sample rate converter for space telemetry transmitters | |
Beygi et al. | An FPGA-based irrational decimator for digital receivers | |
Harris et al. | Cascade linear phase recursive half-band filters implement the most efficient digital down converter | |
KR20100002819A (ko) | 다중모드 sdr 단말용 디지털 다운 컨버터 및 다운컨버팅 방법 | |
Babic et al. | Decimation by non-integer factor in multistandard radio receivers | |
US20020158785A1 (en) | Digital-t0-analog converter using different multiplicators between first and second portions of a data holding period | |
US6489910B1 (en) | Oversampling circuit and digital/analog converter | |
US20050171988A1 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
JP3373654B2 (ja) | 変調信号発生装置 | |
Liu et al. | Research on Resampling of Wideband Zero-IF Receiver | |
Babic et al. | Flexible down-sampling using CIC filter with non-integer delay | |
Dolecek | Modified nonrecursive comb decimation structure | |
GB2524051A (en) | Apparatus and method for filtering digital signals | |
Lijun et al. | Signal generation techniques based on arbitrary sample rate conversion | |
JP2012085177A (ja) | デシメータ回路及びデシメータ回路の演算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |