电子科技大学学报  2015, Vol. 44 Issue (2): 183-189
基于带疫苗注入VAMIGA的认知无线电波形优化    [PDF全文]
江虹 , 刘寅 , 黄玉清 , 陈春梅     
西南科技大学信息工程学院 四川 绵阳 621010
摘要: 典型基于遗传算法的认知无线电(CR)引擎多采用加权法将多个优化目标转换为单目标进行处理, 这容易漏掉最优解且引擎效率较低。针对该问题提出了一种带疫苗注入的自适应多目标免疫遗传算法(VAMIGA)。通过在CR问题中与强度Pareto进化算法(SPEA2)仿真对比, VAMIGA决策结果降低了2%~15%的发射功率, 提高了6%~8%的调制指数, 降低了6%~36%的误比特率。由此可见该算法能更有效地解决多目标优化和不同环境下的CR波形设计问题。
关键词: 认知无线电     环境稳定度     免疫遗传算法     基因注入     波形优化    
Optimization for Cognitive Radio Waveform Based on Adaptive Multi-Objective Immune Genetic Algorithm with Vaccine Injection
JIANG Hong, LIU Yin, HUANG Yu-qing, CHEN Chun-mei    
School of Information Engineering, Southwest University of Science and Technology Mianyang Sichuan 621010
Abstract: The current cognitive radio (CR) engine based on genetic algorithm usually adopts a weight-method to change multi-objective into a single objective, which may miss optimal solutions and reduce the efficiency of engine. This paper proposes an adaptive multi-objective immune genetic algorithm with vaccine injection (VAMIGA) to resolve this problem. The vaccine injection could optimize the decision result and convergence speed by saving and recycling the excellent genes. Compared with the strength Pareto evolutionary algorithm (SPEA2) on CR problems, the simulation results show that the VAMIGA reduces 2%~15% of the transmitted power and 6%~36% of the bit error rate (BER), and improves 6%~8% of modulation index. Thus, the VAMIGA can work more efficiently to solve multi-objective optimization and CR waveform design in different environment.
Key words: cognitive radio     environment stability     immune genetic algorithm     vaccine injection     waveform optimization    

遗传算法的认知无线电CR采用动态频谱接入技术以有效利用频谱,并灵活调整传输参数以满足时变服务质量要求[1-2]。在基于遗传算法(GA)的CR引擎设计中,大多通过线性权重法将多目标转换成单目标[2-4],不同权重将影响寻优方向,但权重通常难以正确选取。文献[3]通过引入先前认知循环经验减少优化过程的计算,但该法并未解决在稳定环境下仅是用户需求改变时需反复执行优化这一问题。本文提出一种基于疫苗注入的自适应多目标免疫遗传算法VAMIGA来解决权重法存在的问题及CR波形优化问题。VAMIGA基于非支配排序技术和疫苗注入技术,在寻优时根据抗体浓度自适应调节交叉、变异概率,并基于模糊推理方法从所得Pareto最优解集中选取一组得分最高的参数用于CR波形优化。

1 多目标算法 1.1 多目标优化问题

在多目标优化中,多个指标常相互冲突,可通过以下定义找一组解集满足多个指标要求。

定义1  一个具有n个变量和m个优化目标的最小化优化问题常定义为[5]

$ 最小化 \boldsymbol{y} = ({f_1}(x), {f_2}(x), \cdots, {f_m}(x)) $

条件为$\boldsymbol{x} = ({x_1}, {x_2}, \cdots, {x_n}) \in X$$\boldsymbol{y} = ({y_1}, {y_2}, \cdots, {y_m})$$\in Y$

其中,xi(i=1, 2, …, n)为决策参数,X为参数空间;yi(i=1, 2, …, m)为待优化目标,Y是目标值空间。

定义2  基于定义1,一个解cX支配其他可行解dX当且仅当:

$ \forall i \in (1, 2, \cdots, m) $
$ {f_i}(c) \le {f_i}(d) \wedge \exists j \in (1, 2, \cdots, m) $
$ {f_i}(c) < {f_i}(d) $

如果一个解不被其他任意解支配,则被认为是Pareto最优,所有可行非支配解的集合称Pareto最优解集,相应的目标函数值则称为Pareto最优前沿。

1.2 疫苗注入操作

与传统的免疫遗传算法相比,本文除使用非支配排序外,还增加了疫苗注入[6]操作。该操作首先要求创建专门的疫苗基因库用于保存优秀抗体中相同或相似的基因片段,当更新抗体时,将疫苗基因库中的基因片段按概率随机注入到新抗体中,从而加快种群的收敛速度。但为了保证种群多样性,疫苗注入操作的概率不宜过大,注入的基因片段一般不超过基因总长度的10%。在种群更新后,利用新种群中优秀抗体的基因片段更新疫苗基因库。

1.3 带疫苗注入的多目标自适应免疫遗传算法

典型的GA有NSGA-Ⅱ、SPEA2和NNIA[5]3种算法,这些算法重点关注选择机制、适应度分配和种群维持等方面的改进。针对CR引擎设计,本文提出一种VAMIGA算法,它基于均匀初始化技术,采用自适应变异策略来维持种群多样性,其步骤为:

1) 输出优化目标和约束条件作为抗原,基于免疫记忆库初始化种群,若记忆库空,则寻优空间被均匀分成n个区间,在各区间随机产生抗体。

2)基于欧式距离计算抗体适应度和浓度。

3) 更新免疫记忆库、疫苗基因库,判断终止条件是否满足,如果满足则停止;否则继续。

4) 根据抗体的适应度和浓度选择抗体进入交配池,适应度越高则进入交配池的概率越大;适应度相同,浓度越小则进入交配池的概率越大。

5) 按概率执行交叉、变异、疫苗注入操作,为 保证基因多样性及加快算法收敛,上述概率均定义为自适应函数[7]

$ P(n) = \left\{ \begin{array}{l} \varphi {\rm{ }}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;P \le \varphi \\ \left( {\frac{{{v_{\max }}-{v_\mathit{\rm{c}}}}}{{{v_{\max }}-{v_{\min }}}} + 0.5} \right)P(n-1){\rm{ }}\;\;\;\varphi < P < \theta \\ \theta {\rm{ }}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;P \ge \theta \end{array} \right. $ (1)

式中,P(n)代表当前概率,P(n-1)代表上一时刻使用概率;vmaxvmin分别代表个体可能取值的最大、最小适应度值;vc代表当前个体的适应度;φθ分别代表概率可取的最小、最大值。

1.4 VAMIGA收敛性分析

为便于VAMIGA算法模型的建立和收敛性分析,本节使用符号定义如下:

符号1:  种群大小为N,免疫记忆库大小为M,免疫个体链长度为l,抗体空间为S,种群空间为SN,当前种群迭代次数用n表示。

符号2:  使用大写、斜体字母表示种群,如X

符号3:  使用小写、斜体字母及下标i表示某一种群中第i个个体,如xi

符号4:  使用下标0表示免疫记忆库中群体,如X0

符号5:  使用f(·)表示种群中的某个个体的适应度,如f(xi)表示种群X中个体i的适应度。

符号6:  使用$\overline {f(\cdot)} $表示种群平均适应度,如$\overline {f(x)} $表示种群X的平均适应度,由定义易得关系式:

$ \overline {f(x)} = \frac{1}{N}\sum\limits_{i = 1}^N {f({x_i})} $ (2)

各算子符号的定义如下:

1) 选择算子[8]TS

$ \{ {T_\mathit{\rm{S}}}(X) = {x_i}\} = \min \left( {\frac{{f({x_i})}}{{\sum\limits_{i = 1}^N {f({x_i})} }}, {a_i}} \right) $ (3)

式中,ai表示个体i的浓度,其定义式可参考文献[8]。

2) 交叉重组算子TR

$ P\{ {T_\mathit{\rm{R}}}(X(n)) = Y(n)\} = \\\left\{ \begin{array}{l} \varphi \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;P \le \varphi \\ \left( {\frac{{{v_{\max }}-{v_\mathit{\rm{c}}}}}{{{v_{\max }}-{v_{\min }}}} + 0.5} \right)P\{ {T_\mathit{\rm{R}}}(X(n-1)) = Y(n - 1)\} \;\;\; \varphi < P < \theta \\ \theta \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;P \ge \theta \end{array} \right. $ (4)

3) 变异算子TM:定义式与TR相似。

4) 基因注入算子:TI,定义式与TR相似。

5) 记忆库更新算子[8]Tmet

$ \begin{array}{l} P\{ {T_{{\rm{met}}}}(X) = (X\backslash {x_{{i_0}}}) \cup {\rm{IM}}\_\max ({y_{{i_0}}},{x_{{i_0}}})\} = \\ \;\;\;\;\;\;\;\;\;\;\;\;\left\{ \begin{array}{l} 1\;\;\;\;\;f({y_{{i_0}}}) \ge f({x_{{i_0}}})\\ 0\;\;\;\;f({y_{{i_0}}}) < f({x_{{i_0}}}) \end{array} \right. \end{array} $ (5)

式中,

$ {y_{{i_0}}} = \mathit{\rm{chao}}{\mathit{\rm{s}}_{\mathit{\rm{create}}}}({x_{{i_0}}}) $
$ {i_0} = \min (\arg \mathop {\max }\limits_{1 \le j \le N} \{ f({x_j})\} ) $

6) 免疫影响算子[8]TIR

设:${Y_0} = \max ({X_0}, \mathit{\rm{chaos}}\_\mathit{\rm{creat}}({X_0}))$

$ P\left\{ {{T_{\mathit{\rm{IR}}}}({X_0} = {Y_0})} \right\} = \left\{ {\begin{array}{*{20}{c}} 1\\ 0 \end{array}} \right.{\rm{ }}\begin{array}{*{20}{c}} \;\;{f({Y_0}) \ge f({X_0})}\\ \;\;{f({Y_0}) < f({X_0})} \end{array} $ (6)

VAMIGA算法的个体更新过程可表示为[8]

$ \begin{array}{c} P\{ T{(X(n))_k} = {x_k}(n + 1)\} = \\ \sum\limits_{{z_k} \in S} {\sum\limits_{Z \in {S^N}} {\{ P[{T_{\rm{R}}}{{(X(n))}_k} = x(n)] \times P[{T_{\rm{S}}}(Z(n)) = {z_k}(n)]\} } } \times \\ P[{T_{\rm{M}}}({z_k}(n)) = {{x'}_k}(n)]P[{T_{\rm{I}}}({{x'}_k}(n)) = {x_k}(n + 1)] \end{array} $ (7)

所以VAMIGA算法迭代过程可表示为[8]

$ \begin{array}{c} P(n) = \prod\limits_{k = 1}^N {P\left\{ {T{{(X(n))}_k} = {{x'}_k}(n + 1)} \right\}} \times \\ \prod\limits_{k = 1}^M {P{{\left\{ {{T_{\rm{met}}}({{x'}_k}(n + 1)) = {x_k}(n + 1)} \right\}}_k}} \times \\ P\left\{ {{T_{\rm{IR}}}({X_0}(n))} \right\} \end{array} $ (8)

由定义可知:P(TS)、P(TR)、P(TM)和P(TI)均大于0,所以有:

$ P(n)\left\{ {\begin{array}{*{20}{c}} { > 0}\\ { = 0} \end{array}\;\;\;\;\;\begin{array}{*{20}{c}} {\;\;\;P({T_{{\rm{met}}}}) > 0,P({T_{{\rm{IR}}}}) > 0}\\ {{\rm{其他}}} \end{array}} \right. $ (9)

由算子TmetTIR定义可知:$\mathop {\lim }\limits_{n \to \infty } P(n) = 0$,证得该算法依概率收敛。

1.5 算法VAMIGA、NNIA和SPEA2的比较分析

为证明VAMGA有效性,本文用4个ZDT问题[5]对算法VAMIGA、NNIA和SPEA2进行测试。

1) 测试函数

T1拥有凸Pareto前沿,m=30,xi∈[0, 1],值空间Pareto最优前沿条件为g(x)=1。

$ \left\{ \begin{array}{l} {f_1}({x_1}) = {x_1}\\ g({x_2}, {x_3}, \cdots, {x_m}) = 1 + 9\sum\limits_{i = 2}^m {{x_i}/(m-1)} \\ h({f_1}, g) = 1-\sqrt {{f_1}/g} \end{array} \right. $ (10)

T2T1相比有非凸Pareto前沿[5]m=30,xi∈[0, 1],值空间Pareto最优前沿条件为g(x)=1。

$ \left\{ \begin{array}{l} {f_1}({x_1}) = {x_1}\\ g({x_2}, {x_3}, \cdots, {x_m}) = 1 + 9\sum\limits_{i = 2}^m {{x_i}/(m-1)} \\ h({f_1}/g) = 1-{({f_1}/g)^2} \end{array} \right. $ (11)

T3具有离散的特性,m=30,xi∈[0, 1],值空间Pareto最优前沿条件为g(x)=1。它的Pareto前沿由离散的几个凸部分组成[5]

$ \left\{ \begin{array}{l} {f_1}({x_1}) = {x_1}\\ g({x_2}, {x_3}, \cdots, {x_m}) = 1 + 9\sum\limits_{i = 2}^m {{x_i}/(m-1)} \\ h({f_1}/g) = 1-\sqrt {{f_1}/g}-({f_1}/g)\sin (10\pi {f_1}) \end{array} \right. $ (12)

T4的特点是Pareto最优解沿全局Pareto最优前沿非均匀分布;离Pareto最优前沿越近解越稀疏,反之越密集[5]

$ \left\{ \begin{array}{l} {f_1}({x_1}) = 1-\exp (-4{x_1}){\sin ^6}(6\pi {x_1})\\ g({x_2}, {x_3}, \cdots, {x_m}) = 1 + 9\sum\limits_{i = 2}^m {{x_i}/{{(m-1)}^{0.25}}} \\ h({f_1}/g) = 1 - {({f_1}/g)^2} \end{array} \right. $ (13)

式中,m=10,xi∈[0, 1],值空间Pareto最优前沿条件为g(x)=1。

2) 比较分析

GA参数设置:N=200、G=100、${\theta _{\rm{c}}} = 0.9$${\varphi _{\rm{c}}} = 0.8$${\theta _m} = 0.1$${\varphi _m} = 0.01$${\theta _i} = 0.2$${\varphi _i} = 0.1$Nint=4。仿真30次,其平均仿真结果如图 1~图 4所示。

图1 T1测试函数性能比较
图2 T2测试函数性能比较
图3 T3测试函数性能比较
图4 T4测试函数性能比较

图 1所示,VAMIGA最优解集均匀分布于Pareto最优前沿(平均距离0.036)。SPEA2约有20%解集中于f1=0处,与最优前沿平均距离约为1.3。NNIA的解比SPEA2和VAMIGA约少10%,与最优前沿平均距离约为0.4。对T2的比较如图 2所示,SPEA2的大部分解和VAMIGA的所有解都均匀分布于最优前沿。SPEA2约有4%的解集中于f1=0处,且与最优前沿最大距离约为1.3。NNIA的解数目约比VAMIGA和SPEA2少40%,且其与最优前沿的平均距离约为0.18。图 3中,VAMIGA解均匀分布于5个离散前沿部分,其平均距离约为0.03。SPEA2与最优前沿平均距离约为0.6,最大距离为0.8,且分布于第3([0.4, 0.6])和第5([0.8, 1])区域的解比VAMIGA约少20%。NNIA解与最优前沿的平均距离约为0.3。图 4中,SPEA2解与最优前沿平均距离约为0.38,NNIA解数目比VAMIGA和SPEA2约少50%,与Pareto最优前沿平均距离约为0.35。

以上仿真表明,VAMIGA能高效解决多目标优化问题,其寻优解在进化代数较小时仍然能均匀分布于Pareto最优前沿区域。由于其快速准确的收敛特性,该算法比较适用于实时多目标优化问题。

2 认知引擎设计

CR需动态感知环境,以最小化资源消耗来保证服务质量。感知信息包括:干扰情况、可用频谱、传输距离等参数[9]。当通信环境或用户需求改变时,CR启动优化过程来求解适应当前环境和服务需求的波形。CR引擎工作时,优化波形可以重新构造或从以前认知循环已有波形集合中选取。

2.1 CR参数

1) 环境参数

本文考虑3个环境参数:噪声功率谱密度n0、信道衰落L和传输距离D,这些参数被用于计算抗体适应度。为描述环境稳定度,将上述参数通过环境参数ES映射到一个归一化范围,其定义为:

$ \left\{ \begin{array}{l} {g_1}(x, y) = \max (\lg v, \lg v')\\ {g_2}(x, y) = \min (\lg v, \lg v')\\ {g_{\mathit{\rm{tmp}}}}(x, y) = {g_1}(|x|, |y|)({g_1}(x, y)- {g_2}(x, y))\\ \mathit{\rm{ES}} = 1 + \frac{1}{{\exp (1)- 1}} \times \\ \left[{1- \exp \left[{\sum\limits_{j = 1}^n {{w_j}} } \right.} \right.\left. {\left. {\frac{{{g_{\rm{tmp}}}({x_j}, {{x'}_j})}}{{{g_{\rm{tmp}}}({x_j}, {{x'}_j}) + {g_2}(|{x_j}|, |{{x'}_j}|)}}} \right]} \right] \end{array} \right. $ (14)

式中,vv'分别代表前一个和当前认知循环中环境参数的检测值,可以是n0LD等;n为参数个数;wj为参数权重,权重和为1;ES取值范围为[0, 1],值越小表明环境变化越大。

2) 传输参数

CR优化中,传输参数表示一组计算波形的决策变量,本文考虑3个典型参数:传输功率Pt、调制类型MT和调制系数M

3) 目标函数

在一个多载波系统中,最小化能量消耗目标函数定义为[3]

$ {f_{\min \_\mathit{\rm{power}}}} = \frac{P}{{{N_{\rm{c}}}{P_{\max }}}} $ (15)

式中,Nc为子载波数;P代表各子载波传输功率之和,Pmax是最大传输功率。最小化BER目标函数为[3]

${f_{\min \_{\rm{BER}}}} = \lg (0.5)/\lg ({P_{{\rm{average}}}}) $ (16)

式中,Paverage是各子载波的平均误比特率。在高斯信道中,QAM调制的错误概率为[9]

$ {P_{\rm{e}}} = \frac{{2(1-1/\sqrt M )}}{{{{\log }_2}(M)}}{\rm{erfc}}\sqrt {\frac{{1.5{{\log }_2}(M)}}{{M-1}}\frac{{{E_\mathit{\rm{b}}}}}{{{n_0}}}} $ (17)

式中,Eb是单位比特能量;n0是噪声功率谱密度。最大化数据率目标函数设计为:

$ {f_{\max \_\mathit{\rm{bit}}}} = 1-\frac{{\sum\limits_{j = 1}^{{N_\mathit{\rm{c}}}} {{{\log }_2}({M_j}){R_\mathit{\rm{S}}}} }}{{{N_\mathit{\rm{c}}}{{\log }_2}({M_{\max }}){R_\mathit{\rm{S}}}}} $ (18)

式中,RS是符号率;Mj代表调制指数;Mmax是最大可用调制系数。

2.2 CR智能算法

1) 基于VAMIGA的CR引擎设计

在CR引擎中,VAMIGA用于寻找一组参数可同时优化2.1节中所设计的性能指标,其流程如下。

① 识别优化场景:VAMIGA接受环境信息和用户需求以判断是否启动优化。如果通信环境改变,但以前认知循环所求解仍可满足用户需求时,不启动优化;反之则启动优化过程。

② 参数初始化:算法运行前,所有参数需根据应用场景初始化,各参数初始化按1.5节执行。

③ 编码并初始化种群:种群中各个体由传输功率、调制方式等参数构成的基因组成,算法VAMIGA初始化时其寻优空间被划分为Nint个小区,根据经验在各小区间内随机产生初始个体。

④ 计算种群适应度并进行选择:由2.1节目标函数值归类不同非支配前沿个体,为每个非支配前沿Fi个体分配排序号i,值越小个体适应度越高;若个体适应度相同,则拥挤距离大者执行遗传操作。

⑤ 交叉、变异、疫苗注入:根据个体适应度使用赌盘法选择两个个体执行交叉、变异、疫苗注入操作。为保持种群多样性,本算法根据种群平均拥挤距离自适应调整交叉、变异、疫苗注入概率。

⑥ 算法终止:经种群评价、选择、遗传后,进化次数加1,次数达到阈值或得到期望解时,终止。

2) 选择算法

VAMIGA得到应用场景的Pareto最优解集后,需相应方法从Pareto集中选择一最优适应解。本文采用模糊推理方法从最优解集中选择一得分最高的个体作为最优适应解,定义表 1所示语言变量。

表1 语言变量及其取值范围

表 1中,Pmax是最大传输功率;Bg和BRg分别是目标误比特率和数据率;PL, 、BERL和BRL是输入语言变量;Score是输出语言变量。推理规则用于计算参数得分,根据不同用户需求有3个不同的推理规则集,如表 2所示为BER需求的规则集。

表2 BER规则集
3 仿真分析

设应用场景采用30个子载波的MB-OFMD UWB多载波系统,其通信环境稳定。有3种用户需求:1)最小化能耗:平均能耗小于0.3 mW,平均BER < 0.01,平均数据率大于0.3BRmax(平均调制指数大于0.3倍最大调制指数)。2)最小化BER:平均BER < 10-4,能耗小于0.5Pmax(0.3 mW),数据率大于0.3BRmax。3)最大化数据率:平均数据率大于0.7BRmax,平均能耗小于0.6Pmax,BER≤0.1。系统是具有7种调制指数的QAM调制。符号率Rs=10-6 S/ps,噪声功率权值w1=0.4,信道衰落权值w2=0.3,传输距离权值w3=0.3。设n0=1.338×10-8D=5 m,L为[0, 1]中随机数。VAMIGA参数:N=200,G=100;${\theta _\mathit{\rm{c}}} = 0.9$${\varphi _\mathit{\rm{c}}} = 0.8$${\theta _m} = 0.1$${\varphi _\mathit{\rm{m}}} = 0.01$${\theta _i} = 0.2$${\varphi _i} = 0.1$Nint=4。VAMIGA的Pareto解集包含3种用户需求下的最优解,当环境稳定仅用户需求改变时,只需从Pareto解集中选择相应最优解。本文仿真了30个认知周期,假设用户需求和环境仅在第10和11、第20和21认知周期间变化。

为说明VAMIGA在解决CR问题时的优越性,本文使用SPEA2算法与之对比,该算法所使用的环境参数与遗传参数与VAMIGA算法基本一致。

仿真结果如图 5~图 7所示。a图表示信道衰落;b图表示可靠性(BER);c图表示数据率(比特/符号);d图描述了能耗特性。认知周期1~10中最小化能耗优化的仿真如图 5所示,VAMIGA结果为:平均信道衰落0.518 6 dB,平均功率0.24 mW;而SPEA2结果为:平均信道衰落为0.518 3,平均功率为0.265 mW。VAMIGA优化结果为子载波平均调制指数3.5(> 0.3BRmax),最大为5;SPEA2优化结果子载波平均调制指数为3.16,最大为5。如图 5b,VAMIGA平均BER为0.004 554(< 0.01);而SPEA2平均BER为0.006 201。由此可知,VAMIGA相比于SPEA2,在平均功率均小于0.3 mW的前提下,VAMIGA的平均调制指数比SPEA2高6个百分点,平均BER低36个百分点。

图5 最小化能量消耗
图6 最小化BER
图7 最大化数据率

第10~11周期仿真如图 6所示,此时需最小化BER(< 10-4)。如图 6a,VAMIGA信道衰落为0.623 2 dB,ES为0.989 7;SPEA2信道衰落为0.612 3 dB,ES为0.970 2。两算法优化结果与前10周期相比,系统可靠度均增加到95%以上,VAMIGA的平均BER为4.491 2× 10-5;而SPEA2平均BER为6.625 43×10-5。如图 6c,VAMIGA各子载波调制指数平均值为2.6;而SPEA2各子载波调制指数平均值接近于2.4。在图 6d中,VAMIGA平均功率为0.25 mW;而SPEA2平均功率为0.296 mW。从图 6知,在满足BER最小化条件下,VAMIGA相比于SPEA2,其平均子载波调制指数高8个百分点,平均功率低15个百分点。

第21~30认知周期的仿真结果如图 7所示,用户主要需求为最大化数据率(M > 4.9),此时VAMIGA算法的平均信道衰落0.468 7 dB,ES为0.987 4;SPEA2算法的平均信道衰落为0.470 1 dB,ES为0.989 6。VAMIGA算法结果中调制指数平均值为6.1(> 4.9);而SPEA2算法结果的调制指数平均值为5.88。VAMIGA算法结果的平均发射功率为0.35 mW (< 0.36 mW);而SPEA2算法的平均发射功率为0.358 9 mW。VAMIGA算法的平均BER为0.054 4 (< 0.1);而SPEA2算法的平均BER为0.060 2。由此可见,在需求为最大化数据率时,VAMIGA相比于SPEA2,其发射功率低2.4个百分点,平均BER低了6.3个百分点。

仿真结果表明,算法VAMIGA和SPEA2都能以最小代价优化CR的性能尽可能满足用户需求,特别在环境稳定度很好时。但通过比较各方面的优化效果,VAMIGA算法都明显优于SPEA2算法。

4 结论

当前典型基于GA的CR引擎大多使用加权法将多目标转换为单目标进行处理,这容易漏掉最优解或无法得到最优解。当用户需求在稳定环境下改变时,基于加权方法的CR引擎需重新启动优化来得到当前应用场景下的适应解,降低了算法适应性。本文提出一种VAMIGA算法用于CR引擎设计,通过4个典型ZDT函数测试,证明了该算法的有效性。将VAMIGA算法用于CR波形设计,表明了VAMIGA算法如何将前期认知循环所积累的经验知识用于当前波形优化。采用模糊推理选择方法,从VAMIGA算法得到的Pareto最优解集中选择出适应于当前应用场景的波形参数。通过与SPEA2算法进行仿真对比,证明了VAMIGA算法能更有效地处理波形优化问题。

参考文献
[1]
STOTAS S, NALLANATHAN A. On the throughput and spectrum sensing enhancement of opportunistic spectrum access cognitive radio networks[J]. IEEE Transactions on Wireless Communications, 2012, 11(1): 97–107. DOI:10.1109/TWC.2011.111611.101716
[2]
肖海林, 王鹏, 聂在平, 等. 基于遗传算法的多基站协作通信功率分配方案[J]. 电子科技大学学报, 2014, 43(1): 26–30.
XIAO Hai-lin, WANG Peng, NIE Zai-ping, et al. Power allocation scheme based on genetic algorithm for multi-base station cooperative communication[J]. Journal of University of Electronic Science and Technology of China, 2014, 43(1): 26–30.
[3]
CHEN Pei-pei, ZHANG Qin-yu, WANG Ye, et al. Multi-objective resources allocation for OFDM-based cognitive radiosystems[J]. Information Technology Journal, 2010, 9(3): 494–499. DOI:10.3923/itj.2010.494.499
[4]
YOURIM Y, YONG-HYUK K. An efficient genetic algorithm for maximum coverage deployment in wireless sensor networks[J]. IEEE Transactions on Cybernetics, 2013, 43(5): 1473–1483. DOI:10.1109/TCYB.2013.2250955
[5]
GONG Mao-guo, JIAO Li-cheng, DU Hai-feng, et al. Multi-objective immune algorithm with non-dominated neighbor-based selection[J]. Evolutionary Computation, Summer, 2008, 16(2): 255–255.
[6]
JIN Zong-xin, FAN Hong-juan. A new immune genetic algorithm for 0-1 knapsack problem[C]//The 6th International Symposium on Computational Intelligence and Design (ISCID). Hangzhou: IEEE Press, 2013.
[7]
LIU Yin, ZHOU Ying-ping, CHEN Shuai, Fast MCVI based on improved NSGA2[C]//The 6th International Conference on Intelligent Human-Machine Systems and Cybernetics. Hangzhou: IEEE Press, 2012.
[8]
李军华, 黎明. 噪声环境下遗传算法的收敛性和收敛速度估计[J]. 电子学报, 2011, 39(8): 1898–1920.
LI Jun-hua, LI Ming. An analysis on convergence and convergence rate estimate of genetic algorithms in noisy environments[J]. Acta Electronica Sinica, 2011, 39(8): 1898–1920.
[9]
VU X T, DI RENZO M, DUHAMEL P. Improved receiver for cooperative wireless communication systems using QAM and Galois field network coding[C]// International Conference on Advanced Technologies for Communications (ATC). Hanoi, Vietnam: IEEE Press, 2012.