一种基于非前缀码的无线通信节能编码方法与流程

文档序号:15261824发布日期:2018-08-24 21:51阅读:225来源:国知局

本发明涉及低功耗无线通信领域,特别是无线反射通信领域,具体来说,涉及一种基于非前缀码的无线通信节能方法。



背景技术:

无源感知网络中,网络中的结点通常不配备电池,而是从外部环境中获取能量,例如射频能量、风能、太阳能、震动能、热能等,这些结点通常能量匮乏。当结点能量不足时便进入休眠状态,从环境中采集能量,当能量充足时,开始工作并逐渐消耗掉已有的能量,随后又因能量不足而进入休眠状态,周而复始重复上述工作过程。rfid系统就是典型的从射频中获取能量,并短暂工作的实例。类似的场景还存在于其它无线反射通信场合,结点从环境中的射频信号里获取能量,并反射环境中的射频信号以传输信息。

在类似的场景下,节能是一个需要考虑的重要问题,因为节能可以延长节点的工作时间。

上述应用场合中,经常需要把原始数据由“发送方”传输到相邻的“接收方”,传输过程中经常使用到fm0编码。上述编码并非靠电平的高低来区分原始比特,而是通过位窗内电平是否跳变来区分。对于fm0编码,如果电平在位窗起始处跳变,而位窗中间未跳变,则表示传输的是比特位1;如果电平在位窗起始处跳变,且位窗中间也发生跳变,则表示传输的是比特位0。

实际应用过程中,对于发送方,电平的跳变通常由硬件电路产生,电平每次跳变都带来能量的消耗;对于接收方,每次跳变也带来硬件的能量消耗,最终导致收发比特位0和收发比特位1消耗的能量不同。基于实际应用中的上述情况,采用合适的方法降低收发能耗,显得非常有意义。



技术实现要素:

本发明针对现有技术的不足,提供了一种基于非前缀码的无线通信节能编码方法。

本发明通过非前缀编码的方式统筹降低收发双方的能耗(收发能耗)。工作时,“发送方”先对原始数据做等长分段,每段称为一个“原始符号”;“发送方”借助于“非前缀码码本”把每个“原始符号”转换为对应的“非前缀码码字”,并把“非前缀码码字”依次发送给“接收方”;“接收方”每收到一个“非前缀码码字”,便利用与“发送方”相同的“非前缀码码本”对该“非前缀码码字”进行解码,恢复出对应的“原始符号”,重复上述过程最终实现“发送方”到“接收方”的数据传输。

本发明的有益效果:

1、采用本发明的方法进行数据传输,比直接传输数据更加节能。

2、解码简单,接收方每收到一个比特位就可以尝试解码。

3、由于采用了编码,没有码本无法恢复出原始数据,一定程度提高了通讯的安全性。

附图说明

图1为本发明工作流程示意图;

图2为离线求非前缀码码本过程流程图;

图3为一颗有8个叶子结点的二叉树;

图4为实施例中的一个非前缀码码本二叉树;

图5为实施例中的另一个非前缀码码本二叉树;

图6为本发明的节能率二维图。

具体实施方式

以下结合附图对本发明作进一步说明。

本发明提供了一种在低功耗无线通信领域特别是无线反射通信领域的非前缀码编码方法,降低了收发能耗。

本发明提供的技术方案如下,包含“离线求非前缀码码本过程”和“在线数据传输过程”。

为了清楚地说明本发明的实现过程,首先引入如下符号:

et0,“发送方”发送一个比特位0所消耗的能量。

et1,“发送方”发送一个比特位1所消耗的能量。

er0,“接收方”接收一个比特位0所消耗的能量。

er1,“接收方”接收一个比特位1所消耗的能量。

a=(et0+er0)/(et1+er1),其中a为收发一个比特位0消耗的能量除以收发一个比特位1消耗的能量。

m,“发送方”对原始数据进行分段时,每个分段(即每个原始符号)包含的比特个数;长为m比特的分段共对应2m种可能的原始符号。

c,“发送方”编码或“接收方”解码时所用的非前缀码码本,每个非前缀码码本里有2m个非前缀码码字,用来在编码或解码时,与2m个原始符号一一对应。

ci,非前缀码码本中的某一个非前缀码码字,i=1,2,...,2m

li,非前缀码码字ci里包含的比特位个数。

bi,k,非前缀码码字ci二进制表示的第k位,为ci的二进制表示且有k=1,2,...,li。

enon,不编码时,发送方发送和接收方接收每个原始符号消耗的平均能量,有

ecode,采用非前缀码编码时,发送方发送和接收方接收每个码字消耗的平均能量,有其中i=1,2,...,2m

离线求非前缀码码本过程:

本过程离线完成,目的为求出较节能的非前缀码码本,以供“在线数据传输过程”使用,使用该非前缀码码本对原始符号进行编码、对非前缀码码字进行解码,可以降低收发能耗。

图2是本发明提供的“离线求非前缀码码本过程”,从图2中可以清楚地看出,本发明提供的离线求非前缀码码本过程包含10个步骤,依次为步骤s201至步骤s210。下面按照各步骤结合实施例做进一步说明。

步骤s201:在实际硬件上,使用设备测量et0、et1、er0、er1,测量时可以在电源上串入高精度采样电阻,测量电阻两端电压计算得到工作电流,结合电源电压和时间,确定相应的能耗;并按公式a=(et0+er0)/(et1+er1)计算a。

例如:可以在电源上串入10欧姆1%精度采样电阻。

步骤s202:选取合适的m,即“发送方”对原始数据进行分段时,每个分段包含的比特个数。m大于1。

例如:m取8,即1个字节,便于收发双方处理器对数据进行处理。

步骤s203:本步骤解优化问题并得到较优的非前缀码码本。本步骤包含6个子步骤,即步骤s204至步骤s209。优化问题的目标函数为即找到最节能的非前缀码码本。优化问题的约束条件如下:

(1)码本里的所有码字必须满足非前缀码特征,即码本里的任意码字不能是码本里其它码字的前缀。

(2)码本里的码字个数为2m,以和2m个原始符号一一对应。

(3)ecode<enon,即采用码本编码比不编码更节能(简称码本节能)。

通过对含有2m个叶子结点的二叉树的左分支标记0、右分支标记1,可以用一棵二叉树来对应一个非前缀码码本。图3展示了一颗有8个叶子结点的二叉树,从根结点出发到某个叶子结点的途经标记组合起来,得到一个二进制序列,该序列刚好对应一个非前缀码码字,该二叉树的所有叶子结点对应的非前缀码码字放在一起就构成了含有8个非前缀码码字的非前缀码码本。把该非前缀码码本用二进制表示为{00,010,011,1000,1001,101,110,111}。

上述优化问题就转化为找含有2m个叶子结点的节能二叉树的问题,利用一颗二叉树表示遗传算法中的一个染色体,步骤s203利用遗传算法,来求解较优的非前缀码码本。

步骤s204:构造初始种群,定义种群中个体即染色体的数量为x,即随机构造x棵二叉树(每棵二叉树就是一个个体,每个个体对应一个非前缀码码本),每棵二叉树都含有2m个叶子结点,且每个二叉树对应的码本都满足前述优化问题的约束条件。

例如:x取20,即构造20棵满足约束条件的二叉树。

步骤s205:计算种群中每个个体的适应度ecode。

步骤s206:通过轮盘赌的方法选择x次。

步骤s207:被选中的个体两两交叉,即两颗二叉树做交叉。参与交叉的两颗二叉树分别记为a和b,则随机的从a和b里面各选一个非叶子、非根的中间结点,并且两个被选中的中间结点为树根的子树有相同个数的叶子结点。交换两个被选中的中间结点下面的子树,完成交叉,得到两个新的个体。如果交叉得到的个体不节能(即该个体对应的码本不节能),则随机产生一个新的节能的个体以替换该不节能个体。

步骤s208:以很小的变异概率p对每棵二叉树进行变异操作,变异时随机选取该二叉树上的一个非叶子、非根的中间结点,交换该中间结点的左右子树。

例如:可以取变异概率p为0.08。

步骤s209:当前迭代次数y增加1,如果y大于最大迭代次数g,则转到步骤s210,否则转到步骤s205。

例如:最大迭代次数g取100,实际应用中,g越大求得的非前缀码码本可能越节能,但是消耗的时间越长。

步骤s210:迭代结束后进入本步骤,计算最后一代所有个体的适应度,把最节能的个体作为最终的结果,即找到最终的非前缀码码本,供“在线数据传输过程”使用。非前缀码码本有两种表示方式,一种是二进制的数组表示,可用于“发送方”编码;一种是二叉树的表示,可用于“接收方”解码,接收方收到非前缀码码字的比特位时,按照比特位的值并走向叶子结点,叶子结点下面的二进制值即为该非前缀码码字对应的原始符号。

例如:a为2,m取4,x取20,p取0.08,g取100,得到的非前缀码码本的二进制数组表示为

{

000,0010,0011,0100,0101,0110,0111,1000,

1001,1010,1011,1100,1101,1110,11110,11111

}

二叉树表示为图4;在收发能耗上,采用本非前缀码码本进行编码比不编码节能2.08%。

例如:a为3,m取4,x取20,p取0.08,g取100,得到的非前缀码码本的二进制数组表示为

{

000,001,010,0110,01110,01111,100,1010,1011,

1100,1101,1110,11110,111110,1111110,1111111

}

二叉树表示为图5;在收发能耗上,采用本非前缀码码本进行编码比不编码节能7%。

在线数据传输过程:

图1为在线数据传输过程。

原始符号101是发送方102的原始数据的一个分段(每个分段都是m个比特位),发送方102借助于非前缀码码本103的二进制数组表示,把每一个原始符号101转换为对应的非前缀码码字104(利用原始符号101的十进制值作为数组下标,在非前缀码码本103对应的二进制数组表示里面查表);

发送方102借助于无线电信号把非前缀码码字104传输给接收方105;

接收方105每收到一个比特位,便尝试利用非前缀码码本103的二叉树表示进行非前缀码解码(按收到的比特位从根结点逐步走向叶子结点,比特0向左走一步,比特1向右走一步,走到叶子结点时,叶子结点下面的二进制即为对应的原始符号),解码成功便恢复出一个原始符号101;

发送方102和接收方105不断重复上述过程,实现由发送方102到接收方105的连续数据传输。

图6给出了a为2,x取20,p取0.08,g取100,m取3到12时,采用本发明构造非前缀码码本用于编码解码传输,相对于不编码进行传输的节能百分比,从图中可知,本发明的方案切实有效,可以带来能量的节省。

以上对于本发明的具体实施方式说明是为了阐明目的,而非限定本发明的权利范围。

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