基于分布式算法和FPGA实现基带信号成形的研究

时间:2020-10-07 14:46:54 理工毕业论文 我要投稿

基于分布式算法和FPGA实现基带信号成形的研究

摘要:提出了一种采用现场可编程门阵列(FPGA)实现基带信号成形的FIR数字滤波器硬件电路的方案。该方案基于分布式算法的思想,利用FPGA丰富的查找表资源,从时域上对基带信号直接进行成形。因为所采用的成形方法运算量小、精度高,所以适用于实时系统。所设计的电路通过硬件仿真,证明能够满足系统的要求,具有一定的理论和实际意义。

根据Nyquist第一准则,基带信号成形能够消除码间串扰的影响。随着超高速数字集成电路的发展,成形滤波器已经由过去的基带频域模拟成形滤波器变成现在的基带时域数字成形滤波器。与基带模拟成形滤波器相比,基带数字成形滤波器具有高精度、高可靠性和高灵活性等优点;同时还具有便于大规模集成、易于实现线性相位等特点。实现其带数字成形的方法很多,与传统算法相比,分布式算法可以极大地减少硬件电路的规模,提高电路的执行速度。本文采用基于分布式算法思想的时域成形方法来实现基带信号成形。

1 分布式算法的基本原理

一个线性时不变网络的输出可以用下式表示:

其中,y(n)为第n时刻网络的输出;xk(n)为第n时刻的第k个输入变量;Ak为第k个输入变量的权值。在线性时不变系统中,对于所有n时刻,Ak都是常量。如果该网络表示为滤波器,常量Ak即为滤波器抽头系数,变量xk为单一数据源的抽样数据。仔细观察(1)式可以看出,输出单个y(n)需要将k个乘积累加,这种累加可以通过查找表来实现,大大提高了运算的效率。为了使乘法之后的数据宽度不至于展宽,先把数据源数据格式规定为浮点数2的补码形式。需要注意的是,常量Ak不一定要进行格式转换来匹配输入数据的'格式,它可以根据要求的精度进行定义。变量xk可用下式表示:

式中,xkb为二进制数,即取值为0或1;xk0为符号位,“1”表示数据为负,“0”表示数据为正。式中,时间参数“n”已经被省略掉,因为在以下的推导中与时间参数无关。将(2)式代入(1)式中,得:

将(3)式展开,得:

从(4)式可以看出,每个方括号中进行的是输入变量的某一个数据位和所有常量A1~Ak的每一位进行位相“与”然后求和,而指数部分则说明了求和结果的位加权,这种加权可以通过移位来实现。而方括号中的计算可以通过建立查找表来实现,具体的操作通过所有输入变量的同一位进行寻址来完成。通过(4)式,(1)式就可以用加法、减少和二进制除法来计算了,这样就避免了频繁地使用乘示器,从而节约了系统的资源,并且大大缩短了运算时间。

图1

2 时域成形的原理

(4)式中的查找表方法中以缩短运算的时间,但是二进制除法还是会消耗掉大量的系统时钟。因为要设计的是基带信号成形滤波器,所以可以通过直接在时域上成形的方法来完成。

如果输入为二进制双极性数据,采用升余弦滚降滤波器进行脉冲成形,其系统函数为: