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

一种基于FPGA的电力线信道模拟器

文献发布时间:2024-04-18 19:52:40



技术领域

本发明属于电力通信领域,涉及一种基于FPGA的电力线信道模拟器。

背景技术

电力线作为电力传播网络,具有覆盖范围广、连接方便等特点,被通信技术研究人员认为是接入网方案中最有发展潜力的技术之一。尽管部分PLC技术和产品已经投入到生产使用中,但PLC的商用化时间较短,发展不成熟,仍有许多亟需解决的问题。

在低压电力线路中,负载随机接入以及用电设备随机开关,导致配电网络呈现处难以预测的信道特征。首先,电力线阻抗变化大,导致能量在传输过程经过多次反射衰减,最后到达接收端的有效能量过低,影响接收性能;其次,电力线分支复杂,拓扑结构不固定,网络节点多,导致信号呈现出严重的多径衰落特性;最后,电力线中噪声种类繁杂,噪声源难以定位,严重影响PLC信号传输质量。因此电力线信道和噪声的研究工作对于电力线通信技术的发展具有重要意义。国内外学者已在信道与噪声建模方面进行了大量研究,并在此基础上对所提出的各种电力线通信方法进行理论分析和仿真实验。但当前的仿真及验证工作大多处于软件阶段,缺少用于实际测试的信道模拟设备,仿真耗时过长且难以模拟最真实的电力线场景。为了能够尽快缩短电力线通信设备的研发周期,减少设备投入之前到现场的调试次数,需要开发一种适用于电力线信道的硬件模拟设备,可在实验室模拟不同场景下电力线信道的各种特性,以方便测试人员对所设计的系统进行调试。

现有电力线信道模拟器通常存在工作频率不高、模拟精度过低、噪声单一等缺陷,使用局限性较大,难以准确还原电力线信道的实际通信环境。

发明内容

有鉴于此,本发明的目的在于提供一种基于FPGA的电力线信道模拟器,采用随机噪声的电力线信道模拟设备设计方案并进行了实现,以减少通信系统测试时的人力物力的投入。

为达到上述目的,本发明提供如下技术方案:

一种基于FPGA的电力线信道模拟器,包括相连的FPGA部分和前端电路部分包括;

所述FPGA部分包括信道产生模块和噪声产生模块;

所述前端电路部分包括增益控制模块和AD/DA芯片;增益控制模块将信号缩放到一定大小;AD/DA芯片将模拟信号转换为数字信号进行接收或将数字信号转换为模拟信号进行发送;

用FPGA构建电力线信道的传输函数,信道经典多径模型表示为

可选的,所述电力线信道模拟器的输入信号与信道的脉冲响应通过线性卷积后得到输出序列,即y=h*x;

信道脉冲响应和输入信号的卷积使用FIR滤波器进行实现;将所选参考信道的脉冲响应的参数转化为FIR滤波器结构中的延迟和滤波器系数,凭借FPGA的嵌入式乘法器,提高FIR滤波器的吞吐量;

长度为N的FIR滤波器输出对应于输入序列x[n]的关系以卷积形式给出

用FPGA模拟电力线上的噪声干扰,将所述噪声干扰加入信道中,与通过信道模拟部分的信号进行叠加,形成最终传输信号;所述噪声干扰由低功率的背景噪声模块以及脉冲噪声模块形成;所述背景噪声模块产生的背景噪声为M序列伪随机数,所述脉冲噪声模块产生的脉冲噪声使用Middleton Class-A脉冲噪声模型进行实现;

Middleton Class-A模型的概率密度函数为:

其中

所述脉冲噪声模块包括伪随机数发送模块、判决模块、加权因子生成模块、高斯白噪声发生器模块及乘法器模块;伪随机数用于产生伪随机数序列;判决模块是用于将设定的门限值模块的门限值和伪随机数发生器模块产生的数值进行比较并判决;加权因子生成模块用于生成加权因子;高斯白噪声发生器模块用于生成高斯白噪声;乘法器模块用于加权因子和高斯白噪声的相乘,然后输出的即为随机脉冲噪声;

所述前端电路部分中定向耦合器用于区分双向通信中的双向数据,增益控制模块由两块级联的AD603芯片和一块HMC624A芯片组成,能够调节的增益范围为-53dB~+60dB;增益控制模块通过SPI协议连接到FPGA内部;

位机PC通过UART向FPGA芯片发送控制指令,FPGA芯片PS端解析指令进行下列操作:选择FPGA内部存储的参考信道;控制输出信号的信噪比;通过SPI调整前端增益控制模块的增益从而调节输出信号大小。

本发明的有益效果在于:使用FIR滤波器还原信道传输特性,结构清晰节省资源;噪声方面采用Middleton Class-A脉冲噪声模型,更加还原实际通信环境,使得测试结果贴合现实;前端电路部分的增益控制模块采用两块级联的AD603与一块HMC624A组合而成,能够实现更大的增益范围。总体而言,本发明能够在消耗一定资源的情况下还原实际电力线场景,减少电力线通信系统测试时的人力物力的投入。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为本申请所述电力线信道模拟器整体结构示意图;

图2为系数对称FIR滤波器结构图;

图3为Middleton Class-A脉冲噪声实现系统框图;

图4为高斯白噪声发生器结构图;

图5为泊松序列生成流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

图1为本申请所述电力线信道模拟器整体结构示意图,如图所示,为满足点对点之间的双向通信,模拟器最外端使用定向耦合器连接到电力线,由于PLC系统属于时分复用通信系统,不会产生双向数据的冲突。采用Xilinx公司第六代Spartan系列XC6SLX100芯片来完成电力线信道以及噪声的模拟。Spartan6系列是一类低成本高容量的FPGA,Spartan6系列采用成熟的45nm低功耗铜制程技术,能在功耗、性能、成本之间很好地平衡。XC6SLX100芯片可用的资源包括:101261个逻辑单元,最大4824Kb的Block RAM、180个DSP48A1Slice、498个I/O口。Spartan6特别适合用于高容量的逻辑设计、面向用户的DSP设计、低成本设计,可提供集成软硬件组件的目标设计平台。

接收的模拟信号通过增益控制模块进行适当的缩放,以保证充分使用A/D转换芯片的量化位数,提高数字信号精度。

增益控制模块中HMC624A芯片为衰减器,其有效增益范围为-31.5~0dB,增益控制模块中AD603芯片为电压控制型放大器单元,其有效增益区间-11dB~30dB。在本设计中,采用两块AD603芯片级联和一块HMC624A芯片组成增益控制模块,整体增益区间为-53dB~+60dB。

增益大小由上位机PC进行控制。上位机通过UART与FPGA芯片PS端进行通信,PS端接收来PC的控制指令并进行解析,PL端通过SPI向增益控制模块的芯片发送控制信息,以达到增益调整的目的。

噪声输出后经过放大器控制噪声幅度后与信道输出信号叠加,以达到所需的输出信噪比。放大器的放大倍数通过上位机进行控制。

AD转换芯片使用AD9629,输出数字信号为10bit,因此信号幅度最大为2^9,即512。DA转换芯片使用AD9752,输入12bit数字信号,满量程输出1.25V。

FIR滤波器实现多径参考信道需要提取滤波器系数。在硬件资源和滤波器的准确性之间进行折中,选用50阶FIR滤波器进行信道的实现。滤波器系数的提取采用门限值截断法,使用一个门限值截断脉冲响应。其算法流程如下:

1)找到信道冲击响应|h(i

2)选择一个门限值ThdB;计算w=max|h(i)|-ThdB;

3)计算i

4)选择截断后的脉冲响应h(n),n=1,2,...,i

定义滤波器系数是对称的,那么可以使用图2所示的结构实现FIR滤波器,其优势为只需要一半的乘法器即可完成设计。

背景噪声主要是低功率的噪声源,随频率的增大而减小,通常可保持几秒或几分钟,有时甚至几小时不变。相关文献指出背景噪声曲线中心频率为4.2MHz,频带宽度为8.4MHz,其频谱较宽。选用其中1~3MHz部分作为本发明的背景噪声,并由M序列伪随机数通过FIR带通滤波器生成,FIR滤波器采用11阶的奈奎斯函数,阻带截止频率f

FPGA内部有大量低成本的IP核,能够很方便地实现FIR滤波器,只需要确定其系数即可。该系数可利用MATLAB的FDATool工具产生,考虑到获取的系数是小数形式,为便于在FPGA里使用,需对系数同乘16进行量化,并以二进制补码形式存储于.coe文件中。在FPGA中调用MAC FIR Filter并添加.coe文件初始化,生成的FIR IP核即可在FPGA里调用。需要注意的是,滤波器系数整体放大了16倍,其输出应右移4位以保证正确性。

图3所示Class-A脉冲噪声发生器可分为泊松序列发生器、加权因子、高斯白噪声发生器三部分。泊松序列发生器的设计是基于伯努利试验模型。如果伯努利试验中的n不小于100,同时P不大于0.1,n×p的值合适,则进行n重伯努利试验,输出序列相邻1之间的时间间隔呈指数分布,则0、1序列呈泊松分布。在泊松强度小于0.1时,几乎不会有2的出现,因此本设计可以较准确的实现脉冲指数A小于0.1的情况。

使用伪随机数产生器产生一定范围内呈均匀分布的随机数,然后在输出的序列中加判别门限输出0、1序列。门限的大小依据伯努利试验中事件出现的概率设定。当判定小于门限时输出1,且门限较小时就可以认为序列中1的出现是小概率事件。产生呈均匀分布的随机数采用线性同余法,是目前利用计算机生成均匀随机数最普通和广泛的方法,递推公式为:

其中:x

加权因子的实现。依照式(3)可知加权因子是一系列加法器、乘法器、除法器、延迟单元,常数单元、平方根模块连接而成。呈泊松分布的序列m用除法器除以脉冲指数A,与功率比Γ求和,然后除以常数1与Γ的和,接着用乘法器与噪声总功率相乘得到特定噪声方差,即式(3)中的

高斯白噪声发生器理论分析。高斯白噪声发生器是用Box-Muller算法和中心极限定理相结合的方法生成高斯白噪声。该方法既解决了中心极限定理误差比较大和分辨率较低的不足,又克服了Box-Muller算法误差变化大,收敛慢的缺点。实现方法:Box-Muller算法是使用在[0,1]上服从均匀分布的两个独立随机变量转换生成一个单位随机变量。它是通过在ROM中存储Box-Muller函数值,并用均匀随机变量处理这些数值来实现该算法。根据中心极限定理,多路同一分布的随机数之和是近似正太分布的。数学期望M(X)、方差σ

最后用到乘法器,根据不同加权因子乘以高斯噪声,就得到不同方差

I(i)=σ

其中I(i)为脉冲噪声采样序列,G(i)为高斯白噪声采样序列,i∈{0,1,...,∞},σ

泊松序列发生器的System Generator实现。本设计采用VHDL程序导入Black Box模块法,该模块位于Xilinx公司扩展MATLAB/Simulink下Xilinx Blockset库中,本库包含了大部分的基本运算模块,包括后面用到的加法器、乘法器、数据类型转换模块、延迟模块等。VHDL产生泊松序列的程序流程图如图5,本程序主要实现了线性同余法产生伪随机数。线性同余法产生随机数的一个缺点是周期小,受限于m,满周期参数为:m=8291,a=29,c=37,x0=0。

本设计采用改进的线性同余法,程序的设计为:预设一个id=0的初值,每个周期id加1,当计数器计数到满周期(213)的时候,将id作为下一个周期的种子,这样就可以在每个周期都有不同的种子,从而将该随机数的周期延长至67108864,也即2

加权因子可根据式(3)进行实现。原本泊松序列发生器产生泊松序列值用除法器除以脉冲指数A,修改成为泊松序列乘以常数1/A。System Generator中的Constant模块可以在子系统的上层封装或者mdl文件打开时预加载所需参数进行自动输入变量。以这种方法既缩短每次运算1/A时的时延又可以避免在该Class-A脉冲噪声发生器中使用除法器,节省FPGA资源消耗。

Box-Muller算法和中心极限定理相结合的方法生成高斯白噪声的实现。因XilinxSystem Generator中Xilinx Reference Blockset中提供了White Gaussian NoiseGenerator模块,可直接调用,参与模块的编译。只需更改不同的初始种子就可以得到不同波形的高斯白噪声。

Class-A随机脉冲噪声的实现。依据公式8,用乘法器把加权因子部分生成的数据序列和高斯白噪声发生器生成的高斯白噪声序列相乘,最后乘法器输出的即是Class-A随机脉冲序列。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

相关技术
  • 一种基于FPGA的信道模拟器及其模拟方法
  • 一种基于FPGA的电力线信道模拟平台
技术分类

06120116329546