一种基于FPGA的可变符号抽样率升余弦滤波器的制作方法

文档序号:20116975发布日期:2020-03-17 20:05阅读:270来源:国知局
一种基于FPGA的可变符号抽样率升余弦滤波器的制作方法

本发明涉及滤波器领域,具体涉及一种基于fpga的可变符号抽样率升余弦滤波器。



背景技术:

现代通信系统中,为了减少码间干扰的影响,使发送信号更适合信道的传输,提高通信系统传输质量,通常使用升余弦(或平方根升余弦)滤波器作为脉冲成型滤波器。发送端升余弦滤波器的单位冲击响应为:

其中r为滚降银子,t为时间,t符号周期。

升余弦滤波器实现时,可以采用fpga硬件实现,由于符号速率与升余弦滤波器输出速率不同,因此实现时,需要先将上采样,并将公示(1)数字化后使用滤波器结构实现,其实现结构如图1所示,图中d表示fpga中延迟一个时钟单元,表示乘法器,h(n)表示升余弦滤波器系数。传输码元经过调制模块变成调制信号,高速率采样模块将调制信号做高倍采样,以匹配升余弦滤波器采样速率,最后升余弦滤波器完成脉冲信号的成型。升余弦滤波器与其他滤波器(如fir滤波器)一样,通过乘累加实现。

上述升余弦滤波器结构和一般滤波器块结构一样,主要通过乘累加完成,但是该滤波器结构固定,不能适应变化的符号抽样率。当输入信号码元速率变化,输出的信号速率不变时,即符号抽样率变化时,升余弦滤波器在一个码元周期内的系数个数也需要改变,而且当系数个数较多时,需要消耗的fpga时钟延迟单元很多。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于fpga的可变符号抽样率升余弦滤波器,可以适应可变的符号抽样率,且消耗的fpga乘法器资源不随符号抽样率变化。

本发明的目的是通过以下技术方案来实现的:

一种基于fpga的可变符号抽样率升余弦滤波器,包括l+1个高速采样模块和l个地址计算模块,且满足n=kl,其中k为每个符号抽样点数,l表示滤波器截断时间长度为l个符号,滤波器系数个数为n+1;

l+1个高速采样模块依次延迟一个时钟周期进行采样,l+1个高速采样模块的输出端各连接至一个乘法器的输入端,l+1个乘法器的输出端连接至同一个加法器,所述加法器将并行输入的l+1路信号进行相加运算,用于输出升余弦滤波信号;

还包括l个rom存储器,所述rom存储器用于存储升余弦滤波器系数h(n),n=0,1,2……n-1,每个rom存储器连接一个地址计算模块,用于计算后续rom存储器的地址;

所述rom存储器的输出端分别连接至第1到第l个乘法器的输入端,用于输入升余弦滤波器系数,第l+1个乘法器直接输入升余弦滤波器最后一个系数h(n)。

进一步的,所述高速采样模块由计数器、比较器、选择器组成;

所述计数器输出端连接至比较器基准端,比较器输出端连接至选择器输入端,计数器输出与k值进行比较,相等时输出为1,否则输出为0,该信号作为计数器的rst信号,重置计数器,同时作为选择器的选择信号,为0时,选择0输出,为1时选择输入信号作为输出。

进一步的,所述地址计算模块由第二计数器、第二比较器、第二选择器、乘法器组成;

所述第二计数器输出端连接至第二比较器比较器的基准输入端,第二比较器输出端连接至乘法器输入端;

所述第二选择器输出端连接至乘法器输入端,所述乘法器用于输出升余弦滤波器系数;

当k=km时,选择器输出mm,其中mm=kmax/km。

进一步的,所述升余弦滤波器系数h(n),n=0,1,2……n-1,共n个系数平均分为l份,分别存储在l个rom存储器中,每个rom中存放kmax=lcm(k1、k2、k3……)个系数,lcm表示最小公倍数,k1、k2、k3……表示k各种可能取值。

进一步的,所述l的取值为4-8,理论上l取值越大滤波器的效果越好,但消耗资源越多。

本发明的有益效果是:和现有技术相比,本发明中将抽样信号分为l+1个进行采样,然后分别和升余弦滤波器系数相乘,和传统的一个采样单元采样,然后依次经过n+1个延时器相比,本方案中的采样速度更快。同时由于提供了多个采样点,因此可适应不同符号抽样率,易于在fpga硬件上实现,且消耗的fpga乘法资源固定,不会随不同符号抽样率变化。

附图说明

图1为现有技术升余弦滤波器实现结构;

图2为本发明滤波器结构电路;

图3为高速率采样模块实现结构图;

图4为地址计算模块实现结构图。

具体实施方式

下面结合具体实施例进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

如图2所示,一种基于fpga的可变符号抽样率升余弦滤波器,包括l+1个高速采样模块s101和l个地址计算模块s201,且满足n=kl,其中k为每个符号抽样点数,l表示滤波器截断时间长度为l个符号,l的取值为4-8。滤波器系数个数为n+1;l+1个高速采样模块s101依次延迟一个时钟周期进行采样,l+1个高速采样模块s101的输出端各连接至一个乘法器的输入端,l+1个乘法器的输出端连接至同一个加法器,加法器将并行输入的l+1路信号进行相加运算,用于输出升余弦滤波信号;还包括l个rom存储器,rom存储器用于存储升余弦滤波器系数h(n),n=0,1,2……n-1,每个rom存储器连接一个地址计算模块s201,用于计算后续rom存储器的地址;rom存储器的输出端分别连接至第1到第l个乘法器的输入端,用于输入升余弦滤波器系数,第l+1个乘法器直接输入升余弦滤波器最后一个系数h(n)。

如图3所示,高速采样模块s101由计数器、比较器、选择器组成;

计数器输出端连接至比较器基准端,比较器输出端连接至选择器输入端,计数器输出与k值进行比较,相等时输出为1,否则输出为0,该信号作为计数器的rst信号,重置计数器,同时作为选择器的选择信号,为0时,选择0输出,为1时选择输入信号作为输出。

如图4所示,地址计算模块s201由第二计数器、第二比较器、第二选择器、乘法器组成;

第二计数器输出端连接至第二比较器比较器的基准输入端,第二比较器输出端连接至乘法器输入端;

第二选择器输出端连接至乘法器输入端,乘法器用于输出升余弦滤波器系数;

当k=km时,选择器输出mm,其中mm=kmax/km,m取值为1,2,3……,即km可表示为k1、k2、k3……。升余弦滤波器系数h(n),n=0,1,2……n-1,共n个系数平均分为l份,分别存储在l个rom存储器中,每个rom中存放kmax=lcm(k1、k2、k3……)个系数,lcm表示最小公倍数,k1、k2、k3……表示k各种可能取值。

为使本实施例进一步具体化,令l=8。图2中d1、d2、d3、d4、d5、d6、d7、d8、d9分别表示延迟1、2、3、4、5、6、7、8、9个时钟周期,表示乘法器。模块s101为高速率采样模块用于进行采样,用来匹配后续模块采样率;模块s201为地址计算模块,用来计算后续rom存储器的地址。rom0、rom1、rom2、rom3、rom4、rom5、rom6、rom7用来存放升余弦滤波器系数。如前所述,升余弦滤波器系数个数为n+1个,用h(n),n=0,1,2……n-1表示,最后一个系数为h(n),不用存储器,放在图2中最后一路信号中,其余n个系数平均分成l份,分别存放在rom0、rom1、rom2、rom3、rom4、rom5、rom6、rom7中,每个rom中存放kmax=lcm(k1、k2、k3……)个系数。lcm表示最小公倍数,k1、k2、k3……表示k各种可能取值。加法器将并行输入的l+1路信号进行相加运算,最终输出升余弦滤波器结果。和现有技术相比,本方案中的高速采样模块s101采样速率提高了k倍。如图3所示,图3中计数器输出与k值进行比较,相等时输出为1,否则输出为0,该信号作为计数器的rst信号,重置计数器,同时作为选择器的选择信号,为0时,选择0输出,为1时选择输入信号作为输出。

图4中,计数器部分与图3对应部分相同,选择器功能为当k=km时,选择器输出mm,其中mm=kmax/km。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1