news 2026/7/26 2:45:45

探索概率整形技术在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/7/24 21:07:22

Open-AutoGLM电子书下载倒计时:掌握智能代码生成的7个关键技术点

第一章:Open-AutoGLM电子书下载倒计时 距离 Open-AutoGLM 官方电子书开放免费下载仅剩 72 小时。该电子书全面解析了 AutoGLM 架构的设计理念、多模态推理机制以及在自动化任务中的实际部署方案,是掌握下一代生成式智能代理的关键资料。 获取电子书的步…

作者头像 李华
网站建设 2026/7/25 18:52:54

你不知道的Open-AutoGLM隐藏功能(资深专家独家披露)

第一章:你不知道的Open-AutoGLM隐藏功能(资深专家独家披露)Open-AutoGLM 作为新一代开源自动化语言模型框架,其公开文档仅揭示了基础能力。实际上,核心开发团队在底层埋藏了多项未公开的高级特性,这些功能在…

作者头像 李华
网站建设 2026/7/20 21:22:53

Open-AutoGLM天气预警实战(从部署到自动化提醒全流程曝光)

第一章:Open-AutoGLM天气预警提醒 Open-AutoGLM 是一个基于大语言模型的自动化任务处理框架,能够结合外部API实现智能决策与响应。在天气预警提醒场景中,该系统可实时获取气象数据,解析关键信息,并通过消息推送机制向用…

作者头像 李华
网站建设 2026/7/20 13:46:30

Excalidraw AI构建AB测试架构示意图

Excalidraw AI构建AB测试架构示意图 在产品迭代日益依赖数据驱动的今天,如何快速、清晰地表达一个 AB 测试系统的全貌,成了技术团队协作中不可忽视的一环。产品经理需要向工程师讲清楚实验逻辑,架构师要与数据团队对齐埋点方案,而…

作者头像 李华
网站建设 2026/7/22 3:53:16

Open-AutoGLM应用全解析(从零构建个性化资讯平台)

第一章:Open-AutoGLM 新闻资讯聚合Open-AutoGLM 是一个基于开源大语言模型的智能新闻聚合系统,专注于自动化采集、语义分析与个性化推荐。该系统融合了多源数据抓取能力与自然语言理解技术,能够实时整合科技、金融、政策等领域的权威资讯&…

作者头像 李华
网站建设 2026/7/25 2:48:17

Excalidraw AI构建日志监控体系架构图

Excalidraw AI构建日志监控体系架构图 在现代软件系统中,一次线上故障的排查往往不是从日志本身开始,而是从一张清晰的架构图开始。尤其是在微服务与云原生架构盛行的今天,一个典型的日志监控体系可能涉及十几个组件:从应用端的日…

作者头像 李华