基于遗传算法的64QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
目录
1.算法仿真效果
2.算法涉及理论知识概要
3.MATLAB核心程序
4.完整算法代码文件获得
1.算法仿真效果
matlab2022a仿真结果如下(完整代码运行后无水印):
GA优化过程:

优化前后星座图对比:

(优化后,边缘的星座点会聚集到中心,所以整体看,星座点边缘区域会变小或者消失)
优化前后误码率对比:

仿真操作步骤可参考程序配套的操作视频。
2.算法涉及理论知识概要
64QAM 是一种高阶调制方式,星座图中有 64 个星座点,每个星座点对应 6 比特信息。传统的 64QAM 采用均匀分布。通过改变改变星座图不同位置符号出现的概率,让外圈星座点出现频率降低,有利于减小平均功率,相当于增加了最小欧氏距离,从而有更好的传输性能。这就是我们所说的概率星座整形(PCS)了。它究竟有什么好处呢?
1. 具有整形增益。
2. 有望达到更高的传输容量,显著提升频谱效率。
3. 传输速率可以灵活调整,以完美适配不同的传输信道。
4. 无须多种支持多种QAM映射,仅使用方形QAM调制,需调整整形系数
PCS的关键在于如何对均匀概率的输出映射成非均匀概率幅度分布,而且该概率分布还应该是最优的。理论上可以证明Maxwell-Boltzman分布对于方形QAM整形是最优的概率分布。概率星座整形一般使用如下的公式完成:

参数v为整形因子。在本课题中,将通过GA优化算法,搜索最佳的参数v,进一步提升概率整形后的系统性能。以 64QAM 的误码率(BER)作为适应度函数。误码率越低,表明该概率整形因子 对应的星座点概率分布越优。在实际计算时,可通过蒙特卡罗仿真来估计误码率。具体步骤为:依据当前的 计算每个星座点的发送概率,生成大量发送符号,经过加性高斯白噪声(AWGN)信道传输,接收符号并进行解调,统计错误比特数,进而计算误码率。
通过GA算法,获得最优的参数v,以降低 64QAM 的误码率。
3.MATLAB核心程序
................................................................
MAXGEN = 15;
NIND = 20;
Nums = 1;
Chrom = crtbp(NIND,Nums*10);%sh
Areas = [];
for i = 1:NumsAreas = [Areas,[0;0.25]];% 优化概率整形参数v
end
FieldD = [rep([10],[1,Nums]);Areas;rep([0;0;0;0],[1,Nums])];gen = 0;
for a=1:1:NIND %计算对应的目标值X = rand(1,Nums)/10;%初始值[epls] = func_obj(X);E = epls;Js(a,1) = E;
endObjv = (Js+eps);
gen = 0; %%
while gen < MAXGEN genPe0 = 0.998;pe1 = 0.002; FitnV=ranking(Objv); Selch=select('sus',Chrom,FitnV); Selch=recombin('xovsp', Selch,Pe0); Selch=mut( Selch,pe1); phen1=bs2rv(Selch,FieldD); for a=1:1:NIND X = phen1(a,:);%计算对应的目标值[epls]= func_obj(X);E = epls;JJ(a,1) = E;end Objvsel=(JJ); [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel); gen=gen+1; %保存参数收敛过程和误差收敛过程以及函数值拟合结论Error(gen) = mean(JJ) ;[V,I] = min(JJ);VVV(gen) = phen1(I,:);VVV2(gen) = mean2(phen1) ;
end figure;
plot(Error,'linewidth',2);
grid on
xlabel('迭代次数');
ylabel('遗传算法优化过程');
legend('Average fitness');[V,I] = min(JJ);
VV = phen1(I,:);save GA_OPT.mat Error VV
0X_076m
4.完整算法代码文件获得
V
相关文章:
基于遗传算法的64QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): GA优化过程: 优化前后星座图对比: (优化后…...
从零开始玩转Docker:轻松开启容器化之旅
一、什么是 Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。简单来说,Docker 就像是一个超级 “快递箱”,…...
kafka生产端之架构及工作原理
文章目录 整体架构元数据更新 整体架构 消息在真正发往Kafka之前,有可能需要经历拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)等一系列的作用,那么在此之后又会…...
38、【OS】【Nuttx】OSTest分析(3):参数传递
背景 接之前 blog 36、【OS】【Nuttx】OSTest分析(2):环境变量测试 37、【OS】【Nuttx】OSTest分析(2):任务创建 分析完环境变量测试,和任务创建的一些关键要素,OSTest 进入下一阶段…...
存储异常导致的Oracle重大生产故障
📢📢📢📣📣📣 作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验 Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯…...
C语言时间相关宏定义
在C语言中,预处理器提供了一些与时间相关的宏定义,用于在编译时获取日期、时间等信息。除了 __TIMESTAMP__ 和 __DATE__,还有以下相关的宏定义: __DATE__ 当前编译日期的字符串,格式为 "Mmm dd yyyy"&#x…...
Android Studio:Application 和 Activity的区别
Application 和 Activity 是 Android 中非常重要的两个组件,它们分别负责不同的生命周期管理和应用的不同层次的操作。 Application 是应用级别的生命周期管理,它在整个应用运行时只有一个实例,负责应用的全局初始化和资源管理。Activity 是…...
如何优化爬虫以提高搜索效率
在数据采集和网络爬虫领域,优化爬虫性能是提升数据采集效率的关键。随着网页结构的日益复杂和数据量的不断增长,高效的爬虫能够显著降低运行时间和资源成本。本文将详细介绍如何优化爬虫以提高搜索效率,包括选择合适的工具、优化代码逻辑、使…...
git撤销上一次的提交
1、撤销提交 如果需要撤销上一次的提交,只是提交到了本地,可以通过命令: // 撤销最近的提交(保留修改) git reset --soft HEAD~1 这个操作可以保留之前的提交和当前的修改。最近一次的提交到本地的修改的提交会回到…...
LLM学习笔记1——本地部署Meta-Llama-3.2-1B大模型
系列文章目录 参考博客 参考博客 文章目录 系列文章目录前言与调用一、部署要求二、实现步骤0.深度学习环境错误1,验证pytorch版本时提示以下问题:错误2,验证pytorch版本时提示以下问题:错误3,有时候还会提示你有一些…...
Nginx反代Ollama接口跨域、无法逐字输出问题
场景 本地部署deepseek模型,用的Ollama管理,内网穿透到公网,在通过nginx反代ollama接口。 问题描述 跨域问题 nginx转发时请求头中需要加入origin,并且origin还要和ollama接口同源(协议、ip、端口一致)。…...
大学资产管理系统中的下载功能设计与实现
大学资产管理系统是高校信息化建设的重要组成部分,它负责记录和管理学校内所有固定资产的信息。随着信息技术的发展,下载功能成为提高资产管理效率的关键环节之一。 系统架构的设计是实现下载功能的基础。一个良好的系统架构能够确保数据的高效传输和存储…...
股指入门:股指期货是什么意思?在哪里可以做股指期货交易?
股指期货是一种以股票指数为标的物的期货合约,也可以称为股票指数期货或期指。 股指期货是什么意思? 股指期货是一种金融衍生品,其标的资产是股票市场上的股指,例如标普500指数、道琼斯工业平均指数、上证50指数等。 股指期货允…...
< OS 有关 > 利用 google-drive-ocamlfuse 工具,在 Ubuntu 24 系统上 加载 Google DRIVE 网盘
Created by Dave On 8Feb.2025 起因: 想下载 StableDiffusion,清理系统文件时把 i/o 搞到 100%,已经删除到 apt 缓存,还差 89MB,只能另想办法。 在网上找能不能挂在 Google 网盘,百度网盘,或 …...
Golang的引用类型和指针
在Golang中,引用类型和指针是两个容易混淆的概念,但它们有本质的区别。理解它们的区别对于编写高效、正确的Go代码至关重要。 1. 引用类型 引用类型是Go语言中某些内置类型的统称,它们的值在传递时共享底层数据,而不是复制数据。…...
51单片机之冯·诺依曼结构
一、概述 8051系列单片机将作为控制应用最基本的内容集成在一个硅片上,其内部结构如图4-1所示。作为单一芯片的计算机,它的内部结构与一台计算机的主机非常相似。其中微处理器相当于计算机中的CPU,由运算器和控制器两个部分构成;…...
32. C 语言 安全函数( _s 尾缀)
本章目录 前言什么是安全函数?安全函数的特点主要的安全函数1. 字符串操作安全函数2. 格式化输出安全函数3. 内存操作安全函数4. 其他常用安全函数 安全函数实例示例 1:strcpy_s 和 strcat_s示例 2:memcpy_s示例 3:strtok_s 总结 …...
Android T(13) 源码分析 — BufferQueue 的分析
Android T(13) 源码分析 — BufferQueue 的分析 文章目录 Android T(13) 源码分析 — BufferQueue 的分析前言摘要一、Java 层的 BufferQueue 分析二、原生层的 BufferQueue 分析1、BLASTBufferQueue 的创建2、BLASTBufferQueue 的更新3、Surface 的创建 总结 前言 该系列文章…...
Vite+TS项目中配置路径别名
在使用 Vite 和 TypeScript 的项目中配置路径别名,可以简化模块导入路径,提高代码的可读性和维护性。以下是详细的步骤和示例代码: 1. 配置 Vite 别名 前置条件 下载types/node 下面引入的path会用到 npm install types/node --save-dev原…...
看盘细节系列 篇二:集合竞价的9点18分大单打到3%以下或以上,9点19分撤单
文章目录 系列文章现象原因分析时间点含义正常情况测试市场反应诱导跟风操纵股价意图系列文章 看盘细节系列 篇一:集合竞价尾盘突变 现象 集合竞价中 9 点 18 分通过一笔大单或连续几笔大单将股价打到 3% 以下或以上,9 点 19 分又迅速撤单。从而在分时图上留下一根长长的上…...
功能关键词 AI 短剧爆发:Sora、Pixverse、可灵视频重构影视行业(中外模型对比)
c.myliang.cn深耕 AI 内容创作与 SEO 优化多年,聚焦 2026 年百度 SEO/GEO 关键词布局,结合 AI 短剧行业爆发趋势,帮影视从业者快速掌握 Sora、Pixverse、可灵视频等中外模型实操技巧,适配百度算法与行业需求,低成本打造…...
巨有科技智慧市集系统,数字化工具降本增效!
从城市商圈到景区古镇,从乡村田园到文创园区,各类市集遍地开花,但管理难题始终是制约行业发展的最大瓶颈。人工登记杂乱、对账结算繁琐、现场管控滞后、数据完全空白,一场中型市集就要耗费大量人力物力,大型市集更是纠…...
专业级视频对比分析工具:video-compare的技术架构深度解析
专业级视频对比分析工具:video-compare的技术架构深度解析 【免费下载链接】video-compare Split screen video comparison tool using FFmpeg and SDL2 项目地址: https://gitcode.com/gh_mirrors/vi/video-compare 在视频编码质量评估、算法效果验证和媒体…...
别再死记硬背了!用Treap(树堆)搞定LeetCode平衡树难题,附C++完整模板
Treap实战指南:用随机化平衡树高效解决LeetCode难题 1. 为什么选择Treap而非传统平衡树? 在算法竞赛和面试场景中,我们经常需要处理动态有序集合的操作。传统平衡树如AVL和红黑树虽然能保证严格的平衡性,但它们的实现复杂度往往让…...
基于Vue的博物馆智能导览系统[vue]-计算机毕业设计源码+LW文档
摘要:本文介绍了一款基于Vue框架开发的博物馆智能导览系统。系统旨在利用现代Web技术提升参观者在博物馆中的体验,通过提供便捷的博物馆信息查询、个性化的导览路线规划等功能,满足不同用户的需求。本文详细阐述了系统的开发背景、相关技术、…...
7个web.py代码重构技巧:如何快速优化Python Web应用代码结构
7个web.py代码重构技巧:如何快速优化Python Web应用代码结构 【免费下载链接】webpy web.py is a web framework for python that is as simple as it is powerful. 项目地址: https://gitcode.com/gh_mirrors/we/webpy web.py 是一个简单而强大的 Python W…...
终极指南:如何在Chainer中构建强大的循环神经网络(RNN)
终极指南:如何在Chainer中构建强大的循环神经网络(RNN) 【免费下载链接】chainer A flexible framework of neural networks for deep learning 项目地址: https://gitcode.com/gh_mirrors/ch/chainer 想要掌握深度学习中的序列建模吗?Chainer框架…...
智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南
智鼎在线测评通关秘籍:2024最新51job题库实战解析与避坑指南 在竞争激烈的求职市场中,智鼎在线测评已成为众多知名企业筛选人才的第一道门槛。据统计,2024年使用智鼎测评系统的企业数量同比增长35%,而通过率却不足40%。这份指南将…...
AI教材生成法宝!低查重完成教材编写,快来获取高性价比方案!
选择AI教材生成工具,摆脱创作难题 在编写教材的过程中,选择合适的工具真是个让人头疼的问题!如果用办公软件,功能局限,很多格式和框架都需要自己手动调整;而如果试图使用一些专业的AI写教材工具࿰…...
3个高效技巧:深度解析ComfyUI节点管理的实战指南
3个高效技巧:深度解析ComfyUI节点管理的实战指南 【免费下载链接】ComfyUI-Easy-Use In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes. 项目地址: https://gitcode.com/gh_mirrors…...
