当前位置: 首页 > news >正文

语义通信高斯信道仿真代码

1️⃣ 代码

def AWGN(coding, snr, device='cpu'):"""为输入张量添加高斯白噪声(AWGN),根据指定的 SNR(分贝)控制噪声强度。参数:coding (torch.Tensor): 输入张量,形状为 [batch_size, ...](例如 [batch_size, 128])snr (float): 信噪比(dB)device (str or torch.device): 张量所在的设备返回:coding_noise (torch.Tensor): 添加噪声后的张量,形状与输入相同"""coding_shape = coding.shapecoding_reshape = coding.reshape(coding_shape[0], -1)# 归一化信号功率coding_reshape = torch.sqrt(torch.tensor(coding_reshape.shape[1], dtype=torch.float, device=device)) * \F.normalize(coding_reshape, p=2, dim=1)# 计算信号功率power = torch.mean(coding_reshape **2)# 计算噪声标准差noise_stddev = torch.sqrt(torch.tensor(10** (-snr / 10), dtype=torch.float, device=device)) * power# 生成高斯噪声n = torch.randn_like(coding_reshape, device=device)coding_noise = coding_reshape + n * noise_stddev# 恢复原始形状coding_noise = coding_noise.reshape(coding_shape)return coding_noise

2️⃣ 解释

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/1352035.html

相关文章:

  • GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SQL PATCH
  • Base64编码、AES加密、RSA加密、MD5加密
  • RAG Embeddings 向量数据库
  • 使用Ollama部署自己的本地模型
  • 疯狂星期四文案网第48天运营日记
  • 12 SQL进阶-锁(8.20)
  • Python语法速成课程(二)
  • 科技赋能,宁夏农业绘就塞上新“丰”景
  • 进程的概念:进程调度算法
  • 【GPT入门】第57课 详解 LLamaFactory 与 XTuner 实现大模型多卡分布式训练的方案与实践
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(七) 鼠标在控件上悬浮时的提示
  • linux中文本文件操作之grep命令
  • 【软件设计模式】策略模式
  • MySQL:事务管理
  • Intel RealSense D435 深度相机详解
  • Java 学习笔记(基础篇8)
  • Linux总线设备驱动模型深度理解
  • Vue3 学习教程,从入门到精通,基于 Vue 3 + Element Plus + ECharts + JavaScript的51购商城项目(45)
  • imx6ull-驱动开发篇37——Linux MISC 驱动实验
  • 大模型四种常见安全问题与攻击案例
  • MySQL数据库管理与索引优化全攻略
  • 力扣(全排列)
  • 使用 PSRP 通过 SSH 建立 WinRM 隧道
  • Linux-常用文件IO函数
  • jQuery 知识点复习总览
  • (nice!!!)(LeetCode 面试经典 150 题) 173. 二叉搜索树迭代器 (栈)
  • 55 C++ 现代C++编程艺术4-元编程
  • 数据结构与算法-字符串、数组和广义表(String Array List)
  • 【Tech Arch】Apache Flume海量日志采集的高速公路
  • 解码LLM量化:深入剖析最常见8位与4位核心算法