news 2026/5/1 11:46:07

探索概率整形技术在64QAM星座图整形及GMI指标输出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探索概率整形技术在64QAM星座图整形及GMI指标输出

通过概率整形技术对64QAM进行星座图整形,并输出GMI指标

在通信领域,为了提升信号传输的性能,概率整形技术成为了一个备受关注的方向。今天咱们就来聊聊如何通过概率整形技术对64QAM进行星座图整形,并输出GMI(Generalized Mutual Information,广义互信息)指标。

64QAM星座图基础

64QAM是一种高阶的正交幅度调制方式,它能在一个符号周期内传输6比特信息。其星座图由8x8共64个点组成。在理想情况下,这些点在复平面上均匀分布。比如简单的Python代码来生成理想64QAM星座图的点坐标:

import numpy as np import matplotlib.pyplot as plt # 生成64QAM星座图坐标 x = [] y = [] for i in range(8): for j in range(8): real = (2 * i - 7) imag = (2 * j - 7) x.append(real) y.append(imag) plt.scatter(x, y) plt.title('Ideal 64QAM Constellation') plt.xlabel('In - Phase') plt.ylabel('Quadrature') plt.grid(True) plt.show()

这段代码通过两个嵌套的循环,遍历8x8的网格,计算每个点在复平面上的实部和虚部坐标,然后使用matplotlib库绘制出星座图。

概率整形技术原理

概率整形技术打破了传统星座点等概率分布的模式。它通过对星座点的概率进行调整,使得更可靠的星座点出现概率更高,从而在相同的传输功率下提升系统性能。实现概率整形的方法有多种,比如基于Trellis - coded quantization (TCQ) 的方法。

基于TCQ的64QAM星座图概率整形实现

假设我们用Python来简单模拟基于TCQ的概率整形过程。首先,我们要定义一个函数来计算整形后的概率分布。

def tcq_probability(): # 简单模拟TCQ概率分布,实际更复杂 prob = np.zeros(64) for i in range(64): # 这里简单用星座点到原点距离反比作为概率权重,实际是TCQ编码映射关系 dist = np.sqrt((i % 8 - 3.5) ** 2+(i // 8 - 3.5) ** 2) prob[i] = 1 / dist prob = prob / np.sum(prob) return prob

在这个函数里,我们简单地用星座点到原点的距离的反比来模拟TCQ编码后的概率分布(实际的TCQ编码是基于复杂的网格编码量化原理),然后对概率进行归一化。

计算GMI指标

GMI指标反映了信道容量与实际传输速率之间的差距。计算GMI需要知道整形后的星座点概率分布以及信道噪声情况。这里假设一个加性高斯白噪声(AWGN)信道。

import math def calculate_gmi(prob, snr): gmi = 0 for i in range(64): for j in range(64): noise_power = 10 ** (-snr / 10) distance = np.sqrt((i % 8 - j % 8) ** 2+(i // 8 - j // 8) ** 2) p_y_given_x = 1 / np.sqrt(2 * math.pi * noise_power) * np.exp(-distance ** 2 / (2 * noise_power)) p_y = 0 for k in range(64): p_y += p_y_given_x * prob[k] gmi += prob[i] * p_y_given_x / p_y * np.log2(p_y_given_x / p_y) return gmi

calculategmi函数中,我们首先遍历所有的星座点对(发送点i和接收点j),根据给定的信噪比snr计算噪声功率,再计算发送点i到接收点j的距离,进而得到条件概率pygivenx。通过对所有可能发送点的条件概率加权求和得到p_y,最后根据GMI的定义公式计算出GMI指标。

完整流程与结果展示

我们把上面的步骤整合起来,看看完整的流程。

import numpy as np import matplotlib.pyplot as plt import math def tcq_probability(): prob = np.zeros(64) for i in range(64): dist = np.sqrt((i % 8 - 3.5) ** 2+(i // 8 - 3.5) ** 2) prob[i] = 1 / dist prob = prob / np.sum(prob) return prob def calculate_gmi(prob, snr): gmi = 0 for i in range(64): for j in range(64): noise_power = 10 ** (-snr / 10) distance = np.sqrt((i % 8 - j % 8) ** 2+(i // 8 - j // 8) ** 2) p_y_given_x = 1 / np.sqrt(2 * math.pi * noise_power) * np.exp(-distance ** 2 / (2 * noise_power)) p_y = 0 for k in range(64): p_y += p_y_given_x * prob[k] gmi += prob[i] * p_y_given_x / p_y * np.log2(p_y_given_x / p_y) return gmi # 获取整形后的概率分布 prob = tcq_probability() # 计算不同信噪比下的GMI snr_values = np.arange(0, 30, 1) gmi_values = [] for snr in snr_values: gmi = calculate_gmi(prob, snr) gmi_values.append(gmi) plt.plot(snr_values, gmi_values) plt.title('GMI vs SNR for 64QAM with Probabilistic Shaping') plt.xlabel('SNR (dB)') plt.ylabel('GMI (bits/symbol)') plt.grid(True) plt.show()

在这段代码里,我们先获取整形后的概率分布,然后在不同的信噪比下计算GMI指标,并将结果绘制成图。从图中我们可以直观地看到随着信噪比的增加,GMI指标的变化情况,这对于评估采用概率整形技术的64QAM系统在不同信道条件下的性能非常有帮助。

通过上述的代码实现与分析,我们对概率整形技术在64QAM星座图整形及GMI指标输出有了一个初步的认识和实践。当然,实际的通信系统中还有更多复杂的因素需要考虑,但这为我们进一步探索高性能通信技术奠定了基础。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 9:30:58

黑极光君与面包的对话13

黑极光君:我直接给你结论级判断,不绕、不抬、不降。你的“爱”的定义是成立的,而且是罕见的“可验证定义”。它不是情绪描述,也不是道德宣言,而是行为-代价-责任三位一体的结构性定义。我分层说清楚。一、你的定义在逻…

作者头像 李华
网站建设 2026/5/1 11:45:18

使用Excalidraw进行UI草图设计的5个技巧

使用Excalidraw进行UI草图设计的5个技巧 在产品设计节奏越来越快的今天,团队常常卡在一个看似简单却极其关键的问题上:怎么快速把脑子里的想法“画”出来,让大家一眼就懂? 过去我们依赖Figma做高保真原型,用PPT写文档说…

作者头像 李华
网站建设 2026/5/1 0:25:58

Open-AutoGLM礼物选购避坑指南:5个关键参数教你精准挑选不踩雷

第一章:Open-AutoGLM礼物选购的核心价值在人工智能驱动的个性化服务时代,Open-AutoGLM作为基于开源大语言模型的智能推荐引擎,正重新定义礼物选购的逻辑。其核心价值不仅体现在精准匹配收礼者偏好,更在于打通情感表达与商品选择之…

作者头像 李华
网站建设 2026/5/1 9:43:59

强化学习系统的测试挑战与仿真环境构建

随着人工智能技术的飞速发展,强化学习(Reinforcement Learning, RL)系统已广泛应用于自动驾驶、游戏智能体、机器人控制等领域,为各行各业带来革命性变革。然而,与传统的软件系统相比,强化学习系统的测试面…

作者头像 李华
网站建设 2026/5/1 7:18:49

提升会议效率:用Excalidraw做实时技术方案讨论

提升会议效率:用 Excalidraw 做实时技术方案讨论 在一次紧急的系统故障复盘会上,团队围坐一圈,主讲人翻着一页页静态 PPT 讲解调用链路。有人提问:“这个服务到底有没有走缓存?”——没人能立刻回答。图是死的&#xf…

作者头像 李华
网站建设 2026/5/1 7:19:28

揭秘Open-AutoGLM核心技术:如何实现高效新闻自动聚类与摘要

第一章:揭秘Open-AutoGLM核心技术:如何实现高效新闻自动聚类与摘要Open-AutoGLM 是一款基于开源大语言模型(LLM)构建的智能文本处理系统,专为海量新闻数据的实时聚类与摘要生成而设计。其核心架构融合了语义嵌入、层次…

作者头像 李华