基于非正交频分复用的智能电管家数据传输系统设计
2021-12-27王卓欣
钱 峰,王卓欣
(1.国网上海市电力公司,上海 200135;2.国网上海浦东供电公司,上海 200122)
0 引言
智能电管家以智能电表运用为核心,依托互联网,使移动用电管理系统实现了用户购电、用电以及管理一体化。在当前电力市场体质改革的形势下,智能电管家显然是时代发展的必然产物,对电力企业来说,需要寻找改变电费资金管理模式的途径。计算机网络与通信事业的快速发展,大大丰富了人们日常学习与生活的信息交流[1]。将网络视为一种“购、用、管”为一体的用电管理系统,查看实时电费使用情况,随时明确自身用电状况,查询电费余额、在线缴费,合理安排用电。但当前网络可用频段资源匮乏,无法满足现实应用需求,为进一步完善用户使用体验,本文着重研究智能电管家数据快速稳定传输[2]。针对数据传输问题,相关领域学者进行了下述研究。
文献[3]提出一种基于超空泡混沌预测机制的移动传感器高速传输算法,文献[4]提出一种基于分片重传链路感知机制的移动WSN网络数据传输算法,但这些方法没有考虑数据传输时可能存在的传输偏差问题,极易造成潜在传输隐患。而选择性忽略障碍传输信号,拥有优秀的抗干扰性能,有助于缓解频谱资源紧缺状况。因此,本文提出一种基于非正交频分复用的智能电管家数据传输系统,采用外围设备互连接口作为系统协议,在软件设计中,使用非正交频分复用技术增强系统频率利用率,采用椭圆曲线密码学与高级加密标准对目标数据传输加密,利用发送引擎、DDR3控制器等板块组成系统硬件,完成系统构建。与传统方法相比,本文系统拥有极强的实用性,能快速实现智能电管家数据的交互与应用,给用户提供可靠电力信息服务。
1 智能电管家数据传输系统
1.1 数据传输系统优化设计
构建切实可行的智能电管家数据传输系统。和网络分层协议相似,PCIE协议规范也表现出分层结构,包括事务层、数据链路层以及应用程序数据。在事务层构成事务层包,在事务层包内增添某些信息用来检测数据传输情况,再传输至下一个层次,接收部分为上面过程的逆向操作[5]。
本研究所建立的方案具体为:通过PCIE内部结构的程序控制数据流的方向,来划分系统的读操作预计写操作,包含PCIE IP核的有关设置,接收引擎、DDR3控制器等,各子板块都能完成板块的独立优化,确保系统运行的稳定性。智能电管家数据传输系统结构如图1所示。
图1 智能电管家数据传输系统结构
数据传输系统驱动程序采用WinDriver软件,该软件可有效化简硬件驱动程序研发工作量,具备较强的平台适用性。运用WinDriver软件研发系统驱动程序,无需操作系统内核,驱动程序全部函数均工作于用户端形态下,经过文件交互完成驱动硬件目标[6-7]。
系统的开发语言为C语言[8],上位机系统是Windows 10,接口通信协议为PCIE,在驱动程序页面操控上位机与现场可编程逻辑门阵列(field programmable gate array,FPGA)间的数据,并在有限带宽内传输更多的数据。
通信系统中,正交频分复用技术具有广泛的使用范围,但该技术在初始阶段并没有受到人们的关注,技术的调制与解调结构十分复杂,约束了发展势头。后期人们利用离散傅里叶变换及逆变换策略,处理多个互相正交子载波与混合正交子载波内数据丢失问题,修复原有信号,解决了多载波传输与接收偏差,减少系统复杂程度。
非正交频分复用把数据流变换成多个并行低速子数据流,融合若干非正交信号后,在信道内完成传输任务[9]。非正交信号每个子载波间的非正交特征,致使接收端位置的多路非正交信号产生干扰,对此,可利用相关计算实现信号间的无干扰分离,增强数据传输可靠性。
非正交频分复用基带发送机整体结构如图2所示。组成低速并行子数据流T循环周期,即d0,d1,…,dK-1,最终对调制后的多个非正交信号合并输出。
为化简智能电管家数据传输系统复杂度,设置非正交子载波运算的约束条件,将第k个非正交子载波的频率解析式描述为
fk=kΔf
(1)
k为传输系统的自适应节点;Δf为非正交子载波间隔,且Δf≠1/T;T为传输系统的特征分量。
倘若满足Δf≠1/T的条件,每个子载波均呈现正交状态,这时剔除干扰后的非正交频分复用基带发送机的输出信号为
(2)
dk为传输系统的特征集;j为传输节点的优化值;π为传输系统的分布因子。非正交频分复用基带发送机结构如图2所示。
图2 非正交频分复用基带发送机结构
优化系统传输效率的同时,也要注重系统数据传输安全,融合椭圆曲线密码学与高级加密标准来实现智能电管家数据安全传输。以数据篡改攻击为例,智能电管家数据被篡改的模式很多,被篡改后的数据会在某个传输节点中代入正常数据[10],要通过预处理操作降低数据传输偏差。
如果系统内的传输数据集合是G=(GH,GT,Gf,Gt),GH为传输集合内的头部信息;GT为尾部信息;Gf为数据集内的函数集;Gt为数据集内的分类数据的属性集合。GH通过Gf和Gt任意搭配构成,GT通过属性集合Gt构成。GH集合长度是N,也就是N为函数集Gf内可操作的最高操作符个数,尾部信息GT的长度通过头部信息集合长度来获取,运算过程为
GT=GH(N-1)+1
(3)
GH为数据流的融合参数;N为特征序列。明确数据集内不同的参变量后,对集合内的信息通过先后次序采取编码[11-12]。编码一层信息后,利用适应度值操控编码方向。适应度函数解析式为
(4)
fi为适应度值;M为下一遍历编码的范围;C(i,j)为信息i相对于适应度样本j的值;Tj为样本j的预期值;n为适应度样本量。
根据选择的方向编码数据集内的信息,把编码后的信息构成全新数据集,也就是系统数据需要传输的集合量G′,利用椭圆曲线密码学与高级加密标准2种策略的混合算法加密集合G′,完成传输状态下的数据安全加密。
数据篡改攻击主要面向感知数据,可直接使数据内包含信息失效,攻击过程迅速[13]。在智能电管家数据传输中引入混合算法,并采用并行工作模式加快数据加密处理效率。
加密前,把待加密数据集G′划分成若干组,依次为P1,P2,…,PN,利用混合算法加密后的相对数据分组为C1,C2,…,CN。
线性混合操作数据加密时,字节换位计算为
b=c-a(CN+1)
(5)
a为明文内的多项式;c为线性转变内的固定多项式;CN为列元素。
依照式(5)获得的变换矩阵为
(6)
bN为数据负载值;aN为分部维数。使用式(6)的矩阵关联,把明文内容进行矩阵变换,解密时采取逆向换算即可。矩阵变换后,列混淆计算明文,详细流程为:01等为二进制编码,设置矩阵内某个智能电管家数据是x,计算x×01,获得的结果是x本身;计算x×02,x的二进制往左移动1个单位,右侧补0;计算x×03,结果为x×02+x;重复上述步骤完成列混淆运算,直至获得x×x的结果。
接收端利用加密的反向操作和相应的认证签名,实现密文的解密,确保智能电管家传输系统的数据安全。
1.2 数据传输技术路线
根据数据的来源分析以及相关数据采集方式的准确性,来设计数据的整体采集技术路线。在该系统中,通过设备采集,得到数据类型选择其对应的大体数据传输方式。数据传输技术路线如图3所示。
图3 数据传输技术路线
系统采用DMA通道分时复用方式解决了这一矛盾,分时复用能够解决共享资源的分配问题,为使资源得到最大程度的利用与公平,虚拟传输通道的构建与切断,都需要重新计算和分配现有的传输信道。用于接收或者发送数据各个通道的缓冲区大小计算公式为128×4/channel_total×1/2,其中channel_total占通道总数。此板块为DMA的核心控制器,用于操控并储存DMA运行过程中的各类数据。实施DMA读写操作时,利用驱动程序往寄存器录入或获取对应的参变量,FPGA按照此类参变量开启DMA读写操作,完成驱动程序对DMA的信息传输控制。
此板块的关键功能是产生对应的传输线脉冲发生器,划分成如下2种情况:
a.生成微波辐射,在数据从DDR3中获得之后,发送至先入先出队列(first input first output,FIFO),把队列导出数据安放在数据负载中,封装为满足PCIE总线规格的存储器请求。
b.驱动程序读取PCIE内的寄存器时,板块会获得对应的复杂可编程逻辑器件[14],同时把寄存器内的参变量传递给主机。
板块主要分析接收到的传输线脉冲发生器,包含如下状况:
a.分析驱动程序对PCIE的寄存器控制命令,读取寄存器信息,储存以及读取与寄存器信息有关的参变量,并由控制信号通知发送引擎板块此次接收数据的含义。
b.研究并提取复杂可编程逻辑器件内的有效信息,把信息缓存至接收引擎板块的先入先出队列中。
此板块用于操控DDR3的续写功能,把主机传递给现场可编程逻辑门阵列的信息录入板块,最终传输至主机[15]。为化简系统传输流程,通过Xilinx Core Generator产生内存接口生成器IP核,IP核能够掩盖内存底层操作的某些细节,把DDR3板块的读写时序变换成用户接口读写时序,让用户自主操控内存读写流程。
2 仿真实验
为验证本文方法实用性,使用NS-2软件完成仿真实验,使用文献[3]混沌预测法与文献[4]链路感知法作为对比方法,展现仿真实验结果真实性。设置的实验参数如表1所示。
表1 仿真实验参数
2.1 数据传输吞吐量对比
对3种数据传输策略进行吞吐量仿真实验,吞吐量越大,表明方法在增强传输效率方面的能力越好,3种方法数据传输吞吐量对比如图4所示。
图4 3种方法数据传输吞吐量对比
从图4看到,数据传输初始阶段,3种方法吞吐量相差不多,但伴随时间不断增加,本文方法吞吐量大小逐步超出2个对比方法,平均提升了10%左右。这是因为本文方法采用非正交频分复用技术,实现信号之间的无干扰分离,增强带宽利用效率,提高了数据传输整体吞吐量。
2.2 传输丢包数量对比
在3 000个数据集合内,分别挑选出最大队列长度为10 bit、20 bit、30 bit、40 bit、50 bit的各250个集合,使用3种方法进行数据传输,其中丢包情况如图5所示。可以看出,随着队列长度增大,数据包丢失个数减少,且本文方法的丢包个数要显著低于其他2个方法,这是因为所建系统的硬件,提取了复杂可编程逻辑器件内的有效信息,将信息缓存至接收引擎板块的先入先出队列,允许接近和低于最大传输速率的数据传输速率,提高系统的缓冲清空效率,最大限度降低丢包个数。
图5 3种方法数据传输丢包数量对比
2.3 传输延时对比
为体现数据传输的高效性,在不同的信道数量下,将数据传输延迟时间作为对比目标,比较不同方法的传输优劣,结果如图6所示。可以看到,信道数量越多,节点能够挑选接入的空闲信道越多,信道之间的相互扰动越少,所以延迟时间越短。本文方法的延迟时间相比于混沌预测法和链路感知法要更少,混沌预测法的延迟时间最多,链路感知法延迟时间与本文方法比较接近,但依旧不敌本文方法。综合来看,本文所建系统具备更优的实用性。
图6 不同信道个数下3种方法数据传输延迟时间
3 结束语
提出一种基于非正交频分复用的智能电管家数据传输系统,利用PCIE接口与非正交频分复用等技术,有效提高数据传输机密性与频谱利用率,改善传统数据传输吞吐量小、丢包率高等不足,具有极强的可靠性与实用性,充分满足智能电管家系统实际应用中对数据传输的需求。在测试中发现FPGA中生成的随机存取存储器存在容量较小、占用芯片资源较多等问题,未来会将其更换为板卡上的同步动态随机存取内存,有效增强数据传输量。