一种基于FPGA的并行均衡方法技术

技术编号:33633809 阅读:14 留言:0更新日期:2022-06-02 01:42
本发明专利技术公开了一种基于FPGA的并行均衡方法,所述方法通过步长可动态调整的LMS算法以及采用并行、流水线滤波结构,实现对通信数据的高效均衡。首先通过迭代因子可动态调整的LMS算法计算出均衡滤波器的抽头系数。其次,通过多级流水线,多路并行数据处理的方式,提高FPGA数据处理的效率。该发明专利技术可以实现,每个时钟周期M路数据并行输入均衡滤波器的同时有M路数据并行输出。通过并行、流水线方式,使得高速ADC的采集的数据FPGA能够高效进行均衡处理。理。理。

【技术实现步骤摘要】
一种基于FPGA的并行均衡方法


[0001]本专利技术涉及高速通信中信号处理领域,具体涉及基于FPGA的并行均衡方法,通过FPGA实现对通信数据的并行均衡高效处理。

技术介绍

[0002]均衡是通信系统中的一项重要的技术,不仅应用于模拟通信,也应用于数字通信。在数字通信及高速数据传输系统中,为了克服码间干扰,减小具有幅度和延迟失真的影响,尽可能的提高传输速率,需要采用信道均衡技术。所谓均衡就是对信道的畸变进行补偿。与此同时,由于信道和干扰的时变特性,要实现高效的数据传输,就必须采用自适应技术自动调节系统参数,使之自动跟踪信号的快速变化。
[0003]其中,最小均方(LMS)自适应均衡,由于实现简单不需要相关函数、矩阵逆的运算,因此在实际工程中得到广泛关注。但传统LMS由于迭代步长固定,导致收敛速度慢。
[0004]此外,由于ADC的采样频率一般高达GSPS,而FPGA的时钟处理频率一般只有几百MHZ。FPGA中采用传统横向FIR结构滤波器无法实现数据大吞吐量的高效处理。

技术实现思路

[0005]为了解决上述问题,本专利技术提出一种基于FPGA的并行均衡方法,一方面通过步长可动态调整的LMS算法加速收敛速度,另一方面每个滤波单元采用多级流水线、整体数据并行处理的方式,实现数据高效并行均衡处理。
[0006]为了克服现有技术存在的缺陷,本专利技术的技术方案如下:
[0007]一种基于FPGA的并行均衡方法,至少包括以下步骤:
[0008]步骤S1:获取当前数据帧,该数据帧至少包括前导码和数据信息;
[0009]步骤S2:提取当前数据帧中的前导码;
[0010]步骤S3:根据该前导码计算变步长因子μ和误差信号,并根据该变步长因子μ和误差信号更新均衡滤波器的抽头系数;
[0011]步骤S4:获取数据帧中的数据信息,均衡滤波器根据更新后的抽头系数对该数据信息进行数据处理后并行输出,直至当前数据帧处理结束;
[0012]步骤S5:获取下一数据帧,重复步骤S2至步骤S5;
[0013]其中,步骤S4中,均衡滤波器并行设置多个滤波单元。
[0014]作为进一步的改进方案,步骤S3进一步包括以下步骤:
[0015]步骤S31:抽头系数更新模块获取本地训练序列;
[0016]步骤S32:将前导码同时送入任意一个滤波单元和抽头系数更新模块;
[0017]步骤S33:将滤波单元得到的y(n)再送到抽头系数更新模块,计算出误差信号e(n)=d(n)

y(n),即滤波输出的结果与本地训练序列的差值;
[0018]步骤S34:通过下面公式,求出变步长因子μ
[0019][0020]其中c0、c1α0、α1、c2为可调系数,用于加速迭代;
[0021]步骤S35:通过下列公式计算出均衡滤波器的抽头系数:
[0022]W(n+1)=W(n)+2μe(n)X(n)
[0023]其中,W(n)为均衡滤波器的抽头系数,X(n)为输入信号,e(n)为误差信号;
[0024]步骤S36:更新抽头系数直至误差信号收敛,否者重复执行步骤S31至步骤S36。
[0025]作为进一步的改进方案,本地训练序列预先存储在非易失性存储器中。
[0026]作为进一步的改进方案,获取数据帧前,初始化滤波器的抽头系数,数据缓存单元复位,起始缓存数据为0。
[0027]作为进一步的改建方案,步骤S31中,本地训练序列为接收端已知的发送端待发送的前导码(Preamble)数据。数据通过信道传输后由于码间干扰、噪声等原因,导致接收到的数据与原始发送的数据不一致。为了解决这一问题,需要尽可能找到信道的逆信道来抵消信道对数据传输的影响,数据帧首先发送一段伪随机序列(Pseudorandom Sequence)即帧结构中前导码部分,由于这段数据是接收机已知的,因此接收机将接收到的前导码数据通过一个数字滤波器,并根据输出结果与已知前导码数据之间的误差来多次改变数字滤波器的抽头系数,从而使该数字滤波器的特性近似等效为逆信道的特性。帧结构中数据部分通过这个滤波器后,相当于数据通过原始信道的逆信道,从而实现抵消数据在信道中传输带来的影响。
[0028]作为进一步的改建方案,步骤S4中,将数据信息存入缓存单元以用于下一时刻滤波使用,同时分别发送给并行的滤波器单元。
[0029]作为进一步的改建方案,每个滤波单元采用多级流水、并行技术对数据进行处理;将多个待相加的数据两两分组加入数据缓存后,再相加,然后再两两分组形成多级流水结构,直至最后一级,相加结果只有一个数。
[0030]上述技术方案中,首先对数据帧的前导码进行提取,将本地训练序列与前导码一起送入LMS算法抽头系数更新模块,并且LMS算法中的收敛因子可调,以加快迭代速度。为了提高收敛速度,本专利技术采用迭代因子可调的LMS算法。由于迭代起初误差比较大可采用比较大的迭代步长,随着误差信号的减小,迭代步长也将随之减小,即μ0>μ1>μ2>

>μ
m
。根据上述原理可得μ为误差信号e(n)的函数,即μ=μ(e(n)),来计算每次迭代步长的合适值。
[0031]上述技术方案,可得到迭代出的滤波器的抽头系数W(n),则数据通过均衡滤波器的输出可以表示为:
[0032][0033]由上述公式可知,均衡滤波器的第k个点的输出不仅与当前输入的x(k)有关,还与其前(m

1)个输入数据点有关。因此要想实现多路并行输出,只要每一路滤波器与之对应的输入点及其前(m

1)个输入数据的信息知道,就能实现多路并行均衡滤波器的输出。由于要知道当前时刻下,之前时刻的数据。因此,需要引入数据缓存单元,将之前的数据缓存到下一时刻,以备滤波器使用。需要缓存的数据量由抽头系数的长度和并行数据的个数决定。
[0034]与现有技术相比,本专利技术的有益效果在于:
[0035]1.采用迭代因子μ可调的方式,加速LMS算法的收敛速度。
[0036]2.采用功能模块复用,多路并行的方式,提高数据的吞吐量。
[0037]3.引入多级流水线、数据缓存的方式,优化硬件实现结构,提高系统所能达到的最高时钟频率。
[0038]4.此专利技术的并行滤波器,可以实现M路数据输入的同时,有M路数据并行输出,提高了数据的处理效率。
附图说明
[0039]图1是本专利技术一种基于FPGA的并行均衡方法的整体框架图。
[0040]图2是本专利技术一种基于FPGA的并行均衡方法的流程框图
[0041]图3是一般通信数据的简化帧格式,由前导码和若干个数据块组成。
[0042]图4是本专利技术数据缓存模块和八路并行均衡滤波器模块内部结构图。。
[0043]图5是本专利技术采用流水线结构的任意一个八抽头的滤波单元内部结构图。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的并行均衡方法,其特征在于,至少包括以下步骤:步骤S1:获取当前数据帧,该数据帧至少包括前导码和数据信息;步骤S2:提取当前数据帧中的前导码;步骤S3:根据该前导码计算变步长因子μ和误差信号,并根据该变步长因子μ和误差信号更新均衡滤波器的抽头系数;步骤S4:获取数据帧中的数据信息,均衡滤波器根据更新后的抽头系数对该数据信息进行数据处理后并行输出,直至当前数据帧结束;步骤S5:获取下一数据帧,重复步骤S2至步骤S5;其中,步骤S4中,均衡滤波器并行设置多个滤波单元。2.根据权利要求1所述的基于FPGA的并行均衡方法,其特征在于,步骤S3进一步包括以下步骤:步骤S31:抽头系数更新模块获取本地训练序列;步骤S32:将前导码同时送入任意一个滤波单元和抽头系数更新模块;步骤S33:将滤波单元得到的y(n)再送到抽头系数更新模块,计算出误差信号e(n)=d(n)

y(n),即滤波输出的结果与本地训练序列的差值;步骤S34:通过下面公式,求出变步长因子μ其中c0、c1α0、α1、c2为可调系数,用于加速迭代;步骤S35:通过下列公式计算出均衡滤波器的抽头系数:W(n+1)=W(n)+2μe(n)X(n)其中,W(n)为均衡滤波器的抽头系数,X(n)为输入信号,e(n)为误差信号;步骤S36:更新抽头系数直至误差信号收敛,否者重复执行步骤S31至步骤S36。...

【专利技术属性】
技术研发人员:程知群孙庆冉乐超
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1