本人在编写链路仿真程序时,多次遇到加噪声的问题,由于每次没有做好笔记与总结,导致不断重复性的工作,目前又一次对加噪声方法进行研究,并总结了噪声功率计算原理与方法。下面给出了详细总结。

1、总述:

无线通信系统的基带仿真中,所谓的信噪比一般分为时域信噪比和频域信噪比,时域信噪比即是通常的信号平均功率与噪声平均功率的比值,而频域信噪比一般指的是一个资源单元(RE)的信噪比,即一个子载波的信号功率与一个子载波的噪声功率,这里的频域功率是将一个OFDM符号长度的时域信号进行FFT变换,将得到的频域信号的总功率与nfft的比值就是一个RE的信噪比了。就噪声功率而言,一个OFDM长度里,由于频域点数与时域点数都是nfft,所以一个RE的噪声功率与一个采样点时域噪声功率是相等的,只是意义不同。在对接收信号加噪声时需要根据信号功率与信噪比计算噪声功率。下面是具体的计算方法。

2、基本计算方法

首先描述时域噪声计算方法:假设一段基带信号sig有[N,L] = size(sig),其中N表示时域样本点数,L表示天线数,则时域的信号平均功率为

Ps = sum(abs(sig).^2,'all')/numel(sig),(注意天线数包含在numel(sig)中),(1)

给定时域信噪比SNR_t,则根据N = Ps/SNR_t可得到噪声平均功率,因而噪声信号相应表示为

noise = sqrt(N/2)*complex(randn(N,L),randn(N,L))。(2)

如果已知的是频域信噪比即每个RE的信噪比SNR_f,这时就需要考虑时频域的转换了。首先,频域信号功率的计算时针对一个OFDM符号长度而言,即时域上一个OFDM符号的信号总功率等于频域上所有频点的信号总功率,则依据上面信号假设,另外假设N = nfft,即考虑一个OFDM符号长度,则一个RE的信号功率表示为

Ps_re = sum(abs(sig).^2,'all')/L /nfft,(3)

其中sum(abs(sig).^2,'all')/L 表示一个符号的时域信号功率,即是频域信号总功率,相应地,噪声功率可以表示为

N_re = Ps_re/ SNR_f = sum(abs(sig).^2,'all') /(L * nfft * SNR ),(4)

因为时域样本数与频域点数都是nfft,所以有N = N_re,所以有时域平均功率等于一个RE的噪声功率,所以时域噪声可表示为

noise = sqrt(N/2)*complex(randn(N,L),randn(N,L))。(5)

3、计算方法扩展

上面的计算方法是假设发射机所有子载波全使用时的发射信号功率,即最大发射功率,对应仿真时一个OFDM符号的总信号功率为1,而在实际通信时,一个符号中实际使用的RE数量小于nfft点数,若每个RE信号不被功率抬高(power boost),则实际发射功率是小于1的;另外,考虑到发射的OFDM符号没有发送数据,即信号为零,这时再根据实际离散信号去求信号功率的方法很不可靠。因此,建议根据路损计算接收信号功率,然后推导噪声功率。

特别说明:收发机两端会由于路损影响导致接收信号有衰减,但由于多径效应,除了直达径的已衰减的信号外,还有其他路径带来的信号增益,此外,由于天线不是全向天线或者使用了波束赋形,则在传输方向上又会带来一定的天线增益。

4、以底噪方式加噪声

在多通信链路仿真时,虽然假设发射机发射功率一定, 但是由于信号路径衰减,不同收发机位置得到的接收信号功率是不同的,即每个链路的信噪比应是不同的。这时依据底噪与噪声系数来计算信噪比就是一个非常好用的方法,至于想更改信噪比可通过更改收发机距离来设置。具体地,接收机噪声功率可以用底噪加噪声系数来计算,即

N_db = N_base_db + NF_db,(6)

其中底噪使用比较通用的计算方法,即

N_base_linear = KTW,(7)

其中K=1.38e-23 (J/K)为波尔兹曼常数,T=290K为常温,W为信号带宽。

当W=100MHz,则有

N_base_linear = KTW = 1.38e-23* 290 * 1e8 = 4.0020e-13 W,(8)

相应地,有N_base_db = -123.98 dBW = - 93.98 dBm。

关于NF,在3GPP对链路仿真规定中,有用户NF = 9dB,基站NF=5dB,则基站噪声功率可表示为

N_db = N_base_db + NF_db = - 88.98 dBm,(9)

依据N_linear = 10^(N_dB/10),则计算噪声时有

noise = sqrt(N_linear/2)*complex(randn(N,L),randn(N,L))。(10)

OFDM通信链路仿真加噪声方法总结相关推荐

  1. 基于matlab的OFDM通信链路仿真,输出OFDM频谱,星座图,收发时域波形

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在通信系统中,信道所能提供的带宽通常比传送一路信号所需的带宽要宽得多.如果一个信道只传送一路信号是非 ...

  2. OFDM Matlab 仿真实现(加CP(循环前缀)与基于CP的CFO(频偏)估计)

    OFDM Matlab 仿真实现(加CP(循环前缀).基于CP的CFO(频偏)估计与分析.导频.LS信道估计与分析) 代码仅代表个人理解,如有错误,敬请指正 原理不做赘述,推荐这篇帖子https:// ...

  3. matlab给图像加噪声比较实用的方法---函数imnoise介绍

    近期写论文的时候要用到给图像加噪声,就在网上百度了一下,发现其中的一篇博客写的很好,就转载过来了,这里我主要转载了博主的第三部分imnoise函数.如果需要更详细的内容,请到原博主博客浏览.希望对大家 ...

  4. 初识OFDM(六):从零开始的OFDM误码率仿真

    文章目录 初识OFDM(六):从零开始的OFDM误码率仿真 零.代码地址 一. 加性高斯白噪声对OFDM误码率的影响 1. 代码展示 2. 代码分析 fftshift和ifftshift 能量和信噪比 ...

  5. 有关BPSK、QPSK调制信号的通信链路仿真,以及误码分析

    之前简单叙述了一个随机序列如何使用MATLAB中内置函数进行数字调制,但是距离通信链路级仿真还仅仅是准备阶段,要想感受完整的通信仿真过程还有许多精细的模块需要学习.回顾通信的整个过程,大致分为三个部分 ...

  6. matlab设计倒频系统,OFDM技术仿真(MATLAB代码)

    第一章 绪论 1.1简述 OFDM是一种特殊的多载波传输方案,它可以被看作是一种调制技术,也可以被当作一种复用技术.多载波传输把数据流分解成若干子比特流,这样每个子数据流将具有低得多的比特速率,用这样 ...

  7. (十二)基于Chris老师Cadence514的Bandgap电路设计 第二课:稳定性仿真、噪声仿真、启动仿真、PSRR仿真

    系列文章目录 第一课 :Bandgap工作原理及电路原理 第二课:稳定性仿真.噪声仿真.启动仿真.PSRR仿真 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 ...

  8. Vissim和Matlab联合仿真的实现方法

    Vissim和Matlab联合仿真的实现方法 (以单个十字交叉路口为例) Vissim中的交通流是基于car-following模型.本次实现以Vissim 8.0 学生版为例. 一.建立路段及路段之 ...

  9. 关于音响系统参数测试的主要参数之一: THD+N(总谐波失真加噪声)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/okobul1/article/deta ...

  10. 基于matlab的ofdm系统仿真及性能分析,基于MATLAB的OFDM系统性能仿真

    基于MATLAB的OFDM系统性能仿真(论文15000字) 摘要:本文介绍OFDM系统的基本原理与实现方法,以及移动多径环境下使用OFDM的优势,详细阐述了OFDM系统中符号间干扰ISI.载波间干扰I ...

最新文章

  1. 将object类型参数值传递给ObjectDataSource
  2. Linux C编程--进程间通信(IPC)5--System V IPC 机制3--共享内存
  3. python实现简易版成绩管理系统_Python 实现简易版成绩管理系统!
  4. Problem 5 素数筛法+并查集
  5. 广州.NET俱乐部活动通知(11月17日)
  6. Java中使用Jedis连接池连接Redis数据库流程
  7. 搭建hypervisor类型为VMWare的cloudstack环境
  8. Mysql索引的类型和优缺点
  9. python导入上级目录下文件_python import 上级目录的导入
  10. bzoj5108 [CodePlus2017]可做题 位运算dp+离散
  11. ubuntu 关闭IPv6
  12. MySQL存个人信息可以吗_mysql数据库中,在修改数据时能否保存操作人员的信息,比如姓名或id,如果能,怎么操作。...
  13. java 输入一个数四舍五入_Java程序将数字四舍五入到n个小数位
  14. idea快速创建包快捷键大全_idea快捷键大全
  15. android 真正的全屏沉浸式实现
  16. JSON必备工具之Json Viewer
  17. 知乎收藏数最高的1000个回答
  18. R语言绘制Kaplan-Meier生存曲线
  19. JMM 学习笔记(一) 跨平台的JMM
  20. 第14周C++兄弟营团队学习情况记录表

热门文章

  1. 【git】git+码云上传代码
  2. 鲁宾逊《非标准分析》中译版正式上线
  3. Windows10关闭自动更新
  4. 【愚公系列】2022年10月 微信小程序-电商项目-商品详情页面说明和商品导航
  5. 计算机蓝屏代码0x000000ED,XP系统蓝屏提示错误代码0x000000ED怎么办?
  6. s7scan 安装使用教程
  7. apache服务器的日志文件,apache日志文件在哪
  8. 今日笔记:Envi利用bandmath修改特定dn值
  9. 新浪微博生成超短链接
  10. 中国移动----5G简介