说明书一种快速的MIMO系统联合收发端天线选择方法
技术领域
本发明涉及无线通信领域,具体涉及一种快速的在MIMO系统中进行联合天线选择的方法。
背景技术
MIMO(Multi-Input Multi-Output)系统通过在发射端和接收端配置多个天线以获得分集增益和复用增益,使系统不增加带宽的情况下成倍提高信道容量和传输可靠性。然而MIMO系统要使用与天线数目相匹配的射频链路而使实现成本上升。快速天线选择能在减小MIMO系统实际应用中的实现复杂度和硬件成本的同时保持他们的优点。
天线选择的最优算法是穷举法,该算法需要遍历所有可能组成的选择,通过计算每个选择相对应的信道容量,从集合中选取一个子集使系统容量最大,但该方法计算复杂度较高而不适用于信道条件多变的实时环境下。为了减低算法复杂度,基于信道相关性快速选择算法被提出,大幅度降低了计算复杂度,同时信道容量损失也较大。
针对当联合接收端和发送端进行选择时,信道容量接近最优但是计算复杂度稍大的解耦算法被Gorokhov等人进一步提出,为简化计算量,通过矩阵求逆和矩阵划分达到对信道容量公式的分析简化的算法被提出;但是这些算法都需要在收发端天线数目相同的情况下运行。
由于智能算法在解决凸优化问题时的优越性能,遗传算法以大幅度减少计算复杂度的优势应用于天线选择,为改善遗传算法选择过程中天线数目与要求不匹配的问题,此后Hoang-Yang Lu等人提出了一种基于优先级的快速选择算法,但是遗传算法的多参数和交叉变异操作使得算法在复杂度和性能的均衡方面有待改善。
发明内容
本发明提供一种快速的MIMO系统联合收发端天线选择方法,能降低算法的计算复杂度,提高算法性能。
为实现上述目的,本发明的技术方案如下:
一种快速的MIMO系统联合收发端天线选择方法,包括以下步骤:
步骤1:通过对MIMO系统信道容量公式的分析,导出采用二进制编码字符串表示的信道容量,以此作为粒子群算法的适应度函数:
C=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH)---(1)]]>
其中,t的单位矩阵,用表示选择发射天线,表示选择接收天线,其中和是二进制指示符,分别表示收发天线是否被选择,Nt和Nr分别为系统的发射端和接收端配备的射频链路条数,ρ表示信噪比;
步骤2:选择具有最大信道幅值的天线作为种群的一个粒子,然后将该粒子以循环移位的方式产生其他的粒子,进行种群初始化,输入算法的各项参数,其中每个粒子由目前位置xi=[xi1xi2…xiD]、粒子速度vi=[vi1vi2…viD]和历史最优位置pi=[pi1pi2…piD]等三个D维向量表示,其中xid∈{0,1},pid∈{0,1},i=1,2,…N,d=1,2,…,D,设置个体最优值pi和全局最优值gi;
步骤3:根据适应度函数计算每个粒子的适应度值;
Fitness=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH)---(2)]]>
步骤4:将种群中各粒子的适应度值作比较,更新个体最优值pi和全局最优值gi;
步骤5:更新每个粒子的飞行速度vi,速度更新公式为:
vidt+1=vidt+c1·rand()·(pidt-xidt)+c2·rand()(gidt-xidt)---(3)]]>
步骤6:采用函数将速度值映射到被映射到区间[0,1],这里s(vid)表示位置xid取1的概率,计算每位的更新概率,通过计算更新粒子位置以产生新的粒子群,粒子位置更新公式为:
步骤7:重复步骤3到步骤6,直到达到最大迭代次数,其中拥有最高适应度值的粒子将作为输出结果,然后,全局最优粒子位置中对应的天线将作为被选择的天线进行通信。
优选地,步骤2中所述的粒子群算法的各项参数包括粒子种群数目、最大迭代次数、个体学习因子、社会学习因子。
优选地,步骤1中所述的采用二进制编码字符串表示的信道容量,以此作为粒子群算法的适应度函数,其具体实现步骤:
步骤1.1:考虑系统的发射端和接收端配备有Nt和Nr条(Nt≥Nr)射频链路,且NT≥Nt,NR≥Nr,选择Nt和Nr条天线与射频电路相匹配,用二进制编码串表示:Q=[q1Tq2T...qNTTq1Rq2R...qNRR],qiT∈{0,1},qjR∈{0,1},]]>其中和是二进制指示符,分别表示收发天线是否被选择;用表示选择发射天线,表示选择接收天线,H0表示被选择的天线矩阵;
步骤1.2:改写信道容量为:
C=log2det(INt+ρNtH0HH0)=log2det(INt+ρNtH0HO(NR-Nr×NtONr×(NT-Nt)O(NT-Nt)×(NR-Nr)H0ONr×(NT-Nt)O(NR-Nr)×NtO(NR-Nr)×(NT-Nt))=log2det(INt+ρNtH‾0HH‾0)---(5)]]>
其中:
H‾0=H0ONr×(NT-Nt)O(NR-Nr)×NtO(NR-Nr)×(NT-Nt)---(6)]]>
是Nt×Nt的单位矩阵,(*)H表示共轭转置,ON*M是零矩阵;
步骤1.3:通过编码串Q1和Q2对矩阵的选择得到和H的关系:
H‾0=P2·diag(Q2)·H·diag(Q1)·P1---(7)]]>
diag(Q2)和diag(Q1)是NR×NR和NT×NT的对角矩阵,P2和P1均为置换矩阵且满足P1HP1=INT,]]>得到:
H‾0HH‾0=P1H·diag(Q1)·HH·diag(Q2)·P2H·P2·diag(Q2)·H·diag(Q1)·P1---(8)]]>
步骤1.4:由于
|IM+UV|=|IM+UV0VIN|=|IM-U0IN||IM+UV0VIN|=|IM-UVIN|=|IM0-VIN||IM-UVIN|=|IM-U0IN+VU|=|IN+VU|---(9)]]>
即
det(IM+UV)=det(IN+VU) (10)
步骤1.5:根据公式(10)可以将联合收发端进行天线选择后的信道容量公式改写为
C=log2det(INt+ρNtH0HH0)=log2det(INt+ρNtH‾0HH‾0)=log2det(INt+ρNtP1H·diag(Q1)·HH·diag(Q2)·P2H·P2·diag(Q1)·H·diag(Q1)·P1)=log2det(INt+ρNtP1H·diag(Q1)·HH·diag(Q2)·H·diag(Q1)·P1)]]>
=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·P1·P1H·diag(Q1)·HH)=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH)---(11)]]>
为了在算法迭代搜索结束后得到最大化的信道容量的天线选择配置,采用公式(11)作为算法的适应度函数:
Fitness=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH).---(12)]]>
优选地,步骤2所述的通过选择具有最大信道幅值的天线作为种群的一个粒子,然后将该粒子以循环移位的方式产生其他的粒子,进行种群初始化,其具体实现包括以下子步骤:
步骤2.1:分别对发送端和接收端选择具有最大模值的的天线子集x0T和x0R;
步骤2.2:联结两个子集的二进制字符串得到基准粒子x0=[x0T x0R],其中
x0T=[x1Tx2T...xNTT],x0R=[x1Rx2R...xNRR]---(13)]]>
步骤2.3:设置初始种群为xi=[xiT xiR],其中
xiT=(x0T)i,0<i≤NTU(x0T),NT<i≤N,xiR=(x0R)i,0<i≤NRU(x0R),NR<i≤N---(14)]]>
其中(x0T)i是对x0T的i位循环左移,U(x0T)是对x0T中的字符串位置进行随机置换。
本发明的有益效果是:本发明通过分析MIMO系统信道容量公式,获得采用二进制编码字符串表示的信道容量函数,提出了一种基于二进制粒子群的联合收发端天线选择方法;将MIMO天线选择问题转化为组合优化问题,与传统算法相比,在天线数目增加时计算复杂度降低更明显;通过改进种群初始化减少粒子群搜索的盲目性,提高了收敛效率以获得更高信道容量。
附图说明
图1是本发明的实施例中MIMO通信系统结构图;
图2是本发明的天线选择方法流程图。
具体实施方式
下面结合附图及实例,对本发明做进一步说明。
本实施例一种快速的在MIMO系统中进行联合天线选择的方法,应用于如图1所示的MIMO通信系统,本实施例中NT取8,Nt取3,NR取16,Nr取4;MIMO系统采用8根发射天线取3根,16根接收天线取4根,由图1中射频链路数目少于天线数,需要选择出能够提供做大信道容量的天线与射频链路连接。接收端通过信道状态信息计算出不同天线选择方案对应的不同信道容量,并采用信道容量最大的方案。接收端选择模块做出天线选择的结果后,将控制 指令发送给发送端和接收端的射频链路控制部分。
天线选择的具体流程如图2所示,具体步骤如下。
步骤1:通过对MIMO系统信道容量公式的分析,导出采用二进制编码字符串表示的信道容量,以此作为粒子群算法的适应度函数:
C=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH)---(1)]]>
其中,用表示选择发射天线,表示选择接收天线。
采用二进制编码字符串表示的信道容量,以此作为粒子群算法的适应度函数,其具体实现步骤:
步骤1.1:考虑系统的发射端和接收端配备有Nt和Nr条(Nt≥Nr)射频链路,且NT≥Nt,NR≥Nr,选择Nt和Nr条天线与射频电路相匹配,用二进制编码串表示:Q=[q1Tq2T...qNTTq1Rq2R...qNRR],qiT∈{0,1},qjR∈{0,1},]]>其中和是二进制指示符,分别表示收发天线是否被选择;用表示选择发射天线,表示选择接收天线,H0表示被选择的天线矩阵;
步骤1.2:改写信道容量为:
C=log2det(INt+ρNtH0HH0)=log2det(INt+ρNtH0HO(NR-Nr×NtONr×(NT-Nt)O(NT-Nt)×(NR-Nr)H0ONr×(NT-Nt)O(NR-Nr)×NtO(NR-Nr)×(NT-Nt))=log2det(INt+ρNtH‾0HH‾0)---(5)]]>
其中:
H‾0=H0ONr×(NT-Nt)O(NR-Nr)×NtO(NR-Nr)×(NT-Nt)---(6)]]>
是Nt×Nt的单位矩阵,(*)H表示共轭转置,ON*M是零矩阵;
步骤1.3:通过编码串Q1和Q2对矩阵的选择得到和H的关系:
H‾0=P2·diag(Q2)·H·diag(Q1)·P1---(7)]]>
diag(Q2)和diag(Q1)是NR×NR和NT×NT的对角矩阵,P2和P1均为置换矩阵且满足P1HP1=INT,]]>得到:
H‾0HH‾0=P1H·diag(Q1)·HH·diag(Q2)·P2H·P2·diag(Q2)·H·diag(Q1)·P1---(8)]]>
步骤1.4:由于
|IM+UV|=|IM+UV0VIN|=|IM-U0IN||IM+UV0VIN|=|IM-UVIN|=|IM0-VIN||IM-UVIN|=|IM-U0IN+VU|=|IN+VU|---(9)]]>
即
det(IM+UV)=det(IN+VU) (10)
步骤1.5:根据公式(10)可以将联合收发端进行天线选择后的信道容量公式改写为
C=log2det(INt+ρNtH0HH0)=log2det(INt+ρNtH‾0HH‾0)=log2det(INt+ρNtP1H·diag(Q1)·HH·diag(Q2)·P2H·P2·diag(Q1)·H·diag(Q1)·P1)=log2det(INt+ρNtP1H·diag(Q1)·HH·diag(Q2)·H·diag(Q1)·P1)=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·P1·P1H·diag(Q1)·HH)=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH)---(11)]]>
为了在算法迭代搜索结束后得到最大化的信道容量的天线选择配置,采用公式(11)作为算法的适应度函数:
Fitness=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH).---(12)]]>
步骤2:选择具有最大信道幅值的天线作为种群的一个粒子,然后将该粒子以循环移位的方式产生其他的粒子,进行种群初始化,输入算法的各项参数,粒子种群数目为30,最大迭代次数为20,个体学习因子取2,社会学习因子取2,其中每个粒子由目前位置xi=[xi1xi2…xiD]、粒子速度vi=[vi1vi2…viD]和历史最优位置pi=[pi1pi2…piD]等三个D维向量表示,其中xid∈{0,1},pid∈{0,1},i=1,2,…N,d=1,2,…,D,设置个体最优值pi和全局最优值gi。
通过选择具有最大信道幅值的天线作为种群的一个粒子,然后将该粒子以循环移位的方式产生其他的粒子,进行种群初始化,其具体实现包括以下子步骤:
步骤2.1:分别对发送端和接收端选择具有最大模值的的天线子集x0T和x0R;
步骤2.2:联结两个子集的二进制字符串得到基准粒子x0=[x0T x0R],其中
x0T=[x1Tx2T...xNTT],x0R=[x1Rx2R...xNRR]---(13)]]>
步骤2.3:设置初始种群为xi=[xiT xiR],其中
xiT=(x0T)i,0<i≤NTU(x0T),NT<i≤N,xiR=(x0R)i,0<i≤NRU(x0R),NR<i≤N---(14)]]>
其中(x0T)i是对x0T的i位循环左移,U(x0T)是对x0T中的字符串位置进行随机置换。
步骤3:根据适应度函数计算每个粒子的适应度值;
Fitness=log2det(INR+ρNtdiag(Q2)·H·diag(Q1)·HH)---(2)]]>
步骤4:将种群中各粒子的适应度值作比较,更新个体最优值pi和全局最优值gi;
步骤5:更新每个粒子的飞行速度vi,速度更新公式为:
vidt+1=vidt+c1·rand()·(pidt-xidt)+c2·rand()(gidt-xidt)---(3)]]>
步骤6:采用函数将速度值映射到被映射到区间[0,1],这里s(vid)表示位置xid取1的概率,计算每位的更新概率,通过计算更新粒子位置以产生新的粒子群,粒子位置更新公式为:
步骤7:重复步骤3到步骤6,直到迭代了20次,最终拥有最高适应度值的粒子将作为输出结果,然后,全局最优粒子位置中对应的天线将作为被选择的天线进行通信。
本实施例中,步骤7的信道容量具体仿真结果如表1所示。
表1具体仿真结果
从表1中可以看出,当SNR设定为6dB时,该选择结果对应的信道容量为6.6432。当SNR设定为14时,该选择结果对应的信道容量为14.6214。当SNR设定为20dB时,该选择结果 对应的信道容量为23.1434。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所示所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。