找回密码
 立即注册
首页 业界区 安全 基于PSO粒子群优化算法的64QAM星座图的最优概率整形matl ...

基于PSO粒子群优化算法的64QAM星座图的最优概率整形matlab仿真

阮蓄 前天 11:39
1.算法仿真效果



仿真操作步骤可参考程序配套的操作视频。
2.算法涉及理论知识概要

64QAM是一种高阶调制方式,星座图中有64个星座点,每个星座点对应6比特信息。传统的74QAM采用均匀分布。通过改变改变星座图不同位置符号出现的概率,让外圈星座点出现频率降低,有利于减小平均功率,相当于增加了最小欧氏距离,从而有更好的传输性能。这就是我们所说的概率星座整形(PCS)了。它究竟有什么好处呢?
1. 具有整形增益。
2. 有望达到更高的传输容量,显著提升频谱效率。
3. 传输速率可以灵活调整,以完美适配不同的传输信道。
4. 无须多种支持多种QAM映射,仅使用方形QAM调制,需调整整形系数
PCS的关键在于如何对均匀概率的输出映射成非均匀概率幅度分布,而且该概率分布还应该是最优的。理论上可以证明Maxwell-Boltzman分布对于方形QAM整形是最优的概率分布。概率星座整形一般使用如下的公式完成:
参数v为整形因子。在本课题中,将通过PSO优化算法,搜索最佳的参数v,进一步提升概率整形后的系统性能。以64QAM 的误码率(BER)作为适应度函数。误码率越低,表明该概率整形因子 对应的星座点概率分布越优。在实际计算时,可通过蒙特卡罗仿真来估计误码率。具体步骤为:依据当前的 计算每个星座点的发送概率,生成大量发送符号,经过加性高斯白噪声(AWGN)信道传输,接收符号并进行解调,统计错误比特数,进而计算误码率。
通过PSO算法,获得最优的参数v,以降低64QAM 的误码率。
3.MATLAB核心程序
  1. ...................................................................... for i=1:Iter i for j=1:Npeop rng(i+j) if func_obj(x1(j,:))= tmps(2,k) x1(j,k) = tmps(2,k); end if x1(j,k) <= tmps(1,k) x1(j,k) = tmps(1,k); end end for k=1:dims if v1(j,k) >= tmps(2,k)/2 v1(j,k) = tmps(2,k)/2; end if v1(j,k) <= tmps(1,k)/2 v1(j,k) = tmps(1,k)/2; end end end gb1(i)=gbest1 end figure; plot(gb1,&#39;-bs&#39;,... &#39;LineWidth&#39;,1,... &#39;MarkerSize&#39;,6,... &#39;MarkerEdgeColor&#39;,&#39;k&#39;,... &#39;MarkerFaceColor&#39;,[0.9,0.0,0.0]); xlabel(&#39;优化迭代次数&#39;); ylabel(&#39;适应度值&#39;); VV = g1; save PSO_OPT.mat gb1 VV 0X_079m
复制代码

4.完整算法代码文件获得

V
 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册