发明名称 基于量子Hopfield神经网络和量子鱼群算法的鲁棒多用户检测方法
摘要 本发明涉及一种考虑在冲击噪声环境下的基于量子Hopfield神经网络和量子鱼群算法的鲁棒多用户检测方法。本发明包括:建立鲁棒多用户检测模型;激活量子Hopfield神经网络产生一个次优解;初始化量子鱼群;采用量子人工鱼群算法的演进规则对种群进行演化;根据食物浓度函数对所有新位置计算食物浓度值;得到的全局最优位置就是检测多个用户的发射数据,输出检测结果。本发明解决了强冲击噪声环境下的鲁棒多用户检测问题,使用所设计的量子Hopfield神经网络和量子鱼群算法作为演进策略,所设计的方法具有收敛速度快,收敛精度高的优点。
申请公布号 CN103795436A 申请公布日期 2014.05.14
申请号 CN201410061839.6 申请日期 2014.02.24
申请人 哈尔滨工程大学 发明人 高洪元;李晨琬;徐从强;齐研;邵梦琦;高璐
分类号 H04B1/7105(2011.01)I;G06N3/00(2006.01)I;G06N3/02(2006.01)I 主分类号 H04B1/7105(2011.01)I
代理机构 代理人
主权项 1.一种基于量子Hopfield神经网络和量子鱼群算法的鲁棒多用户检测方法,其特征在于:(1)建立鲁棒多用户检测模型:对于离散同步CDMA信号模型中的多用户检测,接收信号为K个用户信号与噪声信号之和,即<maths num="0001"><![CDATA[<math><mrow><mi>r</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>A</mi><mi>k</mi></msub><msub><mi>b</mi><mi>k</mi></msub><msub><mi>s</mi><mi>k</mi></msub><mo>+</mo><mi>n</mi><mo>=</mo><mi>SAb</mi><mo>+</mo><mi>n</mi><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msub><mi>s</mi><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><msqrt><mi>N</mi></msqrt></mfrac><msup><mrow><mo>[</mo><msub><mi>s</mi><mrow><mn>1</mn><mi>k</mi></mrow></msub><mo>,</mo><msub><mi>s</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>s</mi><mi>Nk</mi></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow></math>]]></maths>s<sub>jk</sub>∈{-1,+1}是用户k的归一化特征波形;N是处理增益;b<sub>k</sub>∈{-1,+1}和A<sub>k</sub>分别是用户k的数据比特和信号幅值;A=diag{A<sub>1</sub>,A<sub>2</sub>,…,A<sub>K</sub>}是以{A<sub>1</sub>,A<sub>2</sub>,…,A<sub>K</sub>}为对角线元素的对角矩阵;b=[b<sub>1</sub>,b<sub>2</sub>,…,b<sub>K</sub>]<sup>T</sup>;n=[n<sub>1</sub>,n<sub>2</sub>,…,n<sub>N</sub>]<sup>T</sup>是独立同分布的冲击背景噪声向量,冲击噪声环境的去相关鲁棒多用户检测器为<img file="FDA0000468805290000013.GIF" wi="901" he="128" />鲁棒多用户检测问题可由误差绝对值的幂的倒数的最大化求得,即<img file="FDA0000468805290000014.GIF" wi="896" he="205" />0.1≤ρ<2,当用户数较小时,即当K≤20,ρ从0.1到2之间等间隔Δ取Num个值,在每个取值点使用穷尽搜索方法检查所搜索到的测试用户最小误码率确定最优ρ值,否则,使用步骤(2)到步骤(8)对每个取值点进行Monte carlo仿真,根据测试用户最小误码率找到最优ρ值;(2)激活量子Hopfield神经网络产生一个次优解:网络输入量子态通过硬判决为二进制状态,量子神经元输出为量子态<maths num="0003"><![CDATA[<math><mrow><mover><mi>u</mi><mo>&OverBar;</mo></mover><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>u</mi><mn>1</mn></msub><mo>,</mo><msub><mi>u</mi><mn>2</mn></msub><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>u</mi><mi>K</mi></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>u</mi><mn>1</mn></msub></mtd><mtd><msub><mi>u</mi><mn>2</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>u</mi><mi>K</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&beta;</mi><mn>1</mn></msub></mtd><mtd><msub><mi>&beta;</mi><mn>2</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>&beta;</mi><mi>K</mi></msub></mtd></mtr></mtable></mfenced><mi>T</mi></msup><mo>,</mo></mrow></math>]]></maths>-1≤u<sub>i</sub>,β≤1,量子Hopfield神经网络输出为二进制状态v=[v<sub>1</sub>,v<sub>2</sub>,…,v<sub>K</sub>]<sup>T</sup>,量子神经元的外部量子输入即量子偏置,为<img file="FDA0000468805290000016.GIF" wi="380" he="99" />则第i个量子神经元在t时刻的状态为<img file="FDA0000468805290000017.GIF" wi="345" he="73" />当量子神经元i输入为u<sub>i</sub>=[u<sub>i</sub>,β<sub>i</sub>],量子旋转角度为<img file="FDA0000468805290000018.GIF" wi="648" he="145" />其中h<sub>it</sub>=(g<sub>l</sub>-0.5)C<sub>a</sub>/[K(t-1)+i],g<sub>l</sub>=g<sub>K(t-1)+i</sub>是由混沌方程产生的混沌随机数,C<sub>a</sub>为缩放因子,<img file="FDA0000468805290000019.GIF" wi="86" he="76" />需要钳值在<img file="FDA00004688052900000110.GIF" wi="200" he="116" />t代表每个神经元的更新次数,若Hopfield神经网络的能量函数为<img file="FDA00004688052900000111.GIF" wi="459" he="128" />w=W/max{|F|<sub>1</sub>,|F<sub>2</sub>|,…,|F<sub>K</sub>|},I=F/max{|F|<sub>1</sub>,|F<sub>2</sub>|,…,|F<sub>K</sub>|},则量子Hopfield神经网络能量函数为<maths num="0004"><![CDATA[<math><mrow><mover><mi>E</mi><mo>&OverBar;</mo></mover><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msubsup><mi>v</mi><mi>i</mi><mi>t</mi></msubsup><msub><mi>w</mi><mi>ij</mi></msub><msubsup><mi>v</mi><mi>j</mi><mi>t</mi></msubsup><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>I</mi><mi>i</mi></msub><msubsup><mi>v</mi><mi>i</mi><mi>t</mi></msubsup><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>v</mi><mi>T</mi></msup><mi>wv</mi><mo>-</mo><msup><mi>I</mi><mi>T</mi></msup><mi>v</mi></mrow></math>]]></maths>其中,w<sub>ij</sub>=w<sub>ji</sub>,w<sub>ii</sub>=0,(3)初始化量子鱼群:种群规模为M,第i个量子人工鱼的量子位置为<img file="FDA0000468805290000022.GIF" wi="462" he="77" />i=1,2,…,M,<img file="FDA0000468805290000023.GIF" wi="237" he="70" />k=1,2,…,K,所有量子人工鱼的当前量子位置的量子位均被初始化为<img file="FDA0000468805290000024.GIF" wi="160" he="79" />第i个量子人工鱼第k个量子位的测量方程为<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>ik</mi><mi>z</mi></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mo>+</mo><mn>1</mn><mo>,</mo><msubsup><mi>rand</mi><mi>ik</mi><mi>z</mi></msubsup><mo>></mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn><mo>,</mo><msubsup><mi>rand</mi><mi>ik</mi><mi>z</mi></msubsup><mo>&le;</mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths><img file="FDA0000468805290000026.GIF" wi="128" he="69" />为均匀分布在[0,1]之间的随机数,把第一个量子人工鱼的位置<img file="FDA0000468805290000027.GIF" wi="437" he="77" />赋值为量子Hopfield神经网络的最后输出值,对其它M-1个量子人工鱼量子位置的量子位测量得到位置<img file="FDA0000468805290000028.GIF" wi="449" he="77" />(i=2,3,…,M),量子人工鱼的局部最优位置<img file="FDA0000468805290000029.GIF" wi="448" he="77" />的初值与<img file="FDA00004688052900000210.GIF" wi="58" he="70" />相同,(i=1,2,…,M);(4)食物浓度函数设置为<img file="FDA00004688052900000211.GIF" wi="695" he="204" />所有量子人工鱼至今所找到的全局最优位置为<img file="FDA00004688052900000212.GIF" wi="502" he="86" />所有量子人工鱼至今所找到的全局第2最优位置为<maths num="0006"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>b</mi><mi>z</mi></msubsup><mo>=</mo><msup><mrow><mo>[</mo><msubsup><mi>p</mi><mrow><mi>b</mi><mn>1</mn></mrow><mi>z</mi></msubsup><mo>,</mo><msubsup><mi>p</mi><mrow><mi>b</mi><mn>2</mn></mrow><mi>z</mi></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>p</mi><mi>bK</mi><mi>z</mi></msubsup><mo>]</mo></mrow><mi>T</mi></msup><mo>;</mo></mrow></math>]]></maths>(5)采用量子人工鱼群算法的演进规则对种群进行演化,更新每个量子人工鱼到达新的量子位置和位置,第i个量子人工鱼从以下3种量子行为中选择一种量子行为迭代更新该人工鱼的所有量子位;1)量子觅食行为:第i个量子人工鱼第k个量子位的量子旋转角更新为<maths num="0007"><![CDATA[<math><mrow><msubsup><mi>&theta;</mi><mi>ik</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msub><mi>c</mi><mn>1</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>ik</mi><mi>z</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>gk</mi><mi>z</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中c<sub>1</sub>和c<sub>2</sub>为常数;2)量子追尾行为:第i个量子人工鱼第k个量子位的量子旋转角更新为<img file="FDA00004688052900000215.GIF" wi="402" he="86" />其中c<sub>3</sub>常数;3)量子聚群行为:第i个量子人工鱼第k个量子位的量子旋转角更新为<maths num="0008"><![CDATA[<math><mrow><msubsup><mi>&theta;</mi><mi>ik</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msub><mi>c</mi><mn>1</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>ik</mi><mi>z</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mrow><mn>2</mn><mi>k</mi></mrow><mi>z</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>gk</mi><mi>z</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>4</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>bk</mi><mi>z</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中c<sub>4</sub>常数;确定量子旋转角后第i个量子人工鱼第k个量子位的演进为:<maths num="0009"><![CDATA[<math><mrow><msubsup><mi>y</mi><mi>ik</mi><mrow><mi>&epsiv;</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>abs</mi><mrow><mo>(</mo><msubsup><mi>y</mi><mi>ik</mi><mi>&epsiv;</mi></msubsup><mi>cos</mi><msubsup><mi>&theta;</mi><mi>ik</mi><mrow><mi>&epsiv;</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msqrt><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>ik</mi><mi>&epsiv;</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mi>sin</mi><msubsup><mi>&theta;</mi><mi>ik</mi><mrow><mi>&epsiv;</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中abs(·)为取绝对值的函数,确保量子位在[0,1]之间,位置是通过测量方程对量子位置的每一位进行测量得到的,第i个量子人工鱼第k个量子位的测量方程为<maths num="0010"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>ik</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mo>+</mo><mn>1</mn><mo>,</mo><msubsup><mi>rand</mi><mi>ik</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>></mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr><mtr><mtd><mo>-</mo><mn>1</mn><mo>,</mo><msubsup><mi>rand</mi><mi>ik</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>&le;</mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>ik</mi><mi>z</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>(6)根据食物浓度函数对所有新位置计算食物浓度值,若<img file="FDA0000468805290000032.GIF" wi="356" he="76" />则<img file="FDA0000468805290000033.GIF" wi="245" he="76" />否则<maths num="0011"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>i</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>p</mi><mi>i</mi><mi>z</mi></msubsup><mo>,</mo></mrow></math>]]></maths><maths num="0012"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>g</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>arg</mi><munder><mi>max</mi><msub><mi>p</mi><mi>i</mi></msub></munder><mo>{</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>p</mi><mn>1</mn><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>p</mi><mn>2</mn><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>p</mi><mi>M</mi><mrow><mi>z</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>}</mo><mo>;</mo></mrow></math>]]></maths>(7)如果达到最大迭代代数,算法终止;否则,迭代次数加1,即z=z+1,返回步骤五继续进行;(8)得到的全局最优位置就是检测多个用户的发射数据,输出检测结果。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室
您可能感兴趣的专利