当前位置: 首页 > 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.dtcms.com/a/347045.html

相关文章:

  • uniapp对接一键登录
  • 【数据结构】布隆过滤器的概率模型详解及其 C 代码实现
  • uniapp 页面跳转及字符串转义
  • uniApp对接实人认证
  • uniapp mixins的使用
  • Java接口响应速度优化
  • Python SystemVerilog (Python SV)
  • mysql没有mvcc之前遇到了什么问题
  • CSS变量
  • k8sday15
  • 【typenum】 24 去除尾部零的特性(private.rs片段)
  • [激光原理与应用-320]:结构设计 - Solidworks - 软件工具UI组织的核心概念
  • 【软件设计模式】策略模式
  • 【MongoDB与MySQL对比】
  • 【React ✨】从零搭建 React 项目:脚手架与工程化实战(2025 版)
  • SpringBoot applicationContext.getBeansOfType获取某一接口所有实现类,应用于策略模式
  • Claude Code快捷键介绍(Claude Code命令、Claude Code指令、Claude Code /命令、Claude命令、Claude指令)
  • GEO优化供应商:AI搜索时代的“答案”构建与移山科技的引领,2025高性价比实战指南
  • LeetCode Hot 100 第二天
  • GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SQL PATCH
  • MSPM0G3507环境搭建
  • 【基础-判断】设计师在设计动效时,点击响应性、运动帧率、跟手性不需要设定,根据不同机型的性能能力系统设定即可
  • 以太坊智能合约地址派生方式:EOA、CREATE 和 CREATE2
  • 水泉村信息化服务小程序的设计与实验
  • kettle从入门到精通 第105课 ETL之kettle 解决api接口无返回页数和记录数的分页问题
  • 1.10 本地模型调用编码实战(一)
  • Flink框架:算子链的介绍
  • 梯度下降(线性回归为例)
  • 深度学习入门:神经网络
  • 【KO】前端面试题六