掌桥专利:专业的专利平台
掌桥专利
首页

一种低复杂度1比特信号解码器及其设计方法

文献发布时间:2023-06-19 10:03:37


一种低复杂度1比特信号解码器及其设计方法

技术领域

本发明属于信号处理领域,具体涉及一种低复杂度1比特信号解码器及其设计方法。

背景技术

数字信号处理技术已经越来越普及,为很多领域带来了前所未有的进步,电子信息技术和集成电路技术的发展使得在越来越多的领域要将模拟信号转换为数字信号以便进一步的使用数字信号处理方法进行特定的处理。1比特数字流电平信号是一种以高速1比特逻辑电平跳变的方式来传送低速模拟信号或者低速多比特数字信号的方法。上述1比特数字流电平信号可以是脉冲密度调制(PDM)或者脉冲宽度调制(PWM),但不限于以上两种信号调制形式。转换后的多比特数字信号可以是脉冲编码调制信号(PCM),同样也不限于这一种可能。

现有的技术使用“滤波+降采样”的操作完成解码,在实现方式上,通常的做法有两种:第一种为“基于多级滤波器的解码算法”,该方法采用级联多级低通滤波加降采样的方式完成,通常多级模块分别使用级联梳状数字滤波器、其他类型的FIR数字滤波器完成低通滤波之后按一定的倍数进行降采样,然后送入下一级降采样模块,也就是每一级完成低通滤波和一定倍数的降采样,多级级联后总的降采样倍数等于各个级降采样倍数的乘积。最后使用频响补偿滤波器统一修正前级滤波造成的频响曲线非理想特性。如图1所示,一个滤波加Lp倍降采样的1比特数字信号流到N比特低速信号流解码器将整个过程分成了多级进行,每一级的滤波器可以是FIR低通滤波器,也可以是CIC(级联梳状滤波器)或者任何类型的数字滤波模块;最后一级为补偿滤波器,一般为了补偿前面所有滤波器带来的非理想特性。这种方法的主要缺点:1.结构复杂,除了第一级的滤波器输入数据位宽为1比特之外,其余各级滤波器的数据位宽都远远大于1比特,为了进行滤波运算必须使用较多的大位宽卷积运算,这将占用较多乘法器资源,大大增加复杂度;2.由于使用了较长阶数的卷积运算中的乘加运算逻辑深度较深,延迟较大,因此处理的吞吐率不容易做高,高速处理性能受限。3.功耗较大,这是由于使用了较多用于实现数字滤波的大位宽移位寄存器来实现每一级信号数据通路缓存造成的。

第二种为使用“频域滤波解码算法”进行1比特数字信号流到N比特低速信号流解码,主要缺点也是复杂度较高,一般会使用FFT等复杂数字信号处理手段将信号的滤波和抽取变换到频域处理,在输出前再变换到时域,由于此类操作需要对数据进行分帧和缓存处理,占用逻辑资源比较多,功耗也很难控制得比较低,运行速度和数据吞吐率也很受限制。

发明内容

本发明的目的在于针对上述现有技术中传统解码方式的复杂度较高以及运行速度和数据吞吐率受限的问题,提供一种低复杂度1比特信号解码器及其设计方法,具有极低的复杂度和功耗,适合高速数据的处理,能够以集成电路的形式实现,适用于高带宽的信号处理。

为了实现上述目的,本发明有如下的技术方案:

一种低复杂度1比特信号解码器,包括一个计数器模块、M-1个固定减法模块、M个解码器子模块以及一个输出控制信号产生模块,M为整数且M≥1;

计数器模块输入复位信号与频率为Fs的时钟信号,M个解码器子模块组成并行运算处理单元,M-1个固定减法模块一一对应的设置在计数器模块与第2至M个解码器子模块之间;第一个解码器子模块直接采集计数器模块输出的值作为地址输入,M-1个固定减法模块对计数器模块输出的地址分别减去(j-1)L发送给第2至M个解码器子模块作为地址输入,2≤j≤M,L为整数且L≥1,使相邻解码器子模块的地址数值相差L;M个解码器子模块的数据输入均为1比特的数字信号流,使能输出端均连接输出控制信号产生模块,数据输出均为N比特的数字信号流。

作为本发明的一种优选方案,解码器子模块包括查找表模块,计数器模块对输入的时钟信号的上升沿进行计数,当复位信号的上升沿到来时,计数器模块开始从0到M*L-1循环计数,计数值作为查号表的地址送给查找表模块。

作为本发明的一种优选方案,查找表包含L*M个地址,每个地址上存贮的数据为一个K比特的数据。

作为本发明的一种优选方案,解码器子模块包括K比特加法器,查找表的输出端根据前级计数器产生的地址来输出相应的K比特数值,该K比特数值根据当前输入数据是比特0即低电平还是比特1即高电平,来选择是将查找表的K比特数值直接输出给K比特加法器还是将其相反数输出给K比特加法器。

作为本发明的一种优选方案,解码器子模块还包括使能脉冲产生模块,K比特加法器依次经过K比特寄存器、位宽变换模块以及N比特寄存器输出N比特数据流;使能脉冲产生模块在查找表的地址输入为0时产生一个宽度为1/Fs的正脉冲,这个脉冲被用来对K比特加法器进行清零操作,也被用于作为N比特寄存器的使能信号,同时也作为解码器子模块的输出使能信号。

作为本发明的一种优选方案,使用两个查找表,两个表的内容为相反数,两个表的地址输入端连接相同的计数器模块输出信号,根据输入数据流当前值是比特0还是比特1,来选择将哪一个表的输出值送到K比特加法器。

本发明还提供了一种低复杂度1比特信号解码器的设计方法,包括以下步骤:

确定解码器的设计目标性能;

确定1比特数据流信号的时钟频率Fs;

确定N比特输出信号流相对1比特数据流信号的降采样率L;

确定一个类型的滤波器系数及阶数;

如果确定的滤波器抽头数目不是L的整数倍,则通过在系数两侧补零的方式将滤波器的抽头数目凑为L的M倍,M为大于零的整数;

将确定的滤波器的L*M个抽头系数量化为K比特,且滤波器系数量化后其性能依然能够满足解码器的设计目标性能;

将确定的L*M个抽头系数置于查找表内,查找表有L*M个地址,每个地址位上有K比特数据;

计数器模块在外部复位脉冲信号到来时清零并在每一个输入时钟上升沿到来时加一,直到累加值为M*L-1后置零,如此循环直到有复位脉冲信号再次到来。

作为本发明的一种优选方案,将M个相同的解码器子模块与计数器模块连接起来,每个解码器子模块的数据输入端都连接相同的1比特数据输入信号,地址输入端连接计数器模块输出值,并且使得第一个解码器子模块直接采集计数器模块输出的地址,相邻解码器子模块的地址数值相差L;每一个解码器子模块将其地址输入端从0到M*L-1递增变化期间查找表的输出值,按照当前频率为Fs的时钟上升沿时1比特输入数据的逻辑电平值,决定累加的数值是否需要在原始查找表输出的基础上取相反数。

作为本发明的一种优选方案,每个解码器子模块内的使能脉冲产生模块在本模块查找表的地址输入信号为零时产生一个脉冲电平信号,在本模块查找表的地址输入信号不为零时保持低电平;每个解码器子模块内的K比特累加器中的寄存器在产生的脉冲电平信号到来时清零,在其他情况下按照频率为Fs的输入时钟对其输入值进行累加操作。

作为本发明的一种优选方案,每个解码器子模块内的N比特输出寄存器在产生的脉冲电平信号到来时更新,其更新后的值为K比特累加器的寄存器值,处理变换为位宽为N比特的值;输出控制信号产生模块在每个解码器子模块的输出使能为高电平时将该解码器子模块的N比特输出值选通至解码器输出信号端口,解码器输出使能信号为各个解码器子模块的输出使能信号的逻辑或的结果。

相较于现有技术,本发明解码器至少具有如下的有益效果:内部结构有很强的规律性,可以使用同一个解码器子模块进行多次例化并做适当的连接和稍作修改即可完成,具有很强的可扩展性。同时,由于各个解码器子模块是并行工作的关系,可以充分复用相同的部分,例如,计数器模块和查找表模块可以在不同的解码器子模块之间充分复用以最大限度的减少复杂度。本发明的解码器在实现低通滤波和降采样功能时完全没有用到乘法器,因为本发明充分利用到了PDM信号仅仅为1比特这个特点,将传统的多级滤波抽取改为一级滤波抽取,使得所有的滤波器抽头数据与系数相乘的乘法运算简化为了保持或取相反数运算,大大降低了结构的复杂度,提高了逻辑电路的时序性能,可支持更高的速度和数据吞吐率。

进一步的,本发明解码器在实现等效低通滤波的同时大大减少了存储单元的使用。一方面,等价的低通滤波需要使用一个M*L比特的移位寄存器来存储待滤波的数据,这不仅消耗存储资源,还会因为移位寄存器在每个时钟周期几乎全部会翻转带来的功耗增高。本发明巧妙地将滤波卷积运算等效为累加运算,避免使用长阶数移位寄存器,节省了功耗和存储资源。

相较于现有技术,本发明的设计方法至少具有如下的有益效果:可根据应用对该解码器性能的要求进行参数化设计,可以通过不同参数选择在复杂度和性能之间权衡取舍,得到符合需求的一种解码器设计例化和实现例化。例如,可通过增大低通滤波器抽头数M*L来得到输出信噪比和非线性失真性能更好的解码器,而该解码器的复杂度并不会显著增加。参数的选择具有足够的灵活性,对L没有任何约束要求,不同于现有方法要求L=2^P,P为正整数。本发明具有更高的参数灵活性,适合更为广泛的应用要求,以及更好的定制设计优化。相对于现有方法,本发明具有实现复杂度低,时序电路中的最大逻辑深度大幅减小,使得工作于更高的时钟频率成为可能。

附图说明

图1现有基于多级滤波器的解码流程图;

图2本发明低复杂度1比特信号解码流程图;

图3本发明低复杂度1比特信号解码器结构示意图;

图4本发明解码器子模块的结构示意图;

图5本发明解码器的各个模块中信号的时序图。

具体实施方式

下面结合附图对本发明做进一步的详细说明。

当用来传送低速多比特数字信号时,将每个采样点为N比特的表示每个采样点幅度的低速数字信号作为特定数字编码器的输入,编码器的输出即为一个高速1比特数字流信号,该信号的频谱中包含了原先N比特数字信号的完整频谱以及另外一些由于编码器引入的额外高频干扰能量。由于干扰能量处于高频部分,与信号的频谱在频谱上是分离的,因此,可以将该1比特信号通过简单的模拟滤波器滤除或抑制高频干扰从而获得对应的原始模拟信号。

另一方面,已知可以通过特定的调制器将模拟信号转换成以远远大于信号带宽的时钟驱动下的0、1比特序列时,该1比特数字流信号被认为是数字信号。这样的好处是有利于长距离传输而不会造成带内信号频谱形状的任何损伤,仅需一个数据信号线和一个时钟信号线即可完成。为了方便后级的数字信号处理,还需使用特定的解码器来将高速1比特信号转换成较低速度的N比特位宽的数字信号,因此,该1比特数字流信号可视为是对模拟信号的一种特殊的数字化方式,上述特定的解码器的性能决定了产生N比特位宽信号的速率上限、信噪比、非线性失真等性能指标,也是本发明的主要发明点。以1比特PDM信号的数字解码为例,使用解码器模块对1比特PDM信号进行全数字解码可以得到采样率降低L倍后的N比特信号。

本发明提出了一种1比特信号至多比特数字信号转换解码的方法,该解码方法具有极低复杂度和功耗,同时非常适合高速数据的处理,因为其结构简单且规律性强,因此非常适合以集成电路的形式实现,本发明可以应用于音频信号或更高带宽的信号处理应用中。

下文中涉及到的参数含义如下:

Fs——1比特数据流的比特时钟速率;

L——降采样率;

M——本解码器内部并行工作的解码器子模块数目;

K——解码器子模块内部的累加器的位宽;

N——解码器输出采样信号位宽,N>1;

本发明的技术方案描述了一种将比特速率为Fs的1比特数字流信号转换为速率低L倍的降采样信号,而该降采样信号的每一个采样点为N比特数字的方法。该方法具有低复杂度和可性能可配置的特点,并且由于其特别的实现方式,特别适合在FPGA中实现或者在专用集成电路中实现,可获得更高的处理速度和数据吞吐率。因此可以不仅用于低速信号的处理,也使用于高速信号的处理成为了可能。通过以下步骤可以将一个比特采样时钟速率为Fs的1比特的数字信号流转换成采样时钟为Fs/L的N比特数字信号,该功能为本发明的主要功能。如图2所示,解码器的输入信号包括“1比特数据流”和与其同步的频率为Fs的时钟信号;输出信号为输出使能信号和与之同步的N比特数据流信号。其中输出使能信号可视为频率为Fs/L的周期性脉冲信号,在该使能信号为高电平期间,输出端的N比特数据有效。

解码器中的操作可以视为M(M为整数且M>=1)个相同结构的模块通过特定的方式组合成的并行运算处理过程,如图3所示。一种低复杂度1比特信号解码器,包括一个计数器模块、M-1个固定减法模块、M个解码器子模块以及一个输出控制信号产生模块,M为整数且M≥1;计数器模块输入复位信号与频率为Fs的时钟信号,M个解码器子模块组成并行运算处理单元,M-1个固定减法模块一一对应的设置在计数器模块与第2至M个解码器子模块之间;第一个解码器子模块直接采集计数器模块输出的值作为地址,M-1个固定减法模块对计数器模块输出的地址分别减去(j-1)L(其中j=2,3,…M)发送给第2至M个解码器子模块作为地址输入,L为整数且L≥1,使相邻解码器子模块的地址数值相差L;M个解码器子模块的数据输入均为1比特的数字信号流,使能输出端均连接输出控制信号产生模块,数据输出均为N比特的数字信号流。

每一个解码器子模块内部都是完全一样的,解码器子模块包括查找表模块,计数器模块对输入的时钟信号的上升沿进行计数,当复位信号的上升沿到来时,计数器模块开始从0到M*L-1循环计数,计数值作为查号表的地址送给查找表模块。

查找表包含L*M个地址,每个地址上存贮的数据为一个K比特的数据。解码器子模块包括K比特加法器,查找表的输出端根据前级计数器产生的地址来输出相应的K比特数值,该K比特数值根据当前输入数据是比特0即低电平还是比特1即高电平,来选择是将查找表的K比特数值直接输出给K比特加法器还是将其相反数输出给K比特加法器。

另外一种能够完成相等效操作的做法是使用两个查找表,使用两个查找表,两个表的内容为相反数,两个表的地址输入端连接相同的计数器模块输出信号,根据输入数据流当前值是比特0还是比特1,来选择将哪一个表的输出值送到K比特加法器。

解码器子模块还包括使能脉冲产生模块,K比特加法器依次经过K比特寄存器、位宽变换模块以及N比特寄存器输出N比特数据流;使能脉冲产生模块在查找表的地址输入为0时产生一个宽度为1/Fs的正脉冲,这个脉冲被用来对K比特加法器进行清零操作,也被用于作为N比特寄存器的使能信号,同时也作为解码器子模块的输出使能信号。

举例说明一种低复杂度1比特信号解码器的设计方法,包括以下步骤:

1.首先确定解码器的设计目标性能,包括输出信噪比、输出THD等性能指标要求。

2.确定1比特数据流信号的时钟速率Fs;

3.确定N比特输出信号流相对1比特数据流信号的降采样率L;

4.确定一个FIR类型的滤波器系数及阶数。通过可能的滤波器设计方式、方法、工具等来确定一组滤波器系数,该系数的滤波器可以满足滤解码器设计目标性能。

5.如果上一步确定的FIR滤波器抽头数目不是L的整数倍,则可以通过在系数两侧补零的方式将FIR的抽头数目凑为L的M倍,M为大于零的整数。

6.将上一步确定的滤波器的L*M个抽头系数量化为K比特,且确保在滤波器系数量化后其性能依然能够满足步骤1中要达到的性能。

7.将上一步确定的L*M个抽头系数置于查找表内,此时查找表有L*M个地址,每个地址位上有K比特数据。

8.计数器模块在外部复位脉冲信号到来时清零并在每一个输入时钟上升沿到来时加一,直到累加值为M*L-1后置零,如此循环直到有复位脉冲信号再次到来。

9.将M个相同的解码器子模块(图4)按照图3的方式与计数器连接起来。每个解码器子模块的数据输入端都连接相同的1比特数据输入信号。每个解码器子模块的地址输入端依次连接计数器输出值、计数器输出值偏移L、计数器输出值偏移2L,以此类推,直到最后一个解码器子模块的地址输入端连接计数器输出值偏移(M-1)L后的数值。

10.每一个解码器子模块将其地址输入端从0到M*L-1递增变化期间查找表的输出值按照当前时钟(频率Fs)上升沿时1比特输入数据的逻辑电平值决定送给累加器的数值是否需要在原始查找表输出的基础上取相反数。

11.每个解码器子模块内的使能脉冲产生模块在本模块查找表的地址输入信号为零时产生一个脉冲电平信号,在本模块查找表的地址输入信号不为零时保持低电平。

12.每个解码器子模块内的K比特累加器中的寄存器在上一步产生的脉冲信号到来时清零,在其他情况下按照输入时钟(频率Fs)对其输入值进行累加操作。

13.每个解码器子模块内的N比特输出寄存器在第11步产生的脉冲到来时更新。其更新后的值为K比特累加器的寄存器值经过必要的处理变换为位宽为N比特的值,通常K>N。

14.解码器模块中的输出控制信号产生模块在每个解码器子模块的输出使能为高电平时将该解码器子模块的N比特输出值选通至解码器输出信号端口。同时解码器输出使能信号为各个解码器子模块的输出使能信号的逻辑或的结果。

上述所有模块中的信号的时序图如图5,假设M=4,可见,在外部复位脉冲到来后,解码器输出依次为v(1)、v(2)、v(3)……(v(n)为N比特数),该输出数值变化间隔和解码器输出使能信号脉冲产生是同步的,间隔为L个频率为Fs的时钟周期。

上述本发明的主要特点有以下几个方面:

1)仅使用一级滤波器对1比特数据流进行滤波后进行L倍下采样抽取,而不是使用多级结构完成。

2)降采样率L可以为任意正整数,没有其他约束。

3)本发明中的解码器模块内部数字运算操作中不包含乘法器,本发明将滤波器中的滤波运算通过查找表和累加器的受控配合完成。

4)本发明将现有技术中数据通路的分级滤波和抽取的串行运算转换成了M路并行运算通路,大大提高了该模块的运算效率,使得电路时序性能更加好,更适合高速信号的处理和应用。

5)实现数字FIR滤波器等效运算结果输出,但是并未使用和该滤波器阶数一样长的移位寄存器或者存储器单元,仅仅使用了少量寄存器用于暂存输出结果。因此,本发明既有实现复杂度低的优点又有功耗低的优点。

6)本发明包含的设计方法是一种系统化的设计方法,可以根据设计目标要求的高低通过调整设计参数(M,N,K)来控制整体性能的高低。

以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均会落入权利要求书涵盖的保护范围之内。

相关技术
  • 一种低复杂度1比特信号解码器及其设计方法
  • 一种低复杂度、高性能的GFSK信号多比特解调法
技术分类

06120112407335